From 2e67c75433ed41fa7a791be0e85f526fb9984d66 Mon Sep 17 00:00:00 2001 From: Alex Ebadirad Date: Wed, 19 Dec 2018 16:54:13 -0500 Subject: [PATCH 001/157] Bring develop up to date (#1701) * Changelog update * Update version numbers in code * Update version number in properties files * 4.0.2 example changes * gradle-tasks-demo Readme update * Create priv directories under the security directors to make more clear, equals ignore case on jobs just incase someone has a lower-case version of it (#1499) (#1501) * 4.0.2 reference changes * Updating version to be 4.0.2 * Updating version to be 4.0.2 * Updating version to be 4.0.2 * Updating version to be 4.0.2 * updating for 4.0.2 * Update CHANGELOG.md Fix format * 4.0.3 example changes * Update change log with 4.0.2 and 4.0.3 issues * Updating version to be 4.0.3 * Updating version to be 4.0.3 * Updating version to be 4.0.3 * Updating version to be 4.0.3 * Correcting version update for performance example * Changed version to 4.1.0 * Notices.txt and changelog.md updates * New legal notice * Update CHANGELOG.md --- CHANGELOG.md | 40 ++ NOTICES.txt | 349 +++++++++++------- gradle.properties | 2 +- marklogic-data-hub/gradle.properties | 2 +- .../com/marklogic/hub/impl/HubConfigImpl.java | 2 +- .../main/resources/scaffolding/build_gradle | 4 +- ml-data-hub-plugin/gradle.properties | 2 +- quick-start/gradle.properties | 2 +- 8 files changed, 256 insertions(+), 147 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac8eae4cc3..60e8ed50ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # Change Log +## [v4.1.0](https://github.com/marklogic/marklogic-data-hub/releases/tag/4.1.0) (2018-12-19) + +Bug + + [DHFPROD-1193] - #1261 ⁃ "gradle createEntity" does not create an entity descriptor file + [DHFPROD-1263] - DataHub.runPreInstallCheck() returning incorrect results + [DHFPROD-1304] - mlDeploySecurity is not deploying protected-paths and query-rolesets + [DHFPROD-1328] - Able to create duplicate flow (input or harmonize) + [DHFPROD-1400] - Gradle Tasks using incorrect datahub.isInstalled() check to verify DHF installation + [DHFPROD-1433] - QuickStart entity editor: too many properties, buttons are hidden + [DHFPROD-1557] - Memory leak on gradle runFlow + [DHFPROD-1561] - DataHub installation fails + [DHFPROD-1576] - ./gradlew build fails with no user provided error + [DHFPROD-1592] - hubUpdate should work even when the project fails an initialization check + [DHFPROD-1595] - mlDeploy fails post hubUpdate in 4.1-rc1 DHF version + [DHFPROD-1601] - Deploy fails when mlModulePermissions does not exist in gradle.properties + [DHFPROD-1605] - mlDeploy fails when an amp exists under src/main/ml-config + [DHFPROD-1608] - QuickStart 4.1.0-rc fails to display flows + [DHFPROD-1615] - Upgrade issues in DHF with versions 4.0.x + [DHFPROD-1617] - Update documentation for 4.1.0 + [DHFPROD-1636] - hubGeneratePii task is failing + [DHFPROD-1637] - Docs: "Independent STAGING and FINAL App Server Stacks Stacks" link redirection error + [DHFPROD-1640] - Triggers config from hub-internal-config is making post request to data-hub-final-TRIGGERS database + [DHFPROD-1645] - 4.1.0 'mlUpdateIndexes' command is giving error with in provisioned environment + [DHFPROD-1646] - Deployment fails with non default hub admin role and user + + +Story + + [DHFPROD-1338] - Create spring application context and make properties file a singleton configuration + [DHFPROD-1339] - Rework application architecture to use Spring IoC + [DHFPROD-1422] - Clarify through the QuickStart UI the origin of the source URI field in the Mapping Screen + [DHFPROD-1436] - Upgrade to Java 10 and OpenJDK + [DHFPROD-1518] - Design the ml-gradle solution + [DHFPROD-1519] - Separation of DHF override code from vanilla ml-gradle tasks + [DHFPROD-1524] - Stitch together quick-start Spring Context with core . + [DHFPROD-1554] - Release Notes and Upgrade guidance for 4.1 + + + ## [v4.0.3](https://github.com/marklogic/marklogic-data-hub/tree/v4.0.3) (2018-11-19) Bug diff --git a/NOTICES.txt b/NOTICES.txt index 0308715bfe..f87cff807a 100755 --- a/NOTICES.txt +++ b/NOTICES.txt @@ -1,8 +1,8 @@ -MarkLogic Data Hub Product Notices +MarkLogic Data Hub Product Notices -Last updated: September 14, 2018 +Last updated: November 26, 2018 -Copyright 2018 MarkLogic Corporation. MarkLogic and the MarkLogic logo are trademarks or registered trademarks of MarkLogic Corporation in the United States and other countries. All other trademarks are the property of their respective owners. +Copyright © 2018 MarkLogic Corporation. MarkLogic and the MarkLogic logo are trademarks or registered trademarks of MarkLogic Corporation in the United States and other countries. All other trademarks are the property of their respective owners. This project is licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at @@ -20,6 +20,7 @@ Open source software required to be made available under license is included her The following software may be included in this project: @angular-mdl/core 4.0.8 + Attribution Statements http://mseemann.io/angular2-mdl/ @@ -50,7 +51,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/mseemann/angular2-mdl + @angular-mdl/popover 0.10.0 + Attribution Statements https://www.npmjs.com/package/@angular-mdl/popover @@ -81,7 +84,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/mseemann/angular2-mdl-ext + @angular-mdl/select 0.13.0 + Attribution Statements https://www.npmjs.com/package/@angular-mdl/select @@ -112,7 +117,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/mseemann/angular2-mdl-ext + Angular 4.4.6 + Attribution Statements https://angular.io/ @@ -143,7 +150,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/angular/angular + Angular DevKit 0.0.22 + Attribution Statements https://www.npmjs.com/package/@angular-devkit/build-optimizer @@ -174,11 +183,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/angular/devkit -Apache Commons CSV 1.4 + +Apache Commons CSV™ 1.4 + Attribution Statements http://commons.apache.org/proper/commons-csv/ -Modifications copyright 2017 MarkLogic Corporation. +Modifications copyright © 2017 MarkLogic Corporation. September 2017 MarkLogic modified the parser to include the byte count of the original data read. Copyright Statements @@ -188,7 +199,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/apache/commons-csv -Apache Commons IO 2.4 + +Apache Commons IO™ 2.4 + Attribution Statements http://commons.apache.org/proper/commons-io/ @@ -199,7 +212,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://git-wip-us.apache.org/repos/asf?p=commons-io.git -Apache Commons Text 1.1 + +Apache Commons Text™ 1.1 + Attribution Statements http://commons.apache.org/proper/commons-text/ @@ -213,7 +228,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache Licnese 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/apache/commons-text -Apache HttpComponents HttpClient 4.5.3 + +Apache HttpComponents™ HttpClient 4.3.5 + Attribution Statements https://hc.apache.org/httpcomponents-client-ga/index.html @@ -224,23 +241,27 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/apache/httpcomponents-client + AspectJ 1.8.9 + Attribution Statements https://www.eclipse.org/aspectj/ Copyright Statements -Copyright 2018 The Eclipse Foundation. All Rights Reserved. +Copyright © 2018 The Eclipse Foundation. All Rights Reserved. License Text (https://spdx.org/licenses/EPL-1.0.html) Made available under the Eclipse Public License 1.0. See Appendix for full text. Source materials are available for download at: http://git.eclipse.org/c/aspectj/org.aspectj.git + Azure Resource Manager + Attribution Statements https://azure.microsoft.com/en-us/features/resource-manager/ Copyright Statements - 2017 Microsoft +© 2017 Microsoft License Text (https://azure.microsoft.com/en-us/support/legal/) https://azure.microsoft.com/en-us/support/legal/ @@ -249,6 +270,7 @@ https://azure.microsoft.com/en-us/support/legal/marketplace-terms/ https://azure.microsoft.com/en-us/support/legal/preview-supplemental-terms/ CentOS (for Microsoft Azure Linux Agent) 7.3 + Attribution Statements https://azuremarketplace.microsoft.com/en-us/marketplace/apps/RogueWave.CentOSbased73?tab=Overview @@ -293,7 +315,7 @@ You will be billed by Windows Azure under the terms of the Windows Azure Custome 4.1. Intellectual Property Rights. Intellectual property rights includes, without limitation, all copyrights, trademarks, service marks, trade secrets, patents, moral rights, and any and all other legal rights protecting intangible proprietary information ("IPR"). All pre-existing intellectual property rights owned or licensed by either party are and will remain the exclusive property of that party. - 4.2. License. During the term of this Agreement, you may choose to provide OpenLogic with access to Your IPR to facilitate OpenLogic in providing the Services, in which case you grant to OpenLogic all rights and licenses in and to the Your Technology as may be necessary for OpenLogic to complete its obligations under this Agreement. It should be noted that OpenLogic does not have access to Your Technology deployed on Windows Azure unless you choose to give OpenLogic access as part of providing the Services. OpenLogic hereby grants to you a non-exclusive, non-transferable, worldwide license to use, reproduce, and modify any OpenLogic IPR provided to you during the course of performing the Services for your own internal business purposes. To the extent any deliverable hereunder is a derivative work, modification, patch, or script of or directly relating to an open source software project (each an Open Source Deliverable), OpenLogic will license such Open Source Deliverable under the same open source software license as the open source project to which it relates. + 4.2. License. During the term of this Agreement, you may choose to provide OpenLogic with access to Your IPR to facilitate OpenLogic in providing the Services, in which case you grant to OpenLogic all rights and licenses in and to the Your Technology as may be necessary for OpenLogic to complete its obligations under this Agreement. It should be noted that OpenLogic does not have access to Your Technology deployed on Windows Azure unless you choose to give OpenLogic access as part of providing the Services. OpenLogic hereby grants to you a non-exclusive, non-transferable, worldwide license to use, reproduce, and modify any OpenLogic IPR provided to you during the course of performing the Services for your own internal business purposes. To the extent any deliverable hereunder is a derivative work, modification, patch, or script of or directly relating to an open source software project (each an “Open Source Deliverable”), OpenLogic will license such Open Source Deliverable under the same open source software license as the open source project to which it relates. 4.3. OSS Stacks License. The OSS Stacks are comprised of open source software, which is subject to the terms of the open source software license(s) accompanying or otherwise applicable to that open source software. Any other code created and supplied directly by OpenLogic is governed by the MIT License. The terms of the open source software licenses apply to the open source software independent of the terms of the MIT License or this agreement. Nothing in this agreement limits your rights under or grants rights to you that supersede the terms of any applicable open source software license. @@ -307,9 +329,9 @@ In the course of OpenLogic providing you with technical support, you may provide 6. Warranties. - 6.1. General. Each party represents and warrants to the other party that: the performance of such partys obligations hereunder do not and will not violate any law, rule or regulation applicable to such party. + 6.1. General. Each party represents and warrants to the other party that: the performance of such party’s obligations hereunder do not and will not violate any law, rule or regulation applicable to such party. - 6.2. OpenLogic. OpenLogic will perform all Services as stated under this Agreement. If OpenLogic fails to comply with the previous sentence, OpenLogic will, at its sole discretion and as Clients sole remedy and OpenLogics sole obligation for any such failure: (a) re-perform the Services in a manner that resolves the alleged failure; or (b) refund any Fees paid by Client attributable to the Services that are the subject of the failure. + 6.2. OpenLogic. OpenLogic will perform all Services as stated under this Agreement. If OpenLogic fails to comply with the previous sentence, OpenLogic will, at its sole discretion and as Client’s sole remedy and OpenLogic’s sole obligation for any such failure: (a) re-perform the Services in a manner that resolves the alleged failure; or (b) refund any Fees paid by Client attributable to the Services that are the subject of the failure. 7. Disclaimer @@ -321,11 +343,11 @@ OPENLOGIC WILL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENT 9. Confidential Information. - 9.1. Confidential Information. For purposes of this Agreement, Confidential Information means any data or information regarding the business, finances, services or technology of either party provided to or otherwise obtained by the other party, including, without limitation, technical, marketing, financial, pricing, employee, and planning information, and any other data or information received or otherwise obtained under this Agreement that a reasonable person should have known, under the circumstances, was confidential or proprietary. + 9.1. Confidential Information. For purposes of this Agreement, “Confidential Information” means any data or information regarding the business, finances, services or technology of either party provided to or otherwise obtained by the other party, including, without limitation, technical, marketing, financial, pricing, employee, and planning information, and any other data or information received or otherwise obtained under this Agreement that a reasonable person should have known, under the circumstances, was confidential or proprietary. - 9.2. Protection. Each party (the Receiving Party) may from time to time receive or otherwise obtain Confidential Information from the other party (the Disclosing Party). The Receiving Party will not use any Confidential Information of the Disclosing Party for any purpose not expressly permitted by this Agreement, and will disclose the Confidential Information of the Disclosing Party only to the employees or contractors of the Receiving Party who have a need to know such Confidential Information for purposes of this Agreement and who are under a duty of confidentiality no less restrictive than the Receiving Partys duty hereunder. The Receiving Party will protect the Disclosing Partys Confidential Information in the same manner as the Receiving Party protects its own confidential information of a similar nature and with no less than reasonable care. + 9.2. Protection. Each party (the “Receiving Party”) may from time to time receive or otherwise obtain Confidential Information from the other party (the “Disclosing Party”). The Receiving Party will not use any Confidential Information of the Disclosing Party for any purpose not expressly permitted by this Agreement, and will disclose the Confidential Information of the Disclosing Party only to the employees or contractors of the Receiving Party who have a need to know such Confidential Information for purposes of this Agreement and who are under a duty of confidentiality no less restrictive than the Receiving Party’s duty hereunder. The Receiving Party will protect the Disclosing Party’s Confidential Information in the same manner as the Receiving Party protects its own confidential information of a similar nature and with no less than reasonable care. - 9.3. Exceptions. The Receiving Partys obligations with respect to any Confidential Information of the Disclosing Party will terminate if such information: (a) was already lawfully known to the Receiving Party as of the Effective Date; (b) is disclosed to the Receiving Party after the Effective Date by a third party who had the right to make such disclosure without any confidentiality restrictions; (c) is, or through no fault of the Receiving Party becomes, generally available to the public; or (d) is independently developed by the Receiving Party without access to, use of, or reference to, the Disclosing Partys Confidential Information. In addition, the Receiving Party will be allowed to disclose Confidential Information of the Disclosing Party to the extent that such disclosure is: (i) necessary for the Receiving Party to enforce its rights under this Agreement in connection with a legal proceeding; or (ii) required by law or by the order of a court of similar judicial, regulatory or administrative body, provided that the Receiving Party notifies the Disclosing Party in advance of such required disclosure promptly and in writing and cooperates with the Disclosing Party, at the Disclosing Partys reasonable request and expense, in any lawful action to contest or limit the scope of such required disclosure. + 9.3. Exceptions. The Receiving Party’s obligations with respect to any Confidential Information of the Disclosing Party will terminate if such information: (a) was already lawfully known to the Receiving Party as of the Effective Date; (b) is disclosed to the Receiving Party after the Effective Date by a third party who had the right to make such disclosure without any confidentiality restrictions; (c) is, or through no fault of the Receiving Party becomes, generally available to the public; or (d) is independently developed by the Receiving Party without access to, use of, or reference to, the Disclosing Party’s Confidential Information. In addition, the Receiving Party will be allowed to disclose Confidential Information of the Disclosing Party to the extent that such disclosure is: (i) necessary for the Receiving Party to enforce its rights under this Agreement in connection with a legal proceeding; or (ii) required by law or by the order of a court of similar judicial, regulatory or administrative body, provided that the Receiving Party notifies the Disclosing Party in advance of such required disclosure promptly and in writing and cooperates with the Disclosing Party, at the Disclosing Party’s reasonable request and expense, in any lawful action to contest or limit the scope of such required disclosure. 10. General @@ -346,7 +368,9 @@ OPENLOGIC WILL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENT -- Last updated 5 June 2012. Source materials are available for download at: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/RogueWave.CentOSbased73?tab=Overview + classList.js 1.1.20150312 + Attribution Statements https://www.npmjs.com/package/classlist.js @@ -365,25 +389,29 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI For more information, please refer to http://unlicense.org/ Source materials are available for download at: https://github.com/eligrey/classList.js + clipboard.js 1.7.1 + Attribution Statements https://clipboardjs.com/ Copyright Statements -Copyright 2018 Zeno Rocha +Copyright © 2018 Zeno Rocha License Text (http://spdx.org/licenses/MIT) The MIT License (MIT) -Copyright 2018 Zeno Rocha +Copyright © 2018 Zeno Rocha -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/zenorocha/clipboard.js/ + CodeMirror 5.30.0 + Attribution Statements http://codemirror.net/ @@ -414,36 +442,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/codemirror/codemirror -core-js 2.4.1 -Attribution Statements -https://github.com/zloirock/core-js - -Copyright Statements -Copyright (c) 2014-2016 Denis Pushkarev - -License Text (http://spdx.org/licenses/MIT) -Copyright (c) 2014-2016 Denis Pushkarev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +core-js 2.4.1 -Source materials are available for download at: https://github.com/zloirock/core-js -core-js 2.5.1 Attribution Statements https://github.com/zloirock/core-js @@ -472,37 +473,43 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/zloirock/core-js + date-fns 1.29.0 + Attribution Statements https://date-fns.org Copyright Statements -Copyright 2018 Sasha Koss +Copyright © 2018 Sasha Koss License Text (http://spdx.org/licenses/MIT) The MIT License (MIT) -Copyright 2018 Sasha Koss +Copyright © 2018 Sasha Koss -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/date-fns/date-fns + Document Object Model (org.w3.dom) + Attribution Statements https://www.w3.org/DOM/ Copyright Statements -Copyright 1997-2005 W3C +Copyright © 1997-2005 W3C® License Text (https://spdx.org/licenses/W3C-20150513.html) Made available under the W3C Software and Document Notice and License (2015-05-13). See Appendix for full text. Source materials are available for download at: https://www.w3.org/DOM/Activity + Font Awesome 4.7.0 + Attribution Statements http://fontawesome.io @@ -513,7 +520,9 @@ License Text (http://spdx.org/licenses/OFL-1.1.html) Made available under the SIL Open Font License 1.1. See Appendix for license text. Source materials are available for download at: https://github.com/FortAwesome/Font-Awesome + Gradle 3.4 + Attribution Statements https://gradle.org/ @@ -777,13 +786,15 @@ JCIFS License Version 2.1, February 1999 Copyright Statements - Gradle Inc. 2017 +© Gradle Inc. 2017 License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://services.gradle.org/distributions/gradle-3.4-bin.zip + Gradle Bintray Plugin 1.7.2 + Attribution Statements https://plugins.gradle.org/plugin/com.jfrog.bintray/1.7.2 @@ -794,7 +805,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/bintray/gradle-bintray-plugin + Gradle Plugin for Node 1.1.1 + Attribution Statements https://plugins.gradle.org/plugin/com.moowork.node/1.1.1 @@ -805,7 +818,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/srs/gradle-node-plugin + Gradle Properties Plugin 1.4.6 + Attribution Statements https://plugins.gradle.org/plugin/net.saliman.properties @@ -816,7 +831,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/stevesaliman/gradle-properties-plugin + H2 Database Engine 1.4.193 + Attribution Statements http://www.h2database.com/html/main.html @@ -827,18 +844,22 @@ License Text (http://spdx.org/licenses/EPL-1.0) Made available under the Eclipse Public License 1.0. See Appendix for full text. Source materials are available for download at: https://github.com/h2database/h2database -Jackson Databind 2.9.4 + +Jackson Databind 2.9.7 + Attribution Statements http://wiki.fasterxml.com/JacksonHome Copyright Statements -Copyright 2009 FasterXML, LLC +Copyright ©2009 FasterXML, LLC License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/FasterXML/jackson-databind + Java SE Runtime Environment (JRE) 7 + Attribution Statements http://docs.oracle.com/javase/ @@ -1131,7 +1152,7 @@ Oracle Binary Code License Agreement for the Java SE Platform Products and JavaF ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED. -1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers; and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. Commercial Features means those features identified in Table 1-1 (Commercial Features In Java SE Product Editions) of the Java SE documentation accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. README File means the README file for the Software accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. +1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers; and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. “Commercial Features” means those features identified in Table 1-1 (Commercial Features In Java SE Product Editions) of the Java SE documentation accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. “README File” means the README file for the Software accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. 2. LICENSE TO USE. Subject to the terms and conditions of this Agreement including, but not limited to, the Java Technology Restrictions of the Supplemental License Terms, Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs. THE LICENSE SET FORTH IN THIS SECTION 2 DOES NOT EXTEND TO THE COMMERCIAL FEATURES. YOUR RIGHTS AND OBLIGATIONS RELATED TO THE COMMERCIAL FEATURES ARE AS SET FORTH IN THE SUPPLEMENTAL TERMS ALONG WITH ADDITIONAL LICENSES FOR DEVELOPERS AND PUBLISHERS. @@ -1171,15 +1192,15 @@ C. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions of this A D. LICENSE TO DISTRIBUTE REDISTRIBUTABLES. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including but not limited to the Java Technology Restrictions and Limitations on Redistribution of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the README File ("Redistributables") provided that: (i) you distribute the Redistributables complete and unmodified, and only bundled as part of Programs, (ii) the Programs add significant and primary functionality to the Redistributables, (iii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README File), (iv) you do not remove or alter any proprietary legends or notices contained in or on the Redistributables, (v) you only distribute the Redistributables pursuant to a license agreement that: (a) is a complete, unmodified reproduction of this Agreement; or (b) protects Oracle's interests consistent with the terms contained in the Agreement and includes the notice set forth in Section H, (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section D does not extend to the Software identified in Section G. -E. DISTRIBUTION BY PUBLISHERS. This section pertains to your distribution of the JavaTM SE Development Kit Software (JDK) with your printed book or magazine (as those terms are commonly used in the industry) relating to Java technology ("Publication"). Subject to and conditioned upon your compliance with the restrictions and obligations contained in the Agreement, Oracle hereby grants to you a non-exclusive, nontransferable limited right to reproduce complete and unmodified copies of the JDK on electronic media (the "Media") for the sole purpose of inclusion and distribution with your Publication(s), subject to the following terms: (i) You may not distribute the JDK on a stand-alone basis; it must be distributed with your Publication(s); (ii) You are responsible for downloading the JDK from the applicable Oracle web site; (iii) You must refer to the JDK as JavaTM SE Development Kit; (iv) The JDK must be reproduced in its entirety and without any modification whatsoever (including with respect to all proprietary notices) and distributed with your Publication subject to a license agreement that is a complete, unmodified reproduction of this Agreement; (v) The Media label shall include the following information: Copyright [YEAR], Oracle America, Inc. All rights reserved. Use is subject to license terms. ORACLE and JAVA trademarks and all ORACLE- and JAVA-related trademarks, service marks, logos and other brand designations are trademarks or registered trademarks of Oracle in the U.S. and other countries. [YEAR] is the year of Oracle's release of the Software; the year information can typically be found in the Softwares About box or screen. This information must be placed on the Media label in such a manner as to only apply to the JDK; (vi) You must clearly identify the JDK as Oracle's product on the Media holder or Media label, and you may not state or imply that Oracle is responsible for any third-party software contained on the Media; (vii) You may not include any third party software on the Media which is intended to be a replacement or substitute for the JDK; (viii) You agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of the JDK and/or the Publication; ; and (ix) You shall provide Oracle with a written notice for each Publication; such notice shall include the following information: (1) title of Publication, (2) author(s), (3) date of Publication, and (4) ISBN or ISSN numbers. Such notice shall be sent to Oracle America, Inc., 500 Oracle Parkway, Redwood Shores, California 94065 U.S.A , Attention: General Counsel. +E. DISTRIBUTION BY PUBLISHERS. This section pertains to your distribution of the JavaTM SE Development Kit Software (“JDK”) with your printed book or magazine (as those terms are commonly used in the industry) relating to Java technology ("Publication"). Subject to and conditioned upon your compliance with the restrictions and obligations contained in the Agreement, Oracle hereby grants to you a non-exclusive, nontransferable limited right to reproduce complete and unmodified copies of the JDK on electronic media (the "Media") for the sole purpose of inclusion and distribution with your Publication(s), subject to the following terms: (i) You may not distribute the JDK on a stand-alone basis; it must be distributed with your Publication(s); (ii) You are responsible for downloading the JDK from the applicable Oracle web site; (iii) You must refer to the JDK as JavaTM SE Development Kit; (iv) The JDK must be reproduced in its entirety and without any modification whatsoever (including with respect to all proprietary notices) and distributed with your Publication subject to a license agreement that is a complete, unmodified reproduction of this Agreement; (v) The Media label shall include the following information: “Copyright [YEAR], Oracle America, Inc. All rights reserved. Use is subject to license terms. ORACLE and JAVA trademarks and all ORACLE- and JAVA-related trademarks, service marks, logos and other brand designations are trademarks or registered trademarks of Oracle in the U.S. and other countries.” [YEAR] is the year of Oracle's release of the Software; the year information can typically be found in the Software’s “About” box or screen. This information must be placed on the Media label in such a manner as to only apply to the JDK; (vi) You must clearly identify the JDK as Oracle's product on the Media holder or Media label, and you may not state or imply that Oracle is responsible for any third-party software contained on the Media; (vii) You may not include any third party software on the Media which is intended to be a replacement or substitute for the JDK; (viii) You agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of the JDK and/or the Publication; ; and (ix) You shall provide Oracle with a written notice for each Publication; such notice shall include the following information: (1) title of Publication, (2) author(s), (3) date of Publication, and (4) ISBN or ISSN numbers. Such notice shall be sent to Oracle America, Inc., 500 Oracle Parkway, Redwood Shores, California 94065 U.S.A , Attention: General Counsel. -F. JAVA TECHNOLOGY RESTRICTIONS. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun", oracle or similar convention as specified by Oracle in any naming convention designation. +F. JAVA TECHNOLOGY RESTRICTIONS. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun", “oracle” or similar convention as specified by Oracle in any naming convention designation. G. LIMITATIONS ON REDISTRIBUTION. You may not redistribute or otherwise transfer patches, bug fixes or updates made available by Oracle through Oracle Premier Support, including those made available under Oracle's Java SE Support program. H. COMMERCIAL FEATURES NOTICE. For purpose of complying with Supplemental Term Section C.(v)(b) and D.(v)(b), your license agreement shall include the following notice, where the notice is displayed in a manner that anyone using the Software will see the notice: -Use of the Commercial Features for any commercial or production purpose requires a separate license from Oracle. Commercial Features means those features identified Table 1-1 (Commercial Features In Java SE Product Editions) of the Java SE documentation accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html +Use of the Commercial Features for any commercial or production purpose requires a separate license from Oracle. “Commercial Features” means those features identified Table 1-1 (Commercial Features In Java SE Product Editions) of the Java SE documentation accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html @@ -1198,7 +1219,9 @@ Redwood Shores, California 94065, USA. Last updated 02 April 2013 Source materials are available for download at: http://www.oracle.com/technetwork/indexes/downloads/index.html + Jersey 1.9 + Attribution Statements https://jersey.java.net/ @@ -1261,7 +1284,9 @@ License Text (http://www.spdx.org/licenses/CDDL-1.1.html) Made available under the Common Development and Distribution License 1.1. See Appendix for full text. Source materials are available for download at: https://github.com/jersey/jersey/ + JSON 20080701 + Attribution Statements http://www.json.org/ @@ -1280,20 +1305,24 @@ The Software shall be used for Good, not Evil. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/douglascrockford/JSON-java + JUnit 4.12 + Attribution Statements http://junit.org The JUnit depends on Java Hamcrest (http://hamcrest.org/JavaHamcrest/). Copyright Statements -Copyright 2002-2015 JUnit. All Rights Reserved. +Copyright © 2002-2015 JUnit. All Rights Reserved. License Text (http://spdx.org/licenses/EPL-1.0) Made available under the Eclipse Public License 1.0. See Appendix for full text. Source materials are available for download at: https://github.com/junit-team/junit4 + Lodash 4.17.4 + Attribution Statements https://lodash.com/ @@ -1339,7 +1368,9 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/lodash/lodash + Logback 1.1.8 + Attribution Statements http://logback.qos.ch @@ -1350,7 +1381,9 @@ License Text (http://spdx.org/licenses/EPL-1.0) Made available under the Eclipse Public License 1.0. See Appendix for full text. Source materials are available for download at: https://github.com/qos-ch/logback + Material Design Icons (MDI) Iconfont 3.0.3 + Attribution Statements http://google.github.io/material-design-icons/ @@ -1361,7 +1394,9 @@ License Text (https://spdx.org/licenses/Apache-2.0.html) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/jossef/material-design-icons-iconfont + Material Design Icons (MDI) Webfont 2.0.46 + Attribution Statements https://materialdesignicons.com/ @@ -1374,7 +1409,9 @@ License Text (https://spdx.org/licenses/OFL-1.1.html) Made available under the SIL Open Font License 1.1. See Appendix for full text. Source materials are available for download at: https://github.com/Templarian/MaterialDesign-Webfont + Material Design Lite 1.3.0 + Attribution Statements http://getmdl.io @@ -1385,12 +1422,14 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/google/material-design-lite + Namespaces in XML 1.0 + Attribution Statements https://www.w3.org/TR/REC-xml-names/ Copyright Statements -Copyright 2009 W3C (MIT, ERCIM, Keio), All Rights Reserved. +Copyright © 2009 W3C® (MIT, ERCIM, Keio), All Rights Reserved. License Text (https://www.w3.org/Consortium/Legal/2015/doc-license) License @@ -1399,17 +1438,17 @@ By using and/or copying this document, or the W3C document from which this state Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: A link or URL to the original W3C document. -The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright [$date-of-document] World Wide Web Consortium, (MIT, ERCIM, Keio, Beihang). http://www.w3.org/Consortium/Legal/2015/doc-license" +The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (MIT, ERCIM, Keio, Beihang). http://www.w3.org/Consortium/Legal/2015/doc-license" If it exists, the STATUS of the W3C document. When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. No right to create modifications or derivatives of W3C documents is granted pursuant to this license, except as follows: To facilitate implementation of the technical specifications set forth in this document, anyone may prepare and distribute derivative works and portions of this document in software, in supporting materials accompanying software, and in documentation of software, PROVIDED that all such works include the notice below. HOWEVER, the publication of derivative works of this document for use as a technical specification is expressly prohibited. -In addition, "Code Components" Web IDL in sections clearly marked as Web IDL; and W3C-defined markup (HTML, CSS, etc.) and computer programming language code clearly marked as code examples are licensed under the W3C Software License. +In addition, "Code Components" —Web IDL in sections clearly marked as Web IDL; and W3C-defined markup (HTML, CSS, etc.) and computer programming language code clearly marked as code examples— are licensed under the W3C Software License. The notice is: -"Copyright 2015 W3C (MIT, ERCIM, Keio, Beihang). This software or document includes material copied from or derived from [title and URI of the W3C document]." +"Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). This software or document includes material copied from or derived from [title and URI of the W3C document]." Disclaimers THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. @@ -1426,7 +1465,9 @@ This version grants limited permission to create and distribute derivative works This version licenses Code Components under the W3C Software License. Source materials are available for download at: https://www.w3.org/TR/REC-xml-names/ + ng2-device-detector 1.0.0 + Attribution Statements https://github.com/KoderLabs/ng2-device-detector @@ -1457,7 +1498,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/KoderLabs/ng2-device-detector + Protractor + Attribution Statements http://www.protractortest.org/#/ @@ -1488,7 +1531,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/angular/protractor + RxJS 5.4.2 + Attribution Statements http://reactivex.io/rxjs/ @@ -1501,7 +1546,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/ReactiveX/RxJS + RxJS 5.4.3 + Attribution Statements http://reactivex.io/rxjs/ @@ -1514,7 +1561,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/ReactiveX/RxJS + semver(1) 5.4.1 + Attribution Statements https://www.npmjs.com/package/semver @@ -1539,7 +1588,9 @@ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Source materials are available for download at: https://github.com/npm/node-semver + SLF4J 1.7.22 + Attribution Statements http://www.slf4j.org @@ -1570,7 +1621,9 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/qos-ch/slf4j/tree/master/slf4j-api + SockJS-client 1.1.4 + Attribution Statements http://sockjs.org @@ -1601,7 +1654,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/sockjs/sockjs-client + Spock Framework + Attribution Statements http://spockframework.org/ @@ -1624,7 +1679,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/spockframework/spock + Spring Boot 1.5.6 + Attribution Statements https://projects.spring.io/spring-boot/ @@ -1635,7 +1692,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/spring-projects/spring-boot + Spring Framework 5.0.4 + Attribution Statements https://projects.spring.io/spring-framework/ @@ -1646,7 +1705,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/spring-projects/spring-framework + STOMP.js 2.3.3 + Attribution Statements http://jmesnil.net/stomp-websocket/doc/ @@ -1657,7 +1718,9 @@ License Text (http://spdx.org/licenses/Apache-2.0) Made available under the Apache License 2.0. See Appendix for full text. Source materials are available for download at: https://github.com/jmesnil/stomp-websocket + trace-ui 2.0.4 + Attribution Statements https://github.com/ancestorcloud/trace-ui @@ -1688,7 +1751,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/ancestorcloud/trace-ui + XMLUnit 1.3 + Attribution Statements http://www.xmlunit.org/ @@ -1729,7 +1794,9 @@ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Source materials are available for download at: https://github.com/xmlunit/xmlunit/tree/master/xmlunit-legacy + Zone.js 0.8.14 + Attribution Statements https://github.com/angular/zone.js @@ -1762,7 +1829,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/angular/zone.js + Zone.js 0.8.18 + Attribution Statements https://github.com/angular/zone.js @@ -1795,7 +1864,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Source materials are available for download at: https://github.com/angular/zone.js - + +  Appendix License Text @@ -1879,30 +1949,30 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.  https://spdx.org/licenses/CDDL-1.0.html COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 1. Definitions. -1.1. Contributor means each individual or entity that creates or contributes to the creation of Modifications. +1.1. “Contributor” means each individual or entity that creates or contributes to the creation of Modifications. -1.2. Contributor Version means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor. +1.2. “Contributor Version” means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor. -1.3. Covered Software means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof. +1.3. “Covered Software” means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof. -1.4. Executable means the Covered Software in any form other than Source Code. +1.4. “Executable” means the Covered Software in any form other than Source Code. -1.5. Initial Developer means the individual or entity that first makes Original Software available under this License. +1.5. “Initial Developer” means the individual or entity that first makes Original Software available under this License. -1.6. Larger Work means a work which combines Covered Software or portions thereof with code not governed by the terms of this License. +1.6. “Larger Work” means a work which combines Covered Software or portions thereof with code not governed by the terms of this License. -1.7. License means this document. +1.7. “License” means this document. -1.8. Licensable means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. +1.8. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. -1.9. Modifications means the Source Code and Executable form of any of the following: +1.9. “Modifications” means the Source Code and Executable form of any of the following: A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications; @@ -1910,13 +1980,13 @@ B. Any new file that contains any part of the Original Software or previous Modi C. Any new file that is contributed or otherwise made available under the terms of this License. -1.10. Original Software means the Source Code and Executable form of computer software code that is originally released under this License. +1.10. “Original Software” means the Source Code and Executable form of computer software code that is originally released under this License. -1.11. Patent Claims means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. +1.11. “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. -1.12. Source Code means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code. +1.12. “Source Code” means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code. -1.13. You (or Your) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, You includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, control means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. +1.13. “You” (or “Your”) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, “You” includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants. @@ -1954,10 +2024,10 @@ The Modifications that You create or to which You contribute are governed by the You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer. 3.4. Application of Additional Terms. -You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. +You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients’ rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.5. Distribution of Executable Versions. -You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipients rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. +You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient’s rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.6. Larger Works. You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software. @@ -1975,55 +2045,55 @@ When You are an Initial Developer and You want to create a new license for Your 5. DISCLAIMER OF WARRANTY. -COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. +COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 6. TERMINATION. 6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. -6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as Participant) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant. +6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as “Participant”) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant. 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination. 7. LIMITATION OF LIABILITY. -UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. +UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY’S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 8. U.S. GOVERNMENT END USERS. -The Covered Software is a commercial item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of commercial computer software (as that term is defined at 48 C.F.R. 252.227-7014(a)(1)) and commercial computer software documentation as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License. +The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License. 9. MISCELLANEOUS. -This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdictions conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software. +This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction’s conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys’ fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software. 10. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability. - +  https://spdx.org/licenses/CDDL-1.1.html COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 1. Definitions. -1.1. Contributor means each individual or entity that creates or contributes to the creation of Modifications. +1.1. “Contributor” means each individual or entity that creates or contributes to the creation of Modifications. -1.2. Contributor Version means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor. +1.2. “Contributor Version” means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor. -1.3. Covered Software means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof. +1.3. “Covered Software” means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof. -1.4. Executable means the Covered Software in any form other than Source Code. +1.4. “Executable” means the Covered Software in any form other than Source Code. -1.5. Initial Developer means the individual or entity that first makes Original Software available under this License. +1.5. “Initial Developer” means the individual or entity that first makes Original Software available under this License. -1.6. Larger Work means a work which combines Covered Software or portions thereof with code not governed by the terms of this License. +1.6. “Larger Work” means a work which combines Covered Software or portions thereof with code not governed by the terms of this License. -1.7. License means this document. +1.7. “License” means this document. -1.8. Licensable means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. +1.8. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. -1.9. Modifications means the Source Code and Executable form of any of the following: +1.9. “Modifications” means the Source Code and Executable form of any of the following: A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications; @@ -2031,13 +2101,13 @@ B. Any new file that contains any part of the Original Software or previous Modi C. Any new file that is contributed or otherwise made available under the terms of this License. -1.10. Original Software means the Source Code and Executable form of computer software code that is originally released under this License. +1.10. “Original Software” means the Source Code and Executable form of computer software code that is originally released under this License. -1.11. Patent Claims means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. +1.11. “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. -1.12. Source Code means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code. +1.12. “Source Code” means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code. -1.13. You (or Your) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, You includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, control means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. +1.13. “You” (or “Your”) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, “You” includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants. @@ -2095,13 +2165,13 @@ You may always continue to use, distribute or otherwise make the Covered Softwar When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License. 5. DISCLAIMER OF WARRANTY. -COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. +COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 6. TERMINATION. 6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. -6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as Participant) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant. +6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as “Participant”) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant. 6.3. If You assert a patent infringement claim against Participant alleging that the Participant Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license. @@ -2113,7 +2183,7 @@ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIG 8. U.S. GOVERNMENT END USERS. -The Covered Software is a commercial item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of commercial computer software (as that term is defined at 48 C.F.R. 252.227-7014(a)(1)) and commercial computer software documentation as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License. +The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License. 9. MISCELLANEOUS. @@ -2125,7 +2195,7 @@ As between Initial Developer and the Contributors, each party is responsible for NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California. - +  https://spdx.org/licenses/CC-BY-3.0.html Creative Commons Attribution 3.0 Unported @@ -2219,24 +2289,24 @@ Creative Commons is not a party to this License, and makes no warranty whatsoeve Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. Creative Commons may be contacted at http://creativecommons.org/. - +  https://spdx.org/licenses/CC-BY-4.0.html Creative Commons Attribution 4.0 International -Creative Commons Corporation (Creative Commons) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an as-is basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. +Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors. -Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensors permission is not necessary for any reasonfor example, because of any applicable exception or limitation to copyrightthen that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. -Section 1 Definitions. +Section 1 – Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. @@ -2260,7 +2330,7 @@ j. Sui Generis Database Rights means rights other than copyright resulting from k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. -Section 2 Scope. +Section 2 – Scope. a. License grant. @@ -2278,7 +2348,7 @@ B. produce, reproduce, and Share Adapted Material. 5. Downstream recipients. -A. Offer from the Licensor Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. +A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. @@ -2292,7 +2362,7 @@ b. Other rights. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. -Section 3 License Conditions. +Section 3 – License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. @@ -2322,7 +2392,7 @@ C. indicate the Licensed Material is licensed under this Public License, and inc 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. -Section 4 Sui Generis Database Rights. +Section 4 – Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: @@ -2333,7 +2403,7 @@ b. if You include all or a substantial portion of the database contents in a dat c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. -Section 5 Disclaimer of Warranties and Limitation of Liability. +Section 5 – Disclaimer of Warranties and Limitation of Liability. a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. @@ -2341,7 +2411,7 @@ b. To the extent possible, in no event will the Licensor be liable to You on any c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. -Section 6 Term and Termination. +Section 6 – Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. @@ -2357,13 +2427,13 @@ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. -Section 7 Other Terms and Conditions. +Section 7 – Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. -Section 8 Interpretation. +Section 8 – Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. @@ -2373,8 +2443,8 @@ c. No term or condition of this Public License will be waived and no failure to d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. -Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the Licensor. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark Creative Commons or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.??Creative Commons may be contacted at creativecommons.org. - +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.

Creative Commons may be contacted at creativecommons.org. +  https://spdx.org/licenses/CC-BY-SA-3.0.html Creative Commons Attribution-ShareAlike 3.0 Unported @@ -2440,7 +2510,7 @@ Creative Commons is not a party to this License, and makes no warranty whatsoeve Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. -Creative Commons may be contacted at http://creativecommons.org/. +Creative Commons may be contacted at http://creativecommons.org/.  https://spdx.org/licenses/EPL-1.0.html Eclipse Public License - v 1.0 @@ -2515,7 +2585,7 @@ All Recipient's rights under this Agreement shall terminate if it fails to compl Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - +  https://spdx.org/licenses/EPL-2.0.html Eclipse Public License - v 2.0 @@ -2597,7 +2667,7 @@ Simply including a copy of this Agreement, including this Exhibit A is not suffi If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. - +  https://spdx.org/licenses/Libpng.html libpng License @@ -2677,7 +2747,7 @@ Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a cer Glenn Randers-Pehrson glennrp at users.sourceforge.net December 9, 2010 - +  https://spdx.org/licenses/MPL-1.0.html MOZILLA PUBLIC LICENSE @@ -2811,7 +2881,7 @@ The Original Code is _____ . The Initial Developer of the Original Code is _____ . Portions created by _____ are Copyright (C) _____ . All Rights Reserved. Contributor(s): _____ . - +  https://spdx.org/licenses/MPL-1.1.html Mozilla Public License Version 1.1 @@ -2968,7 +3038,7 @@ The Initial Developer of the Original Code is _____ . Portions created by _____ Contributor(s): _____ . Alternatively, the contents of this file may be used under the terms of the _____ license (the " [____] License"), in which case the provisions of [____] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [____] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [____] ] License." - +  https://spdx.org/licenses/OLDAP-2.8.html The OpenLDAP Public License @@ -2990,7 +3060,7 @@ The names of the authors and copyright holders must not be used in advertising o OpenLDAP is a registered trademark of the OpenLDAP Foundation. Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted. - +  https://spdx.org/licenses/OpenSSL.html OpenSSL License @@ -3040,14 +3110,14 @@ The word 'cryptographic' can be left out if the rouines from the library being u THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.] - +  http://www.oracle.com/technetwork/java/javase/terms/license/index.html Oracle Binary Code License Agreement for Java SE and JavaFX Technologies ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED. -1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means: (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers, and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. README File means the README file for the Software set forth in the Software or otherwise available from Oracle at or through the following URL: http://www.oracle.com/technetwork/java/javase/documentation/index.html +1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means: (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers, and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. “README File” means the README file for the Software set forth in the Software or otherwise available from Oracle at or through the following URL: http://www.oracle.com/technetwork/java/javase/documentation/index.html 2. LICENSE TO USE. Subject to the terms and conditions of this Agreement including, but not limited to, the Java Technology Restrictions of the Supplemental License Terms, Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs. @@ -3081,7 +3151,7 @@ B. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions of this A C. LICENSE TO DISTRIBUTE REDISTRIBUTABLES. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the README File ("Redistributables") provided that: (i) you distribute the Redistributables complete and unmodified, and only bundled as part of Programs, (ii) the Programs add significant and primary functionality to the Redistributables, (iii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README File), (iv) you do not remove or alter any proprietary legends or notices contained in or on the Redistributables, (v) you only distribute the Redistributables pursuant to a license agreement that protects Oracle's interests consistent with the terms contained in the Agreement, (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section C does not extend to the Software identified in Section D. -D. JAVA TECHNOLOGY RESTRICTIONS. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "javafx", "sun", oracle or similar convention as specified by Oracle in any naming convention designation. You shall not redistribute the Software listed on Schedule 1. +D. JAVA TECHNOLOGY RESTRICTIONS. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "javafx", "sun", “oracle” or similar convention as specified by Oracle in any naming convention designation. You shall not redistribute the Software listed on Schedule 1. E. SOURCE CODE. Software may contain source code that, unless expressly licensed for other purposes, is provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be redistributed unless expressly provided for in this Agreement. @@ -3113,7 +3183,7 @@ Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files Jvmstat -Any patches, bug fixes or updates made available by Oracle through Oracle Premier Support, including those made available under Oracle's Java SE Support program +Any patches, bug fixes or updates made available by Oracle through Oracle Premier Support, including those made available under Oracle's Java SE Support program  https://spdx.org/licenses/OFL-1.1.html SIL OPEN FONT LICENSE @@ -3133,7 +3203,7 @@ DEFINITIONS "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). -"Modified Version" refers to any derivative made by adding to, deleting, or substituting in part or in whole any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. +"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. @@ -3158,7 +3228,7 @@ This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. - +  http://www.unicode.org/copyright.html#License UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE @@ -3179,14 +3249,14 @@ BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES COPYRIGHT AND PERMISSION NOTICE -Copyright 1991-2018 Unicode, Inc. All rights reserved. +Copyright © 1991-2018 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. +Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.  https://spdx.org/licenses/W3C-20150513.html W3C Software and Document Notice and License (2015-05-13) @@ -3197,9 +3267,9 @@ By obtaining and/or copying this work, you (the licensee) agree that you have re Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: - The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. - Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. - Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright (c) [YEAR] W3C (MIT, ERCIM, Keio, Beihang)." +• The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +• Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +• Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright (c) [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." Disclaimers THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. @@ -3209,7 +3279,7 @@ The name and trademarks of copyright holders may NOT be used in advertising or p Standard License Header -[$name_of_software: $distribution_URI] Copyright (c) [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University, Beihang). All Rights Reserved. This work is distributed under the W3C Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [1] http://www.w3.org/Consortium/Legal/copyright-software +[$name_of_software: $distribution_URI] Copyright (c) [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University, Beihang). All Rights Reserved. This work is distributed under the W3C® Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [1] http://www.w3.org/Consortium/Legal/copyright-software  https://spdx.org/licenses/Zlib.html zlib License @@ -3221,5 +3291,4 @@ Permission is granted to anyone to use this software for any purpose, including 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - +3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index bac47bab10..66d5a1f95b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=4.0-SNAPSHOT +version=4.1.0 publishUrl=file:../marklogic-data-hub/releases diff --git a/marklogic-data-hub/gradle.properties b/marklogic-data-hub/gradle.properties index cb249b402c..5959f42b68 100644 --- a/marklogic-data-hub/gradle.properties +++ b/marklogic-data-hub/gradle.properties @@ -12,7 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -mlDHFVersion=4.0-SNAPSHOT +mlDHFVersion=4.1.0 mlHost=localhost mlAppName=data-hub diff --git a/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java b/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java index ac6deb04b9..bf2cc8a8ef 100644 --- a/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java +++ b/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java @@ -1609,7 +1609,7 @@ public DatabaseClient newModulesDbClient() { // this lets debug builds work from an IDE if (version.equals("${project.version}")) { - version = "4.0-SNAPSHOT"; + version = "4.1.0"; } return version; } diff --git a/marklogic-data-hub/src/main/resources/scaffolding/build_gradle b/marklogic-data-hub/src/main/resources/scaffolding/build_gradle index 5f755eab24..112fa10c41 100644 --- a/marklogic-data-hub/src/main/resources/scaffolding/build_gradle +++ b/marklogic-data-hub/src/main/resources/scaffolding/build_gradle @@ -19,7 +19,7 @@ plugins { // This gradle plugin extends the ml-gradle plugin with // commands that make the Data Hub Framework do its magic - id 'com.marklogic.ml-data-hub' version '4.0-SNAPSHOT' + id 'com.marklogic.ml-data-hub' version '4.1.0' } repositories { @@ -30,7 +30,7 @@ repositories { dependencies { // this allows you to write custom java code that depends // on the Data Hub Framework library - compile 'com.marklogic:marklogic-data-hub:4.0-SNAPSHOT' + compile 'com.marklogic:marklogic-data-hub:4.1.0' compile 'com.marklogic:marklogic-xcc:9.0.7' } diff --git a/ml-data-hub-plugin/gradle.properties b/ml-data-hub-plugin/gradle.properties index c6c517d5d6..4eafb43ed4 100644 --- a/ml-data-hub-plugin/gradle.properties +++ b/ml-data-hub-plugin/gradle.properties @@ -12,7 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -mlDHFVersion=4.0-SNAPSHOT +mlDHFVersion=4.1.0 mlHost=localhost mlAppName=data-hub diff --git a/quick-start/gradle.properties b/quick-start/gradle.properties index 6c76c733f8..f1e8115d94 100644 --- a/quick-start/gradle.properties +++ b/quick-start/gradle.properties @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # What version of DHF am I intending on targetting? Make sure you use the full SemVer x.x.x -mlDHFVersion=4.0-SNAPSHOT +mlDHFVersion=4.1.0 mlHost=localhost mlAppName=data-hub From fc81d082011c31ddb3bdda259663ebd285d7f507 Mon Sep 17 00:00:00 2001 From: Akshay Sonvane Date: Thu, 20 Dec 2018 06:39:32 -0800 Subject: [PATCH 002/157] Changed to SNAPSHOT version (#1703) --- gradle.properties | 2 +- marklogic-data-hub/gradle.properties | 2 +- .../src/main/java/com/marklogic/hub/impl/HubConfigImpl.java | 2 +- .../src/main/resources/scaffolding/build_gradle | 4 ++-- ml-data-hub-plugin/gradle.properties | 2 +- quick-start/gradle.properties | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gradle.properties b/gradle.properties index 66d5a1f95b..bac47bab10 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -version=4.1.0 +version=4.0-SNAPSHOT publishUrl=file:../marklogic-data-hub/releases diff --git a/marklogic-data-hub/gradle.properties b/marklogic-data-hub/gradle.properties index 5959f42b68..cb249b402c 100644 --- a/marklogic-data-hub/gradle.properties +++ b/marklogic-data-hub/gradle.properties @@ -12,7 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -mlDHFVersion=4.1.0 +mlDHFVersion=4.0-SNAPSHOT mlHost=localhost mlAppName=data-hub diff --git a/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java b/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java index bf2cc8a8ef..ac6deb04b9 100644 --- a/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java +++ b/marklogic-data-hub/src/main/java/com/marklogic/hub/impl/HubConfigImpl.java @@ -1609,7 +1609,7 @@ public DatabaseClient newModulesDbClient() { // this lets debug builds work from an IDE if (version.equals("${project.version}")) { - version = "4.1.0"; + version = "4.0-SNAPSHOT"; } return version; } diff --git a/marklogic-data-hub/src/main/resources/scaffolding/build_gradle b/marklogic-data-hub/src/main/resources/scaffolding/build_gradle index 112fa10c41..5f755eab24 100644 --- a/marklogic-data-hub/src/main/resources/scaffolding/build_gradle +++ b/marklogic-data-hub/src/main/resources/scaffolding/build_gradle @@ -19,7 +19,7 @@ plugins { // This gradle plugin extends the ml-gradle plugin with // commands that make the Data Hub Framework do its magic - id 'com.marklogic.ml-data-hub' version '4.1.0' + id 'com.marklogic.ml-data-hub' version '4.0-SNAPSHOT' } repositories { @@ -30,7 +30,7 @@ repositories { dependencies { // this allows you to write custom java code that depends // on the Data Hub Framework library - compile 'com.marklogic:marklogic-data-hub:4.1.0' + compile 'com.marklogic:marklogic-data-hub:4.0-SNAPSHOT' compile 'com.marklogic:marklogic-xcc:9.0.7' } diff --git a/ml-data-hub-plugin/gradle.properties b/ml-data-hub-plugin/gradle.properties index 4eafb43ed4..c6c517d5d6 100644 --- a/ml-data-hub-plugin/gradle.properties +++ b/ml-data-hub-plugin/gradle.properties @@ -12,7 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -mlDHFVersion=4.1.0 +mlDHFVersion=4.0-SNAPSHOT mlHost=localhost mlAppName=data-hub diff --git a/quick-start/gradle.properties b/quick-start/gradle.properties index f1e8115d94..6c76c733f8 100644 --- a/quick-start/gradle.properties +++ b/quick-start/gradle.properties @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # What version of DHF am I intending on targetting? Make sure you use the full SemVer x.x.x -mlDHFVersion=4.1.0 +mlDHFVersion=4.0-SNAPSHOT mlHost=localhost mlAppName=data-hub From a26b42a1466a55b3fb0180f0ea4be12b8c457d9f Mon Sep 17 00:00:00 2001 From: rjrudin Date: Thu, 20 Dec 2018 09:39:54 -0500 Subject: [PATCH 003/157] HubAppDeployer no longer loses functionality in SimpleAppDeployer (#1700) HubAppDeployer now extends SimpleAppDeployer in a way that it doesn't lose any functionality. --- .../marklogic/hub/deploy/HubAppDeployer.java | 121 ++++++------------ .../hub/deploy/HubAppDeployerTest.java | 83 ++++++++++++ 2 files changed, 124 insertions(+), 80 deletions(-) create mode 100644 marklogic-data-hub/src/test/java/com/marklogic/hub/deploy/HubAppDeployerTest.java diff --git a/marklogic-data-hub/src/main/java/com/marklogic/hub/deploy/HubAppDeployer.java b/marklogic-data-hub/src/main/java/com/marklogic/hub/deploy/HubAppDeployer.java index 2bbacd7370..8d253e85f9 100644 --- a/marklogic-data-hub/src/main/java/com/marklogic/hub/deploy/HubAppDeployer.java +++ b/marklogic-data-hub/src/main/java/com/marklogic/hub/deploy/HubAppDeployer.java @@ -27,11 +27,9 @@ import com.marklogic.mgmt.ManageClient; import com.marklogic.mgmt.admin.AdminManager; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - +/** + * Extends ml-app-deployer's SimpleAppDeployer to provide progress reporting. + */ public class HubAppDeployer extends SimpleAppDeployer { private ManageClient manageClient; @@ -40,6 +38,9 @@ public class HubAppDeployer extends SimpleAppDeployer { // this is for the telemetry hook to use mlUsername/mlPassword private DatabaseClient databaseClient; + // Keeps track of completion percentage + private int completed = 0; + public HubAppDeployer(ManageClient manageClient, AdminManager adminManager, HubDeployStatusListener listener, DatabaseClient databaseClient) { super(manageClient, adminManager); this.manageClient = manageClient; @@ -50,94 +51,54 @@ public HubAppDeployer(ManageClient manageClient, AdminManager adminManager, HubD @Override public void deploy(AppConfig appConfig) { - logger.info(format("Deploying app %s with config dir of: %s\n", appConfig.getName(), appConfig.getFirstConfigDir() - .getBaseDir().getAbsolutePath())); - - List commands = getCommands(); - Collections.sort(commands, new Comparator() { - @Override - public int compare(Command o1, Command o2) { - return o1.getExecuteSortOrder().compareTo(o2.getExecuteSortOrder()); - } - - @Override - public boolean equals(Object obj) { - return this.equals(obj); - } - }); + this.completed = 0; - CommandContext context = new CommandContext(appConfig, manageClient, adminManager); - - int count = commands.size(); - int completed = 0; onStatusChange(0, "Installing..."); - for (Command command : commands) { - String name = command.getClass().getName(); - logger.info(format("Executing command [%s] with sort order [%d]", name, command.getExecuteSortOrder())); - float percent = ((float)completed / (float)count) * 100; - onStatusChange((int)percent, format("[Step %d of %d] %s", completed + 1, count, name)); - command.execute(context); - logger.info(format("Finished executing command [%s]\n", name)); - completed++; - } + super.deploy(appConfig); onStatusChange(100, "Installation Complete"); - //Below is telemetry metric code for tracking successful dhf installs - //TODO: when more uses of telemetry are defined, change this to a more e-node based method - ServerEvaluationCall eval = databaseClient.newServerEval(); - String query = "xdmp:feature-metric-increment(xdmp:feature-metric-register(\"datahub.core.install.count\"))"; - try { - eval.xquery(query).eval().close(); - } - catch(FailedRequestException e) { - logger.error("Failed to increment feature metric telemetry count: " + query, e); - e.printStackTrace(); + if (databaseClient != null) { + //Below is telemetry metric code for tracking successful dhf installs + //TODO: when more uses of telemetry are defined, change this to a more e-node based method + ServerEvaluationCall eval = databaseClient.newServerEval(); + String query = "xdmp:feature-metric-increment(xdmp:feature-metric-register(\"datahub.core.install.count\"))"; + try { + eval.xquery(query).eval().close(); + } catch (FailedRequestException e) { + logger.error("Failed to increment feature metric telemetry count: " + query, e); + e.printStackTrace(); + } } - logger.info(format("Deployed app %s", appConfig.getName())); } @Override - public void undeploy(AppConfig appConfig) { - logger.info(format("Undeploying app %s with config dir: %s\n", appConfig.getName(), appConfig.getFirstConfigDir() - .getBaseDir().getAbsolutePath())); - - List commands = getCommands(); - - List undoableCommands = new ArrayList<>(); - for (Command command : commands) { - if (command instanceof UndoableCommand) { - undoableCommands.add((UndoableCommand) command); - } - } - - Collections.sort(undoableCommands, new Comparator() { - @Override - public int compare(UndoableCommand o1, UndoableCommand o2) { - return o1.getUndoSortOrder().compareTo(o2.getUndoSortOrder()); - } + protected void executeCommand(Command command, CommandContext context) { + reportStatus(command); + super.executeCommand(command, context); + completed++; + } - @Override - public boolean equals(Object obj) { - return this.equals(obj); - } - }); + @Override + public void undeploy(AppConfig appConfig) { + this.completed = 0; - int count = undoableCommands.size(); - int completed = 0; onStatusChange(0, "Uninstalling..."); - - for (UndoableCommand command : undoableCommands) { - String name = command.getClass().getName(); - logger.info(format("Undoing command [%s] with sort order [%d]", name, command.getUndoSortOrder())); - float percent = ((float)completed / (float)count) * 100; - onStatusChange((int)percent, format("[Step %d of %d] %s", completed + 1, count, name)); - command.undo(new CommandContext(appConfig, manageClient, adminManager)); - logger.info(format("Finished undoing command [%s]\n", name)); - completed++; - } + super.undeploy(appConfig); onStatusChange(100, "Installation Complete"); + } + + @Override + protected void undoCommand(UndoableCommand command, CommandContext context) { + reportStatus(command); + super.undoCommand(command, context); + completed++; + } - logger.info(format("Undeployed app %s", appConfig.getName())); + protected void reportStatus(Command command) { + int count = getCommands().size(); + float percent = ((float) completed / (float) count) * 100; + String name = command.getClass().getName(); + onStatusChange((int) percent, format("[Step %d of %d] %s", completed + 1, count, name)); } private void onStatusChange(int percentComplete, String message) { diff --git a/marklogic-data-hub/src/test/java/com/marklogic/hub/deploy/HubAppDeployerTest.java b/marklogic-data-hub/src/test/java/com/marklogic/hub/deploy/HubAppDeployerTest.java new file mode 100644 index 0000000000..1ba61cc573 --- /dev/null +++ b/marklogic-data-hub/src/test/java/com/marklogic/hub/deploy/HubAppDeployerTest.java @@ -0,0 +1,83 @@ +package com.marklogic.hub.deploy; + +import com.marklogic.appdeployer.AppConfig; +import com.marklogic.appdeployer.command.Command; +import com.marklogic.appdeployer.command.CommandContext; +import com.marklogic.hub.deploy.util.HubDeployStatusListener; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; +import static org.junit.jupiter.api.Assertions.*; + +public class HubAppDeployerTest { + + @Test + public void test() { + List messages = new ArrayList<>(); + + List commands = new ArrayList<>(); + commands.add(new TestCommand(20, messages)); + commands.add(new TestCommand(30, messages)); + commands.add(new TestCommand(10, messages)); + + TestListener testListener = new TestListener(); + + HubAppDeployer appDeployer = new HubAppDeployer(null, null, testListener, null); + appDeployer.setCommands(commands); + appDeployer.deploy(new AppConfig()); + + // Verify commands were executed in correct order + assertEquals("My sort order: 10", messages.get(0)); + assertEquals("My sort order: 20", messages.get(1)); + assertEquals("My sort order: 30", messages.get(2)); + + // Verify correct status messages were passed to our listener + System.out.println(testListener.getMessages()); + assertEquals("0:Installing...", testListener.getMessages().get(0)); + assertEquals("0:[Step 1 of 3] com.marklogic.hub.deploy.TestCommand", testListener.getMessages().get(1)); + assertEquals("33:[Step 2 of 3] com.marklogic.hub.deploy.TestCommand", testListener.getMessages().get(2)); + assertEquals("66:[Step 3 of 3] com.marklogic.hub.deploy.TestCommand", testListener.getMessages().get(3)); + assertEquals("100:Installation Complete", testListener.getMessages().get(4)); + } +} + +class TestCommand implements Command { + + private int sortOrder; + private List messages; + + public TestCommand(int sortOrder, List messages) { + this.sortOrder = sortOrder; + this.messages = messages; + } + + @Override + public void execute(CommandContext context) { + messages.add("My sort order: " + sortOrder); + } + + @Override + public Integer getExecuteSortOrder() { + return sortOrder; + } +} + +class TestListener implements HubDeployStatusListener { + + private List messages = new ArrayList<>(); + + @Override + public void onStatusChange(int percentComplete, String message) { + messages.add(percentComplete + ":" + message); + } + + @Override + public void onError() { + + } + + public List getMessages() { + return messages; + } +} From c2b132322d8ef19d4b275763d541ebdb66f5b02d Mon Sep 17 00:00:00 2001 From: Akshay Sonvane Date: Thu, 20 Dec 2018 10:52:45 -0800 Subject: [PATCH 004/157] Upgrade Spring boot ver for QS (#1698) --- quick-start/build.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/quick-start/build.gradle b/quick-start/build.gradle index e8b0adaad4..59adaa5f28 100644 --- a/quick-start/build.gradle +++ b/quick-start/build.gradle @@ -18,11 +18,11 @@ import java.util.concurrent.Executors plugins { - id 'java' - id 'eclipse' - id 'idea' - id 'com.moowork.node' version '1.2.0' - id 'org.springframework.boot' version '2.0.2.RELEASE' + id 'java' + id 'eclipse' + id 'idea' + id 'com.moowork.node' version '1.2.0' + id 'org.springframework.boot' version '2.0.6.RELEASE' id "io.spring.dependency-management" version "1.0.5.RELEASE" } From f08a7634a17c474ef6351b2b43b28b3224471503 Mon Sep 17 00:00:00 2001 From: rjrudin Date: Fri, 21 Dec 2018 11:55:49 -0500 Subject: [PATCH 005/157] 1580 Added DHF4 project with test cases for verifying the deployment (#1640) Most of the tests in VerifyDeploymentTest do not pass when using DHF 4.0.3 --- examples/dhf4-with-tests/.gitignore | 2 + examples/dhf4-with-tests/README.md | 23 ++ examples/dhf4-with-tests/build.gradle | 31 ++ examples/dhf4-with-tests/gradle.properties | 66 ++++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/dhf4-with-tests/gradlew | 172 ++++++++++ examples/dhf4-with-tests/gradlew.bat | 84 +++++ .../entities/Person/Person.entity.json | 18 ++ .../entities/Person/input/input1/content.sjs | 74 +++++ .../entities/Person/input/input1/headers.sjs | 17 + .../Person/input/input1/input1.properties | 6 + .../entities/Person/input/input1/main.sjs | 45 +++ .../entities/Person/input/input1/triples.sjs | 18 ++ .../databases/final-database.json | 20 ++ .../databases/staging-database.json | 20 ++ .../entity-config/final-entity-options.xml | 30 ++ .../entity-config/staging-entity-options.xml | 30 ++ .../databases/job-database.json | 118 +++++++ .../databases/staging-database.json | 9 + .../databases/staging-schemas-database.json | 3 + .../databases/staging-triggers-database.json | 3 + .../schemas/staging-schema.xsd | 1 + .../schemas/tde/StagingPerson-0.0.1.tdex | 31 ++ .../privileges/dhf-internal-data-hub.json | 5 + .../privileges/dhf-internal-entities.json | 5 + .../privileges/dhf-internal-mappings.json | 5 + .../privileges/dhf-internal-trace-ui.json | 5 + .../security/roles/data-hub-role.json | 91 ++++++ .../security/roles/hub-admin-role.json | 84 +++++ .../security/users/data-hub-user.json | 6 + .../security/users/hub-admin-user.json | 6 + .../servers/job-server.json | 14 + .../servers/staging-server.json | 14 + .../cpf/cpf-configs/sample-cpf-config.json | 17 + .../ml-config/cpf/domains/sample-domain.json | 12 + .../cpf/pipelines/sample-pipeline.json | 28 ++ .../cpf/pipelines/status-change-handling.xml | 78 +++++ .../temporal/axes/temporal-system-axis.json | 15 + .../temporal/axes/temporal-valid-axis.json | 15 + .../collections/temporal-collection.json | 8 + .../temporal/axes/temporal-system-axis.json | 15 + .../temporal/axes/temporal-valid-axis.json | 15 + .../collections/temporal-collection.json | 8 + .../triggers/final-trigger.json | 21 ++ .../triggers/staging-trigger.json | 21 ++ .../ml-config/databases/final-database.json | 26 ++ .../databases/final-schemas-database.json | 3 + .../databases/final-triggers-database.json | 3 + .../ml-config/databases/modules-database.json | 5 + .../ml-config/databases/staging-database.json | 22 ++ .../main/ml-config/security/amps/echo.json | 7 + .../privileges/example-privilege1.json | 5 + .../security/roles/example-role1.xml | 4 + .../security/users/example-user1.json | 4 + .../src/main/ml-config/servers/README.md | 4 + .../main/ml-config/servers/final-server.json | 14 + .../main/ml-config/servers/job-server.json | 4 + .../ml-config/servers/staging-server.json | 4 + .../ml-modules/root/example/example-lib.xqy | 8 + .../ml-modules/services/example-service.sjs | 20 ++ .../transforms/example-transform.xsl | 7 + .../src/main/ml-schemas/db-final-schema.xsd | 1 + .../src/main/ml-schemas/tde/Person-0.0.1.tdex | 31 ++ .../java/org/example/RunUnitTestsTest.java | 17 + .../org/example/VerifyDeploymentTest.java | 301 ++++++++++++++++++ .../security/users/example-user2.json | 4 + .../test/suites/input1-tests/content-test.sjs | 17 + .../src/test/resources/logback.xml | 19 ++ 69 files changed, 1844 insertions(+) create mode 100644 examples/dhf4-with-tests/.gitignore create mode 100644 examples/dhf4-with-tests/README.md create mode 100644 examples/dhf4-with-tests/build.gradle create mode 100644 examples/dhf4-with-tests/gradle.properties create mode 100644 examples/dhf4-with-tests/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/dhf4-with-tests/gradle/wrapper/gradle-wrapper.properties create mode 100755 examples/dhf4-with-tests/gradlew create mode 100755 examples/dhf4-with-tests/gradlew.bat create mode 100644 examples/dhf4-with-tests/plugins/entities/Person/Person.entity.json create mode 100644 examples/dhf4-with-tests/plugins/entities/Person/input/input1/content.sjs create mode 100644 examples/dhf4-with-tests/plugins/entities/Person/input/input1/headers.sjs create mode 100644 examples/dhf4-with-tests/plugins/entities/Person/input/input1/input1.properties create mode 100644 examples/dhf4-with-tests/plugins/entities/Person/input/input1/main.sjs create mode 100644 examples/dhf4-with-tests/plugins/entities/Person/input/input1/triples.sjs create mode 100644 examples/dhf4-with-tests/src/main/entity-config/databases/final-database.json create mode 100644 examples/dhf4-with-tests/src/main/entity-config/databases/staging-database.json create mode 100644 examples/dhf4-with-tests/src/main/entity-config/final-entity-options.xml create mode 100644 examples/dhf4-with-tests/src/main/entity-config/staging-entity-options.xml create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/databases/job-database.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-database.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-schemas-database.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-triggers-database.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/schemas/staging-schema.xsd create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/schemas/tde/StagingPerson-0.0.1.tdex create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-data-hub.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-entities.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-mappings.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-trace-ui.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/data-hub-role.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/hub-admin-role.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/users/data-hub-user.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/security/users/hub-admin-user.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/servers/job-server.json create mode 100644 examples/dhf4-with-tests/src/main/hub-internal-config/servers/staging-server.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/cpf/cpf-configs/sample-cpf-config.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/cpf/domains/sample-domain.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/sample-pipeline.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/status-change-handling.xml create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-system-axis.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-valid-axis.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/collections/temporal-collection.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-system-axis.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-valid-axis.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/collections/temporal-collection.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-final-TRIGGERS/triggers/final-trigger.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-staging-TRIGGERS/triggers/staging-trigger.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/final-database.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/final-schemas-database.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/final-triggers-database.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/modules-database.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/databases/staging-database.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/security/amps/echo.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/security/privileges/example-privilege1.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/security/roles/example-role1.xml create mode 100644 examples/dhf4-with-tests/src/main/ml-config/security/users/example-user1.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/servers/README.md create mode 100644 examples/dhf4-with-tests/src/main/ml-config/servers/final-server.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/servers/job-server.json create mode 100644 examples/dhf4-with-tests/src/main/ml-config/servers/staging-server.json create mode 100644 examples/dhf4-with-tests/src/main/ml-modules/root/example/example-lib.xqy create mode 100644 examples/dhf4-with-tests/src/main/ml-modules/services/example-service.sjs create mode 100644 examples/dhf4-with-tests/src/main/ml-modules/transforms/example-transform.xsl create mode 100644 examples/dhf4-with-tests/src/main/ml-schemas/db-final-schema.xsd create mode 100644 examples/dhf4-with-tests/src/main/ml-schemas/tde/Person-0.0.1.tdex create mode 100644 examples/dhf4-with-tests/src/test/java/org/example/RunUnitTestsTest.java create mode 100644 examples/dhf4-with-tests/src/test/java/org/example/VerifyDeploymentTest.java create mode 100644 examples/dhf4-with-tests/src/test/ml-config/security/users/example-user2.json create mode 100644 examples/dhf4-with-tests/src/test/ml-modules/root/test/suites/input1-tests/content-test.sjs create mode 100644 examples/dhf4-with-tests/src/test/resources/logback.xml diff --git a/examples/dhf4-with-tests/.gitignore b/examples/dhf4-with-tests/.gitignore new file mode 100644 index 0000000000..5a7f37da40 --- /dev/null +++ b/examples/dhf4-with-tests/.gitignore @@ -0,0 +1,2 @@ +!gradle.properties +!hub-internal-config/ diff --git a/examples/dhf4-with-tests/README.md b/examples/dhf4-with-tests/README.md new file mode 100644 index 0000000000..91bf31e0f6 --- /dev/null +++ b/examples/dhf4-with-tests/README.md @@ -0,0 +1,23 @@ +This project shows an example of running JUnit5 tests against a DHF 4.1 application, including tests +that verify that the application was correctly deployed. + +Before deploying, create gradle-local.properties in this directory and add the following to it: + + mlUsername= + mlPassword= + +Enter values for the properties for a MarkLogic user that is able to deploy an application - the admin user should suffice. + +Then deploy the app; the -i is for info-level logging: + + ./gradlew -i mlDeploy + +You can then run the test cases via: + + ./gradlew test + +That task will run the following test classes in src/test/java: + +- VerifyDeploymentTest, which verifies that the application was correctly deployed +- RunUnitTestsTest, which demonstrates executing tests written using marklogic-unit-test via JUnit5 + diff --git a/examples/dhf4-with-tests/build.gradle b/examples/dhf4-with-tests/build.gradle new file mode 100644 index 0000000000..0e87ce5598 --- /dev/null +++ b/examples/dhf4-with-tests/build.gradle @@ -0,0 +1,31 @@ +plugins { + id "java" + id 'net.saliman.properties' version '1.4.6' + id 'com.marklogic.ml-data-hub' version '4.1.0' +} + +repositories { + jcenter() +} + +dependencies { + // Needed to execute tests written using marklogic-unit-test + mlRestApi "com.marklogic:marklogic-unit-test-modules:0.12.0" + + // Supports testing against MarkLogic via JUnit5 + testCompile "com.marklogic:marklogic-junit:0.11.0" + + // Needed for verifying the deployment in a JUnit5 test + testCompile "com.marklogic:ml-app-deployer:3.10.1" + + // Needed by Gradle 4.6+ to run "gradle test" + testRuntime "org.junit.jupiter:junit-jupiter-engine:5.3.0" +} + +/** + * This is needed in order to run "gradle test" in Gradle 4.6+. + * See https://www.petrikainulainen.net/programming/testing/junit-5-tutorial-running-unit-tests-with-gradle/ + */ +test { + useJUnitPlatform() +} diff --git a/examples/dhf4-with-tests/gradle.properties b/examples/dhf4-with-tests/gradle.properties new file mode 100644 index 0000000000..c9bd830b97 --- /dev/null +++ b/examples/dhf4-with-tests/gradle.properties @@ -0,0 +1,66 @@ +mlDHFVersion=4.1.0-rc2 +mlHost=localhost + +# Demonstrates the use of multiple module paths with 4.1.0 +mlModulePaths=src/main/ml-modules,src/test/ml-modules + +# Demonstrates the use of multiple config paths with 4.1.0 +mlConfigPaths=src/main/hub-internal-config,src/main/ml-config,src/test/ml-config + +# Your MarkLogic Username and Password +mlUsername= +mlPassword= + +mlStagingAppserverName=data-hub-STAGING +mlStagingPort=8010 +mlStagingDbName=data-hub-STAGING +mlStagingForestsPerHost=4 +mlStagingAuth=digest + +mlFinalAppserverName=data-hub-FINAL +mlFinalPort=8011 +mlFinalDbName=data-hub-FINAL +mlFinalForestsPerHost=3 +mlFinalAuth=digest + +mlJobAppserverName=data-hub-JOBS +mlJobPort=8013 +mlJobDbName=data-hub-JOBS +mlJobForestsPerHost=2 +mlJobAuth=digest + +mlModulesDbName=data-hub-MODULES +mlModulesForestsPerHost=1 + +mlStagingTriggersDbName=data-hub-staging-TRIGGERS +mlStagingTriggersForestsPerHost=1 + +mlStagingSchemasDbName=data-hub-staging-SCHEMAS +mlStagingSchemasForestsPerHost=1 + +mlFinalTriggersDbName=data-hub-final-TRIGGERS +mlFinalTriggersForestsPerHost=1 + +mlFinalSchemasDbName=data-hub-final-SCHEMAS +mlFinalSchemasForestsPerHost=1 + + +# The name of the Role to create for Hub Access +mlHubUserRole=data-hub-role +mlHubUserName=data-hub-user +# this password is autogenerated for you via the 'gradle hubInit' task +mlHubUserPassword=4{m^Z3H>}G0q>}m~dWsh + +# The name of the role to create for hub deployment/development +mlHubAdminRole=hub-admin-role +mlHubAdminUserName=hub-admin-user +mlHubAdminUserPassword=5RvzEXMDm#}m%$fsuuwg + +# Default module permissions which allow data-hub-role to execute flows +mlModulePermissions=rest-reader,read,rest-writer,insert,rest-writer,update,rest-extension-user,execute,data-hub-role,read,data-hub-role,execute + +# Properties for test resources +# For now, the final database and app server are used for running tests, as none of the tests involve manipulating data +# in a database, which would typically require a separate app server and database +mlTestDbName=data-hub-FINAL +mlTestPort=8011 diff --git a/examples/dhf4-with-tests/gradle/wrapper/gradle-wrapper.jar b/examples/dhf4-with-tests/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..29953ea141f55e3b8fc691d31b5ca8816d89fa87 GIT binary patch literal 56177 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 i;x|p)^~-yfPOPa3(|vBayXKz \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/dhf4-with-tests/gradlew.bat b/examples/dhf4-with-tests/gradlew.bat new file mode 100755 index 0000000000..f9553162f1 --- /dev/null +++ b/examples/dhf4-with-tests/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/dhf4-with-tests/plugins/entities/Person/Person.entity.json b/examples/dhf4-with-tests/plugins/entities/Person/Person.entity.json new file mode 100644 index 0000000000..906dcf7611 --- /dev/null +++ b/examples/dhf4-with-tests/plugins/entities/Person/Person.entity.json @@ -0,0 +1,18 @@ +{ + "info" : { + "title" : "Person", + "version" : "0.0.1", + "baseUri" : "http://example.com/", + "description" : "An Person entity" + }, + "definitions" : { + "Person" : { + "description" : "The Person entity root.", + "required" : [ ], + "rangeIndex" : [ ], + "wordLexicon" : [ ], + "pii" : [ ], + "properties" : { } + } + } +} diff --git a/examples/dhf4-with-tests/plugins/entities/Person/input/input1/content.sjs b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/content.sjs new file mode 100644 index 0000000000..e8d26d8961 --- /dev/null +++ b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/content.sjs @@ -0,0 +1,74 @@ +'use strict' + +/* +* Create Content Plugin +* +* @param id - the identifier returned by the collector +* @param options - an object containing options. Options are sent from Java +* +* @return - your content +*/ +function createContent(id, rawContent, options) { + + + let source; + + // for xml we need to use xpath + if(rawContent && xdmp.nodeKind(rawContent) === 'element' && rawContent instanceof XMLDocument) { + source = rawContent + } + // for json we need to return the instance + else if(rawContent && rawContent instanceof Document) { + source = fn.head(rawContent.root); + } + // for everything else + else { + source = rawContent; + } + + return extractInstancePerson(source); +} + +/** +* Creates an object instance from some source document. +* @param source A document or node that contains +* data for populating a Person +* @return An object with extracted data and +* metadata about the instance. +*/ +function extractInstancePerson(source) { + let attachments = source; + // now check to see if we have XML or json, then create a node clone to operate of off + if (source instanceof Element || source instanceof ObjectNode) { + let instancePath = '/'; + if(source instanceof Element) { + //make sure we grab content root only + instancePath = '/node()[not(. instance of processing-instruction() or . instance of comment())]'; + } + source = new NodeBuilder().addNode(fn.head(source.xpath(instancePath))).toNode(); + } + else{ + source = new NodeBuilder().addNode(fn.head(source)).toNode(); + } + + + // return the instance object + return { + '$attachments': attachments, + '$type': 'Person', + '$version': '0.0.1' + } +}; + + +function makeReferenceObject(type, ref) { + return { + '$type': type, + '$ref': ref + }; +} + +module.exports = { + createContent: createContent +}; + diff --git a/examples/dhf4-with-tests/plugins/entities/Person/input/input1/headers.sjs b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/headers.sjs new file mode 100644 index 0000000000..2f7d26b073 --- /dev/null +++ b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/headers.sjs @@ -0,0 +1,17 @@ +/* + * Create Headers Plugin + * + * @param id - the identifier returned by the collector + * @param content - the output of your content plugin + * @param options - an object containing options. Options are sent from Java + * + * @return - an object of headers + */ +function createHeaders(id, content, options) { + return {}; +} + +module.exports = { + createHeaders: createHeaders +}; + diff --git a/examples/dhf4-with-tests/plugins/entities/Person/input/input1/input1.properties b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/input1.properties new file mode 100644 index 0000000000..35996dcf69 --- /dev/null +++ b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/input1.properties @@ -0,0 +1,6 @@ +# +#Tue Dec 04 14:50:53 EST 2018 +mainModule=main.sjs +mainCodeFormat=sjs +codeFormat=sjs +dataFormat=json diff --git a/examples/dhf4-with-tests/plugins/entities/Person/input/input1/main.sjs b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/main.sjs new file mode 100644 index 0000000000..83d8bc8caa --- /dev/null +++ b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/main.sjs @@ -0,0 +1,45 @@ +// dhf.sjs exposes helper functions to make your life easier +// See documentation at: +// https://marklogic.github.io/marklogic-data-hub/docs/server-side/ +const dhf = require('/data-hub/4/dhf.sjs'); + +const contentPlugin = require('./content.sjs'); +const headersPlugin = require('./headers.sjs'); +const triplesPlugin = require('./triples.sjs'); + +/* + * Plugin Entry point + * + * @param id - the identifier returned by the collector + * @param rawContent - the raw content being loaded + * @param options - a map containing options. Options are sent from Java + * + */ +function main(id, rawContent, options) { + var contentContext = dhf.contentContext(rawContent); + var content = dhf.run(contentContext, function() { + return contentPlugin.createContent(id, rawContent, options); + }); + + var headerContext = dhf.headersContext(content); + var headers = dhf.run(headerContext, function() { + return headersPlugin.createHeaders(id, content, options); + }); + + var tripleContext = dhf.triplesContext(content, headers); + var triples = dhf.run(tripleContext, function() { + return triplesPlugin.createTriples(id, content, headers, options); + }); + + var envelope = dhf.makeEnvelope(content, headers, triples, options.dataFormat); + + // log the final envelope as a trace + // only fires if tracing is enabled + dhf.logTrace(dhf.writerContext(envelope)); + + return envelope; +} + +module.exports = { + main: main +}; diff --git a/examples/dhf4-with-tests/plugins/entities/Person/input/input1/triples.sjs b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/triples.sjs new file mode 100644 index 0000000000..2bc6de7af0 --- /dev/null +++ b/examples/dhf4-with-tests/plugins/entities/Person/input/input1/triples.sjs @@ -0,0 +1,18 @@ +/* + * Create Triples Plugin + * + * @param id - the identifier returned by the collector + * @param content - the output of your content plugin + * @param headers - the output of your heaaders plugin + * @param options - an object containing options. Options are sent from Java + * + * @return - an array of triples + */ +function createTriples(id, content, headers, options) { + return []; +} + +module.exports = { + createTriples: createTriples +}; + diff --git a/examples/dhf4-with-tests/src/main/entity-config/databases/final-database.json b/examples/dhf4-with-tests/src/main/entity-config/databases/final-database.json new file mode 100644 index 0000000000..5394c3ef5c --- /dev/null +++ b/examples/dhf4-with-tests/src/main/entity-config/databases/final-database.json @@ -0,0 +1,20 @@ +{ + "range-element-index": [ + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "entityConfigFinal1", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + }, + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "entityConfigFinal2", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/entity-config/databases/staging-database.json b/examples/dhf4-with-tests/src/main/entity-config/databases/staging-database.json new file mode 100644 index 0000000000..f46cf8ef68 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/entity-config/databases/staging-database.json @@ -0,0 +1,20 @@ +{ + "range-element-index": [ + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "entityConfigStaging1", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + }, + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "entityConfigStaging2", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/entity-config/final-entity-options.xml b/examples/dhf4-with-tests/src/main/entity-config/final-entity-options.xml new file mode 100644 index 0000000000..3a11be9d3b --- /dev/null +++ b/examples/dhf4-with-tests/src/main/entity-config/final-entity-options.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + unfiltered + + + //*:instance/(Person) + + + + true + + + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/main/entity-config/staging-entity-options.xml b/examples/dhf4-with-tests/src/main/entity-config/staging-entity-options.xml new file mode 100644 index 0000000000..3a11be9d3b --- /dev/null +++ b/examples/dhf4-with-tests/src/main/entity-config/staging-entity-options.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + unfiltered + + + //*:instance/(Person) + + + + true + + + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/databases/job-database.json b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/job-database.json new file mode 100644 index 0000000000..fdf94a967d --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/job-database.json @@ -0,0 +1,118 @@ +{ + "database-name": "%%mlJobDbName%%", + "range-element-index": [ + { + "scalar-type": "string", + "namespace-uri": "", + "localname": "jobId", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "namespace-uri": "", + "localname": "jobName", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "dateTime", + "namespace-uri": "", + "localname": "startTime", + "collation": "", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "dateTime", + "namespace-uri": "", + "localname": "endTime", + "collation": "", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "namespace-uri": "", + "localname": "status", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "namespace-uri": "", + "localname": "entityName", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "namespace-uri": "", + "localname": "flowName", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "namespace-uri": "", + "localname": "flowType", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + } + ], + "range-path-index": [ + { + "scalar-type": "string", + "path-expression": "/trace/hasError", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "path-expression": "/trace/flowType", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "path-expression": "/trace/jobId", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "path-expression": "/trace/traceId", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "string", + "path-expression": "/trace/identifier", + "collation": "http://marklogic.com/collation/codepoint", + "range-value-positions": false, + "invalid-values": "reject" + }, + { + "scalar-type": "dateTime", + "path-expression": "/trace/created", + "collation": "", + "range-value-positions": false, + "invalid-values": "reject" + } + ], + "schema-database": "%%mlStagingSchemasDbName%%", + "triggers-database": "%%mlStagingTriggersDbName%%", + "triple-index": true, + "collection-lexicon": true, + "uri-lexicon": true +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-database.json b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-database.json new file mode 100644 index 0000000000..6e5d682f25 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-database.json @@ -0,0 +1,9 @@ +{ + "database-name": "%%mlStagingDbName%%", + "range-element-index": [], + "schema-database": "%%mlStagingSchemasDbName%%", + "triggers-database": "%%mlStagingTriggersDbName%%", + "triple-index": true, + "collection-lexicon": true, + "uri-lexicon": true +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-schemas-database.json b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-schemas-database.json new file mode 100644 index 0000000000..cf769dfa9b --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-schemas-database.json @@ -0,0 +1,3 @@ +{ + "database-name": "%%mlStagingSchemasDbName%%" +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-triggers-database.json b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-triggers-database.json new file mode 100644 index 0000000000..d757774cf9 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/databases/staging-triggers-database.json @@ -0,0 +1,3 @@ +{ + "database-name": "%%mlStagingTriggersDbName%%" +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/schemas/staging-schema.xsd b/examples/dhf4-with-tests/src/main/hub-internal-config/schemas/staging-schema.xsd new file mode 100644 index 0000000000..fad6024ec1 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/schemas/staging-schema.xsd @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/schemas/tde/StagingPerson-0.0.1.tdex b/examples/dhf4-with-tests/src/main/hub-internal-config/schemas/tde/StagingPerson-0.0.1.tdex new file mode 100644 index 0000000000..42d56141d5 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/schemas/tde/StagingPerson-0.0.1.tdex @@ -0,0 +1,31 @@ + + + +Extraction Template Generated from Entity Type Document +graph uri: http://example.com/Person-0.0.1 + + //*:instance[*:info/*:version = "0.0.1"] + + + + + RDF + "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + + + RDF_TYPE + sem:iri(concat($RDF, "type")) + + + + + es + http://marklogic.com/entity-services + + + + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-data-hub.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-data-hub.json new file mode 100644 index 0000000000..2b9ccddcb1 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-data-hub.json @@ -0,0 +1,5 @@ +{ + "privilege-name": "dhf-internal-data-hub", + "action": "/data-hub/", + "kind": "uri" +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-entities.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-entities.json new file mode 100644 index 0000000000..610512c0ae --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-entities.json @@ -0,0 +1,5 @@ +{ + "privilege-name": "dhf-internal-entities", + "action": "/entities/", + "kind": "uri" +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-mappings.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-mappings.json new file mode 100644 index 0000000000..3e6ce232d6 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-mappings.json @@ -0,0 +1,5 @@ +{ + "privilege-name": "dhf-internal-mappings", + "action": "/mappings/", + "kind": "uri" +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-trace-ui.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-trace-ui.json new file mode 100644 index 0000000000..01e9450c01 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/privileges/dhf-internal-trace-ui.json @@ -0,0 +1,5 @@ +{ + "privilege-name": "dhf-internal-trace-ui", + "action": "/trace-ui/", + "kind": "uri" +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/data-hub-role.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/data-hub-role.json new file mode 100644 index 0000000000..0c52de46f7 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/data-hub-role.json @@ -0,0 +1,91 @@ +{ + "role-name": "%%mlHubUserRole%%", + "description": "A role that allows the user to read and write from MarkLogic Data Hub databases", + "role": [ + "rest-reader", + "rest-extension-user", + "rest-writer" + ], + "privilege": [ + { + "privilege-name": "xdmp:set-server-field", + "action": "http://marklogic.com/xdmp/privileges/xdmp-set-server-field", + "kind": "execute" + }, + { + "privilege-name": "xdmp:get-server-field", + "action": "http://marklogic.com/xdmp/privileges/xdmp-get-server-field", + "kind":"execute" + }, + { + "privilege-name": "manage", + "action": "http://marklogic.com/xdmp/privileges/manage", + "kind": "execute" + }, + { + "privilege-name": "xdmp:eval", + "action": "http://marklogic.com/xdmp/privileges/xdmp-eval", + "kind": "execute" + }, + { + "privilege-name": "xdmp:eval-in", + "action": "http://marklogic.com/xdmp/privileges/xdmp-eval-in", + "kind": "execute" + }, + { + "privilege-name": "xdmp:invoke", + "action": "http://marklogic.com/xdmp/privileges/xdmp-invoke", + "kind": "execute" + }, + { + "privilege-name": "xdmp:invoke-in", + "action": "http://marklogic.com/xdmp/privileges/xdmp-invoke-in", + "kind": "execute" + }, + { + "privilege-name": "xdbc:invoke", + "action": "http://marklogic.com/xdmp/privileges/xdbc-invoke", + "kind": "execute" + }, + { + "privilege-name": "xdbc:invoke-in", + "action": "http://marklogic.com/xdmp/privileges/xdbc-invoke-in", + "kind": "execute" + }, + { + "privilege-name": "xdbc:eval", + "action": "http://marklogic.com/xdmp/privileges/xdbc-eval", + "kind":"execute" + }, + { + "privilege-name": "xdbc:eval-in", + "action": "http://marklogic.com/xdmp/privileges/xdbc-eval-in", + "kind":"execute" + }, + { + "privilege-name": "xdmp:document-load", + "action": "http://marklogic.com/xdmp/privileges/xdmp-document-load", + "kind": "execute" + }, + { + "privilege-name": "xdmp:get-server-field-names", + "action": "http://marklogic.com/xdmp/privileges/xdmp-get-server-field-names", + "kind": "execute" + }, + { + "privilege-name": "xdmp:value", + "action": "http://marklogic.com/xdmp/privileges/xdmp-value", + "kind": "execute" + }, + { + "privilege-name": "unprotected-collections", + "action": "http://marklogic.com/xdmp/privileges/unprotected-collections", + "kind": "execute" + }, + { + "privilege-name": "unprotected-uri", + "action": "http://marklogic.com/xdmp/privileges/unprotected-uri", + "kind": "execute" + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/hub-admin-role.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/hub-admin-role.json new file mode 100644 index 0000000000..b0ddb391be --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/roles/hub-admin-role.json @@ -0,0 +1,84 @@ +{ + "role-name": "%%mlHubAdminRole%%", + "description": "A role can deploy modules to a data hub instance.", + "role": [ + "rest-admin","manage-admin", "tde-admin" + ], + "privilege": [ + { + "privilege-name": "xdmp:set-server-field", + "action": "http://marklogic.com/xdmp/privileges/xdmp-set-server-field", + "kind": "execute" + }, + { + "privilege-name": "xdmp:get-server-field", + "action": "http://marklogic.com/xdmp/privileges/xdmp-get-server-field", + "kind":"execute" + }, + { + "privilege-name": "manage", + "action": "http://marklogic.com/xdmp/privileges/manage", + "kind": "execute" + }, + { + "privilege-name": "xdmp:eval", + "action": "http://marklogic.com/xdmp/privileges/xdmp-eval", + "kind": "execute" + }, + { + "privilege-name": "xdmp:eval-in", + "action": "http://marklogic.com/xdmp/privileges/xdmp-eval-in", + "kind": "execute" + }, + { + "privilege-name": "xdmp:invoke", + "action": "http://marklogic.com/xdmp/privileges/xdmp-invoke", + "kind": "execute" + }, + { + "privilege-name": "xdmp:invoke-in", + "action": "http://marklogic.com/xdmp/privileges/xdmp-invoke-in", + "kind": "execute" + }, + { + "privilege-name": "xdbc:invoke", + "action": "http://marklogic.com/xdmp/privileges/xdbc-invoke", + "kind": "execute" + }, + { + "privilege-name": "xdbc:invoke-in", + "action": "http://marklogic.com/xdmp/privileges/xdbc-invoke-in", + "kind": "execute" + }, + { + "privilege-name": "xdbc:eval", + "action": "http://marklogic.com/xdmp/privileges/xdbc-eval", + "kind":"execute" + }, + { + "privilege-name": "xdbc:eval-in", + "action": "http://marklogic.com/xdmp/privileges/xdbc-eval-in", + "kind":"execute" + }, + { + "privilege-name": "xdmp:document-load", + "action": "http://marklogic.com/xdmp/privileges/xdmp-document-load", + "kind": "execute" + }, + { + "privilege-name": "xdmp:get-server-field-names", + "action": "http://marklogic.com/xdmp/privileges/xdmp-get-server-field-names", + "kind": "execute" + }, + { + "privilege-name": "unprotected-collections", + "action": "http://marklogic.com/xdmp/privileges/unprotected-collections", + "kind": "execute" + }, + { + "privilege-name": "any-uri", + "action": "http://marklogic.com/xdmp/privileges/any-uri", + "kind": "execute" + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/users/data-hub-user.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/users/data-hub-user.json new file mode 100644 index 0000000000..51ded8530d --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/users/data-hub-user.json @@ -0,0 +1,6 @@ +{ + "user-name": "%%mlHubUserName%%", + "description": "A user that is used for reading and writing from MarkLogic Data Hub databases", + "password": "%%mlHubUserPassword%%", + "role": ["%%mlHubUserRole%%"] +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/security/users/hub-admin-user.json b/examples/dhf4-with-tests/src/main/hub-internal-config/security/users/hub-admin-user.json new file mode 100644 index 0000000000..6dfc31fbb8 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/security/users/hub-admin-user.json @@ -0,0 +1,6 @@ +{ + "user-name": "%%mlHubAdminUserName%%", + "description": "A user that is used for reading and writing from MarkLogic Data Hub databases and for maintaining DHF modules", + "password": "%%mlHubAdminUserPassword%%", + "role": ["%%mlHubAdminRole%%","%%mlHubUserRole%%"] +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/servers/job-server.json b/examples/dhf4-with-tests/src/main/hub-internal-config/servers/job-server.json new file mode 100644 index 0000000000..7d6c8fda40 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/servers/job-server.json @@ -0,0 +1,14 @@ +{ + "server-name": "%%mlJobAppserverName%%", + "server-type": "http", + "root": "/", + "group-name": "%%GROUP%%", + "port": "%%mlJobPort%%", + "modules-database": "%%mlModulesDbName%%", + "content-database": "%%mlJobDbName%%", + "authentication": "%%mlJobAuth%%", + "default-error-format": "json", + "error-handler": "/MarkLogic/rest-api/error-handler.xqy", + "url-rewriter": "/data-hub/4/tracing/tracing-rewriter.xml", + "rewrite-resolves-globally": true +} diff --git a/examples/dhf4-with-tests/src/main/hub-internal-config/servers/staging-server.json b/examples/dhf4-with-tests/src/main/hub-internal-config/servers/staging-server.json new file mode 100644 index 0000000000..aecf2197a7 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/hub-internal-config/servers/staging-server.json @@ -0,0 +1,14 @@ +{ + "server-name": "%%mlStagingAppserverName%%", + "server-type": "http", + "root": "/", + "group-name": "%%GROUP%%", + "port": "%%mlStagingPort%%", + "modules-database": "%%mlModulesDbName%%", + "content-database": "%%mlStagingDbName%%", + "authentication": "%%mlStagingAuth%%", + "default-error-format": "json", + "error-handler": "/data-hub/4/rest-api/error-handler.xqy", + "url-rewriter": "/data-hub/4/rest-api/rewriter.xml", + "rewrite-resolves-globally": true +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/cpf/cpf-configs/sample-cpf-config.json b/examples/dhf4-with-tests/src/main/ml-config/cpf/cpf-configs/sample-cpf-config.json new file mode 100644 index 0000000000..0bbda884df --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/cpf/cpf-configs/sample-cpf-config.json @@ -0,0 +1,17 @@ +{ + "domain-name": "sample-domain", + "restart-user-name": "%%mlHubUserName%%", + "eval-module": "%%MODULES_DATABASE%%", + "eval-root": "/", + "conversion-enabled": false, + "permission": [ + { + "role-name": "rest-reader", + "capability": "read" + }, + { + "role-name": "rest-writer", + "capability": "update" + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/cpf/domains/sample-domain.json b/examples/dhf4-with-tests/src/main/ml-config/cpf/domains/sample-domain.json new file mode 100644 index 0000000000..dd16182cf1 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/cpf/domains/sample-domain.json @@ -0,0 +1,12 @@ +{ + "domain-name": "sample-domain", + "description": "Sample CPF domain", + "scope": "collection", + "uri": "cpf-test", + "eval-module": "%%MODULES_DATABASE%%", + "eval-root": "/", + "pipeline": [ + "Status Change Handling", + "Sample Pipeline" + ] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/sample-pipeline.json b/examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/sample-pipeline.json new file mode 100644 index 0000000000..9e0155f200 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/sample-pipeline.json @@ -0,0 +1,28 @@ +{ + "pipeline-name": "Sample Pipeline", + "pipeline-description": "Sample CPF pipeline", + "success-action": { + "module": "/MarkLogic/cpf/actions/success-action.xqy" + }, + "failure-action": { + "module": "/MarkLogic/cpf/actions/failure-action.xqy" + }, + "state-transition": [ + { + "annotation": "Just tests a sample condition and action", + "state": "http://marklogic.com/states/initial", + "on-success": "http://marklogic.com/states/done", + "on-failure": "http://marklogic.com/states/error", + "execute": [ + { + "condition": { + "module": "ext/cpf-example/cpf/sample-condition.xqy" + }, + "action": { + "module": "ext/cpf-example/cpf/sample-action.xqy" + } + } + ] + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/status-change-handling.xml b/examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/status-change-handling.xml new file mode 100644 index 0000000000..a55e0340b2 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/cpf/pipelines/status-change-handling.xml @@ -0,0 +1,78 @@ + + Status Change Handling + Out-of-the-box document status handling. + + /MarkLogic/cpf/actions/success-action.xqy + + + /MarkLogic/cpf/actions/failure-action.xqy + + + + New document entering the system: kick it into the appropriate initial state. If is has an initial state, go to that + state. If it doesn't, go to the standard initial state and set the initial timestamp. + + created + http://marklogic.com/states/initial + 100 + + /MarkLogic/cpf/actions/set-updated-action.xqy + + + + /MarkLogic/cpf/actions/changed-type-condition.xqy + + + /MarkLogic/cpf/actions/success-action.xqy + + + + + /MarkLogic/cpf/actions/renamed-links-condition.xqy + + + /MarkLogic/cpf/actions/link-rename-action.xqy + + + + + /MarkLogic/cpf/actions/existing-state-condition.xqy + + + /MarkLogic/cpf/actions/touch-state-action.xqy + + + + + + Clean up dangling links and dependent documents from deleted documents. + + deleted + 100 + + /MarkLogic/cpf/actions/link-coherency-action.xqy + + + + + Update the document time stamp and shift to the updated state. + + updated + http://marklogic.com/states/updated + 100 + + /MarkLogic/cpf/actions/set-updated-action.xqy + + + + + Update the document time stamp and shift to the updated state. + + property-updated + http://marklogic.com/states/property-updated + 100 + + /MarkLogic/cpf/actions/set-property-updated-action.xqy + + + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-system-axis.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-system-axis.json new file mode 100644 index 0000000000..250eb5f23f --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-system-axis.json @@ -0,0 +1,15 @@ +{ + "axis-name": "final-system", + "axis-start": { + "element-reference": { + "namespace-uri": "", + "localname": "systemStart" + } + }, + "axis-end": { + "element-reference": { + "namespace-uri": "", + "localname": "systemEnd" + } + } +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-valid-axis.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-valid-axis.json new file mode 100644 index 0000000000..748e364a1b --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/axes/temporal-valid-axis.json @@ -0,0 +1,15 @@ +{ + "axis-name": "final-valid", + "axis-start": { + "element-reference": { + "namespace-uri": "", + "localname": "validStart" + } + }, + "axis-end": { + "element-reference": { + "namespace-uri": "", + "localname": "validEnd" + } + } +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/collections/temporal-collection.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/collections/temporal-collection.json new file mode 100644 index 0000000000..9a5fd6de6d --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-FINAL/temporal/collections/temporal-collection.json @@ -0,0 +1,8 @@ +{ + "collection-name": "final-temporal-collection", + "system-axis": "final-system", + "valid-axis": "final-valid", + "option": [ + "updates-safe" + ] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-system-axis.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-system-axis.json new file mode 100644 index 0000000000..0062159a34 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-system-axis.json @@ -0,0 +1,15 @@ +{ + "axis-name": "staging-system", + "axis-start": { + "element-reference": { + "namespace-uri": "", + "localname": "systemStart" + } + }, + "axis-end": { + "element-reference": { + "namespace-uri": "", + "localname": "systemEnd" + } + } +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-valid-axis.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-valid-axis.json new file mode 100644 index 0000000000..e9ae60faf5 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/axes/temporal-valid-axis.json @@ -0,0 +1,15 @@ +{ + "axis-name": "staging-valid", + "axis-start": { + "element-reference": { + "namespace-uri": "", + "localname": "validStart" + } + }, + "axis-end": { + "element-reference": { + "namespace-uri": "", + "localname": "validEnd" + } + } +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/collections/temporal-collection.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/collections/temporal-collection.json new file mode 100644 index 0000000000..12ece6a7c4 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-STAGING/temporal/collections/temporal-collection.json @@ -0,0 +1,8 @@ +{ + "collection-name": "staging-temporal-collection", + "system-axis": "staging-system", + "valid-axis": "staging-valid", + "option": [ + "updates-safe" + ] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-final-TRIGGERS/triggers/final-trigger.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-final-TRIGGERS/triggers/final-trigger.json new file mode 100644 index 0000000000..ab70017e9c --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-final-TRIGGERS/triggers/final-trigger.json @@ -0,0 +1,21 @@ +{ + "name": "final-trigger", + "description": "Example", + "event": { + "data-event": { + "collection-scope": { + "uri": "some-collection" + }, + "document-content": { + "update-kind": ["create"] + }, + "when": "pre-commit" + } + }, + "module": "/some/trigger.xqy", + "module-db": "%%mlModulesDbName%%", + "module-root": "/", + "enabled": true, + "recursive": false, + "task-priority": "normal" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-staging-TRIGGERS/triggers/staging-trigger.json b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-staging-TRIGGERS/triggers/staging-trigger.json new file mode 100644 index 0000000000..2d9ca6b496 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/data-hub-staging-TRIGGERS/triggers/staging-trigger.json @@ -0,0 +1,21 @@ +{ + "name": "staging-trigger", + "description": "Example", + "event": { + "data-event": { + "collection-scope": { + "uri": "some-collection" + }, + "document-content": { + "update-kind": ["create"] + }, + "when": "pre-commit" + } + }, + "module": "/some/trigger.xqy", + "module-db": "%%mlModulesDbName%%", + "module-root": "/", + "enabled": true, + "recursive": false, + "task-priority": "normal" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/final-database.json b/examples/dhf4-with-tests/src/main/ml-config/databases/final-database.json new file mode 100644 index 0000000000..45dc2477d4 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/final-database.json @@ -0,0 +1,26 @@ +{ + "database-name": "%%mlFinalDbName%%", + "range-element-index": [ + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "userConfigFinal1", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + }, + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "userConfigFinal2", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + } + ], + "schema-database": "%%mlFinalSchemasDbName%%", + "triggers-database": "%%mlFinalTriggersDbName%%", + "triple-index": true, + "collection-lexicon": true, + "uri-lexicon": true +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/final-schemas-database.json b/examples/dhf4-with-tests/src/main/ml-config/databases/final-schemas-database.json new file mode 100644 index 0000000000..7db14e3546 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/final-schemas-database.json @@ -0,0 +1,3 @@ +{ + "database-name": "%%mlFinalSchemasDbName%%" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/final-triggers-database.json b/examples/dhf4-with-tests/src/main/ml-config/databases/final-triggers-database.json new file mode 100644 index 0000000000..e9cccf69e9 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/final-triggers-database.json @@ -0,0 +1,3 @@ +{ + "database-name": "%%mlFinalTriggersDbName%%" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/modules-database.json b/examples/dhf4-with-tests/src/main/ml-config/databases/modules-database.json new file mode 100644 index 0000000000..f1c7230a02 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/modules-database.json @@ -0,0 +1,5 @@ +{ + "database-name": "%%mlModulesDbName%%", + "collection-lexicon": true, + "uri-lexicon": true +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/databases/staging-database.json b/examples/dhf4-with-tests/src/main/ml-config/databases/staging-database.json new file mode 100644 index 0000000000..cdc21cda3a --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/databases/staging-database.json @@ -0,0 +1,22 @@ +{ + "database-name": "%%mlStagingDbName%%", + "word-positions": true, + "range-element-index": [ + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "userConfigStaging1", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + }, + { + "collation": "http://marklogic.com/collation/codepoint", + "invalid-values": "reject", + "localname": "userConfigStaging2", + "namespace-uri": null, + "range-value-positions": false, + "scalar-type": "string" + } + ] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/security/amps/echo.json b/examples/dhf4-with-tests/src/main/ml-config/security/amps/echo.json new file mode 100644 index 0000000000..d049ac525f --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/security/amps/echo.json @@ -0,0 +1,7 @@ +{ + "namespace": "org:example", + "local-name": "echo", + "document-uri": "/example/example-lib.xqy", + "modules-database": "%%MODULES_DATABASE%%", + "role": ["admin"] +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/security/privileges/example-privilege1.json b/examples/dhf4-with-tests/src/main/ml-config/security/privileges/example-privilege1.json new file mode 100644 index 0000000000..dd8dc15b5e --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/security/privileges/example-privilege1.json @@ -0,0 +1,5 @@ +{ + "privilege-name":"example-privilege1", + "action": "example-privilege1", + "kind":"execute" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/security/roles/example-role1.xml b/examples/dhf4-with-tests/src/main/ml-config/security/roles/example-role1.xml new file mode 100644 index 0000000000..bf9dcf2ef7 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/security/roles/example-role1.xml @@ -0,0 +1,4 @@ + + example-role1 + Test role for example application + diff --git a/examples/dhf4-with-tests/src/main/ml-config/security/users/example-user1.json b/examples/dhf4-with-tests/src/main/ml-config/security/users/example-user1.json new file mode 100644 index 0000000000..c6bd623b7f --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/security/users/example-user1.json @@ -0,0 +1,4 @@ +{ + "user-name": "example-user1", + "password": "password" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/servers/README.md b/examples/dhf4-with-tests/src/main/ml-config/servers/README.md new file mode 100644 index 0000000000..b585fd0a71 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/servers/README.md @@ -0,0 +1,4 @@ +The job-server.json and staging-server.json files show examples of overriding the +configuration defined by the same files under hub-internal-config. The names of these +files do not matter; they can be anything. They will be processed after the hub-internal-config files +are processed, thereby providing a chance to override anything in the hub-internal-config files. diff --git a/examples/dhf4-with-tests/src/main/ml-config/servers/final-server.json b/examples/dhf4-with-tests/src/main/ml-config/servers/final-server.json new file mode 100644 index 0000000000..2080945373 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/servers/final-server.json @@ -0,0 +1,14 @@ +{ + "server-name": "%%mlFinalAppserverName%%", + "server-type": "http", + "root": "/", + "group-name": "%%GROUP%%", + "port": "%%mlFinalPort%%", + "modules-database": "%%mlModulesDbName%%", + "content-database": "%%mlFinalDbName%%", + "authentication": "%%mlFinalAuth%%", + "default-error-format": "json", + "error-handler": "/MarkLogic/rest-api/error-handler.xqy", + "url-rewriter": "/MarkLogic/rest-api/rewriter.xml", + "rewrite-resolves-globally": true +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/servers/job-server.json b/examples/dhf4-with-tests/src/main/ml-config/servers/job-server.json new file mode 100644 index 0000000000..3574a03f66 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/servers/job-server.json @@ -0,0 +1,4 @@ +{ + "server-name": "%%mlJobAppserverName%%", + "default-error-format": "xml" +} diff --git a/examples/dhf4-with-tests/src/main/ml-config/servers/staging-server.json b/examples/dhf4-with-tests/src/main/ml-config/servers/staging-server.json new file mode 100644 index 0000000000..d854e086db --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-config/servers/staging-server.json @@ -0,0 +1,4 @@ +{ + "server-name": "%%mlStagingAppserverName%%", + "default-error-format": "xml" +} diff --git a/examples/dhf4-with-tests/src/main/ml-modules/root/example/example-lib.xqy b/examples/dhf4-with-tests/src/main/ml-modules/root/example/example-lib.xqy new file mode 100644 index 0000000000..4183448ca0 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-modules/root/example/example-lib.xqy @@ -0,0 +1,8 @@ +xquery version "1.0-ml"; + +module namespace example = "org:example"; + +declare function echo($str as xs:string) as xs:string +{ + "You said: " || $str +}; diff --git a/examples/dhf4-with-tests/src/main/ml-modules/services/example-service.sjs b/examples/dhf4-with-tests/src/main/ml-modules/services/example-service.sjs new file mode 100644 index 0000000000..95dc0545da --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-modules/services/example-service.sjs @@ -0,0 +1,20 @@ +function get(context, params) { + // return zero or more document nodes +}; + +function post(context, params, input) { + // return zero or more document nodes +}; + +function put(context, params, input) { + // return at most one document node +}; + +function deleteFunction(context, params) { + // return at most one document node +}; + +exports.GET = get; +exports.POST = post; +exports.PUT = put; +exports.DELETE = deleteFunction; diff --git a/examples/dhf4-with-tests/src/main/ml-modules/transforms/example-transform.xsl b/examples/dhf4-with-tests/src/main/ml-modules/transforms/example-transform.xsl new file mode 100644 index 0000000000..a1424783eb --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-modules/transforms/example-transform.xsl @@ -0,0 +1,7 @@ + + + + + + + diff --git a/examples/dhf4-with-tests/src/main/ml-schemas/db-final-schema.xsd b/examples/dhf4-with-tests/src/main/ml-schemas/db-final-schema.xsd new file mode 100644 index 0000000000..8c00d9fe15 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-schemas/db-final-schema.xsd @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/main/ml-schemas/tde/Person-0.0.1.tdex b/examples/dhf4-with-tests/src/main/ml-schemas/tde/Person-0.0.1.tdex new file mode 100644 index 0000000000..42d56141d5 --- /dev/null +++ b/examples/dhf4-with-tests/src/main/ml-schemas/tde/Person-0.0.1.tdex @@ -0,0 +1,31 @@ + + + +Extraction Template Generated from Entity Type Document +graph uri: http://example.com/Person-0.0.1 + + //*:instance[*:info/*:version = "0.0.1"] + + + + + RDF + "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + + + RDF_TYPE + sem:iri(concat($RDF, "type")) + + + + + es + http://marklogic.com/entity-services + + + + \ No newline at end of file diff --git a/examples/dhf4-with-tests/src/test/java/org/example/RunUnitTestsTest.java b/examples/dhf4-with-tests/src/test/java/org/example/RunUnitTestsTest.java new file mode 100644 index 0000000000..9abb885bde --- /dev/null +++ b/examples/dhf4-with-tests/src/test/java/org/example/RunUnitTestsTest.java @@ -0,0 +1,17 @@ +package org.example; + +import com.marklogic.junit5.dhf.DataHubUnitTestsTest; + +/** + * This class must exist on the test classpath so that JUnit5 is able to run something that knows how to + * execute marklogic-unit-test test modules and aggregate the results into a format that JUnit 5 understands and + * can include in its report. + * + * Note that this test won't pass when the app is only installed with QuickStart, as QuickStart is not aware of + * mlRestApi dependencies like marklogic-unit-test. If you install with QuickStart, you'll need to then run + * Gradle's mlReloadModules task to get marklogic-unit-test loaded. + */ +public class RunUnitTestsTest extends DataHubUnitTestsTest { + +} + diff --git a/examples/dhf4-with-tests/src/test/java/org/example/VerifyDeploymentTest.java b/examples/dhf4-with-tests/src/test/java/org/example/VerifyDeploymentTest.java new file mode 100644 index 0000000000..11cd4dbb86 --- /dev/null +++ b/examples/dhf4-with-tests/src/test/java/org/example/VerifyDeploymentTest.java @@ -0,0 +1,301 @@ +package org.example; + +import com.marklogic.client.DatabaseClient; +import com.marklogic.client.DatabaseClientFactory; +import com.marklogic.client.io.DocumentMetadataHandle; +import com.marklogic.client.io.StringHandle; +import com.marklogic.junit5.XmlNode; +import com.marklogic.junit5.dhf.AbstractDataHubTest; +import com.marklogic.junit5.dhf.DataHubTestConfig; +import com.marklogic.mgmt.ManageClient; +import com.marklogic.mgmt.ManageConfig; +import com.marklogic.mgmt.api.API; +import com.marklogic.mgmt.api.database.Database; +import com.marklogic.mgmt.api.server.Server; +import com.marklogic.mgmt.mapper.DefaultResourceMapper; +import com.marklogic.mgmt.mapper.ResourceMapper; +import com.marklogic.mgmt.resource.appservers.ServerManager; +import com.marklogic.mgmt.resource.cpf.DomainManager; +import com.marklogic.mgmt.resource.cpf.PipelineManager; +import com.marklogic.mgmt.resource.databases.DatabaseManager; +import com.marklogic.mgmt.resource.security.AmpManager; +import com.marklogic.mgmt.resource.security.PrivilegeManager; +import com.marklogic.mgmt.resource.security.RoleManager; +import com.marklogic.mgmt.resource.security.UserManager; +import com.marklogic.mgmt.resource.temporal.TemporalAxesManager; +import com.marklogic.mgmt.resource.temporal.TemporalCollectionManager; +import com.marklogic.mgmt.resource.triggers.TriggerManager; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Run this test after deploying the app to verify that all aspects of the deployment completed successfully. + */ +public class VerifyDeploymentTest extends AbstractDataHubTest { + + @Autowired + DataHubTestConfig dataHubTestConfig; + + private ManageClient manageClient; + private DatabaseClient databaseClient; + private ResourceMapper resourceMapper; + + @BeforeEach + public void setup() { + ManageConfig config = new ManageConfig(dataHubTestConfig.getHost(), 8002, dataHubTestConfig.getUsername(), + dataHubTestConfig.getPassword()); + manageClient = new ManageClient(config); + + resourceMapper = new DefaultResourceMapper(new API(manageClient)); + } + + @AfterEach + public void teardown() { + if (databaseClient != null) { + databaseClient.release(); + } + } + + @Test + public void verifyDatabasesWereDeployed() { + DatabaseManager mgr = new DatabaseManager(manageClient); + assertTrue(mgr.exists("data-hub-FINAL")); + assertTrue(mgr.exists("data-hub-final-SCHEMAS")); + assertTrue(mgr.exists("data-hub-final-TRIGGERS")); + assertTrue(mgr.exists("data-hub-JOBS")); + assertTrue(mgr.exists("data-hub-MODULES")); + assertTrue(mgr.exists("data-hub-STAGING")); + assertTrue(mgr.exists("data-hub-staging-SCHEMAS")); + assertTrue(mgr.exists("data-hub-staging-TRIGGERS")); + } + + @Test + public void verifyStagingDatabaseIsOverridden() { + String json = new DatabaseManager(manageClient).getPropertiesAsJson("data-hub-STAGING"); + Database db = resourceMapper.readResource(json, Database.class); + assertEquals(4, db.getRangeElementIndex().size(), + "There should be 4 range indexes - 2 from the entity-config file, and 2 from the user's ml-config file."); + + assertEquals("entityConfigStaging1", db.getRangeElementIndex().get(0).getLocalname()); + assertEquals("entityConfigStaging2", db.getRangeElementIndex().get(1).getLocalname()); + assertEquals("userConfigStaging1", db.getRangeElementIndex().get(2).getLocalname()); + assertEquals("userConfigStaging2", db.getRangeElementIndex().get(3).getLocalname()); + + assertTrue(db.getWordPositions(), "The user's staging-database file overrides this an sets it to true"); + } + + /** + * Deploying from QS currently has a bug where the existing final-database.json file is overwritten. So this test + * fails because only 2 range indexes are found instead of 4. + */ + @Test + public void verifyFinalDatabaseIsOverridden() { + String json = new DatabaseManager(manageClient).getPropertiesAsJson("data-hub-FINAL"); + Database db = resourceMapper.readResource(json, Database.class); + assertEquals(4, db.getRangeElementIndex().size(), + "There should be 4 range indexes - 2 from the entity-config file, and 2 from the user's ml-config file."); + + assertEquals("entityConfigFinal1", db.getRangeElementIndex().get(0).getLocalname()); + assertEquals("entityConfigFinal2", db.getRangeElementIndex().get(1).getLocalname()); + assertEquals("userConfigFinal1", db.getRangeElementIndex().get(2).getLocalname()); + assertEquals("userConfigFinal2", db.getRangeElementIndex().get(3).getLocalname()); + } + + /** + * As of 4.1.0, CPF resources under ml-config/cpf are deployed to the final database by default. + */ + @Test + public void verifyCpfResourcesWereDeployedToFinalDatabase() { + DomainManager domainManager = new DomainManager(manageClient, "data-hub-final-TRIGGERS"); + assertTrue(domainManager.exists("sample-domain")); + + PipelineManager pipelineManager = new PipelineManager(manageClient, "data-hub-final-TRIGGERS"); + assertTrue(pipelineManager.exists("Sample Pipeline")); + assertTrue(pipelineManager.exists("Status Change Handling")); + } + + @Test + public void verifySecurityResourcesWereDeployed() { + UserManager userManager = new UserManager(manageClient); + assertTrue(userManager.exists("data-hub-user")); + assertTrue(userManager.exists("example-user1")); + assertTrue(userManager.exists("example-user2"), + "This verifies that all locations in mlConfigPaths are being processed, as this user is defined in src/test/ml-config"); + + RoleManager roleManager = new RoleManager(manageClient); + assertTrue(roleManager.exists("data-hub-role")); + assertTrue(roleManager.exists("hub-admin-role")); + assertTrue(roleManager.exists("example-role1")); + + PrivilegeManager privilegeManager = new PrivilegeManager(manageClient); + assertTrue(privilegeManager.exists("dhf-internal-data-hub")); + assertTrue(privilegeManager.exists("dhf-internal-entities")); + assertTrue(privilegeManager.exists("dhf-internal-mappings")); + assertTrue(privilegeManager.exists("dhf-internal-trace-ui")); + assertTrue(privilegeManager.exists("example-privilege1")); + + AmpManager ampManager = new AmpManager(manageClient); + final String payload = "{" + + " \"namespace\": \"org:example\"," + + " \"local-name\": \"echo\"," + + " \"document-uri\": \"/example/example-lib.xqy\"," + + " \"modules-database\": \"data-hub-MODULES\"," + + " \"role\": [\"admin\"]" + + "}"; + assertTrue(ampManager.ampExists(payload)); + } + + @Test + public void verifyServersWereDeployed() { + ServerManager mgr = new ServerManager(manageClient); + assertTrue(mgr.exists("data-hub-FINAL")); + assertTrue(mgr.exists("data-hub-JOBS")); + assertTrue(mgr.exists("data-hub-STAGING")); + } + + @Test + public void verifyStagingServerIsOverridden() { + String json = new ServerManager(manageClient).getPropertiesAsJson("data-hub-STAGING"); + Server server = resourceMapper.readResource(json, Server.class); + assertEquals("xml", server.getDefaultErrorFormat(), + "The hub-internal-config file defaults this to json, but the ml-config file overrides it to be xml"); + } + + @Test + public void verifyJobServerIsOverridden() { + String json = new ServerManager(manageClient).getPropertiesAsJson("data-hub-JOBS"); + Server server = resourceMapper.readResource(json, Server.class); + assertEquals("xml", server.getDefaultErrorFormat(), + "The hub-internal-config file defaults this to json, but the ml-config file overrides it to be xml"); + } + + @Test + public void verifyModulesDatabase() { + databaseClient = newClient("data-hub-MODULES"); + + boolean wasInstalledViaQuickStart = wasInstalledViaQuickStart(databaseClient); + + assertEquals(107, getModuleCountInDirectory("/data-hub/4/"), "DHF 4.1.0 has 107 modules in this directory"); + + + if (wasInstalledViaQuickStart) { + assertEquals(3, getModuleCountInDirectory("/com.marklogic.hub/"), "DHF 4.1.0 has 3 modules in this directory when installed via QS"); + } else { + assertEquals(2, getModuleCountInDirectory("/com.marklogic.hub/"), "DHF 4.1.0 has 2 modules in this directory"); + } + + assertEquals(5, getModuleCountInDirectory("/entities/"), "The Person entity has an input flow with 5 modules"); + + assertEquals(24, getModuleCountInDirectory("/trace-ui/"), "DHF 4.1.0 has 24 modules in this directory"); + + if (wasInstalledViaQuickStart) { + // This is failing with QS, need to figure out why it doesn't read from a second module path (logging indicates that it does) + assertEquals(1, getModuleCountInDirectory("/test/"), "QS doesn't know about mlRestApi dependencies; those are specific to Gradle; " + + "but the 1 module under src/test/ml-modules should still be loaded"); + } else { + assertEquals(24, getModuleCountInDirectory("/test/"), + "marklogic-unit-test 0.12.0 has 23 modules in this directory. These modules are loaded via an ml-gradle mlRestApi dependency. " + + "The user then has a single module in this directory that's defined under src/test/ml-modules."); + + assertEquals(2, getModuleCountInDirectory("/marklogic.rest.resource/marklogic-unit-test/"), + "The marklogic-unit-test resource extension should be installed via a Gradle deployment, but not via QS"); + } + + assertEquals(1, getModuleCountInDirectory("/example/"), "The src/main/ml-modules directory has one module in this directory"); + assertEquals(3, getModuleCountInDirectory("/marklogic.rest.resource/example-service/")); + assertEquals(3, getModuleCountInDirectory("/marklogic.rest.transform/example-transform/")); + + + assertEquals(6, getModuleCountInDirectory("/Default/"), "6 search options are expected in this directory; " + + "final/default.xml; final/final-entity-options.xml; jobs/jobs.xml; jobs/traces.xml; " + + "staging/default.xml; and staging/staging-entity-options.xml"); + + if (wasInstalledViaQuickStart) { + assertEquals(153, getModuleCountInDirectory("/")); + } else { + assertEquals(177, getModuleCountInDirectory("/")); + } + } + + /** + * Staging schemas are loaded from src/main/hub-internal-config/schemas. + */ + @Test + public void verifyStagingSchemas() { + databaseClient = newClient("data-hub-staging-SCHEMAS"); + + final String schemaUri = "/staging-schema.xsd"; + new XmlNode(databaseClient.newXMLDocumentManager().read(schemaUri, new StringHandle()).get()).assertElementExists("/staging"); + + final String tdeUri = "/tde/StagingPerson-0.0.1.tdex"; + DocumentMetadataHandle metadata = databaseClient.newDocumentManager().readMetadata(tdeUri, new DocumentMetadataHandle()); + assertEquals("http://marklogic.com/xdmp/tde", metadata.getCollections().iterator().next()); + } + + /** + * Final schemas are loaded from src/main/ml-schemas. + */ + @Test + public void verifyFinalSchemas() { + databaseClient = newClient("data-hub-final-SCHEMAS"); + + final String schemaUri = "/db-final-schema.xsd"; + new XmlNode(databaseClient.newXMLDocumentManager().read(schemaUri, new StringHandle()).get()).assertElementExists("/database-final-schema"); + + final String tdeUri = "/tde/Person-0.0.1.tdex"; + DocumentMetadataHandle metadata = databaseClient.newDocumentManager().readMetadata(tdeUri, new DocumentMetadataHandle()); + assertEquals("http://marklogic.com/xdmp/tde", metadata.getCollections().iterator().next()); + } + + @Test + public void verifyTriggers() { + TriggerManager mgr = new TriggerManager(manageClient, "data-hub-final-TRIGGERS"); + assertTrue(mgr.exists("final-trigger")); + assertFalse(mgr.exists("staging-trigger")); + + mgr = new TriggerManager(manageClient, "data-hub-staging-TRIGGERS"); + assertFalse(mgr.exists("final-trigger")); + assertTrue(mgr.exists("staging-trigger")); + } + + @Test + public void verifyFinalTemporal() { + final String db = "data-hub-FINAL"; + + assertTrue(new TemporalCollectionManager(manageClient, db).exists("final-temporal-collection")); + + TemporalAxesManager axesManager = new TemporalAxesManager(manageClient, db); + assertTrue(axesManager.exists("final-system")); + assertTrue(axesManager.exists("final-valid")); + } + + @Test + public void verifyStagingTemporal() { + final String db = "data-hub-STAGING"; + + assertTrue(new TemporalCollectionManager(manageClient, db).exists("staging-temporal-collection")); + + TemporalAxesManager axesManager = new TemporalAxesManager(manageClient, db); + assertTrue(axesManager.exists("staging-system")); + assertTrue(axesManager.exists("staging-valid")); + } + + private int getModuleCountInDirectory(String directory) { + String query = String.format("cts.estimate(cts.directoryQuery('%s', 'infinity'))", directory); + return Integer.parseInt(databaseClient.newServerEval().javascript(query).evalAs(String.class)); + } + + private DatabaseClient newClient(String database) { + return DatabaseClientFactory.newClient(dataHubTestConfig.getHost(), dataHubTestConfig.getStagingPort(), database, + new DatabaseClientFactory.DigestAuthContext(dataHubTestConfig.getUsername(), dataHubTestConfig.getPassword())); + } + + private boolean wasInstalledViaQuickStart(DatabaseClient client) { + String query = "cts.exists(cts.documentQuery('/com.marklogic.hub/settings/__tracing_enabled__.xml'))"; + return Boolean.parseBoolean(client.newServerEval().javascript(query).evalAs(String.class)); + } +} diff --git a/examples/dhf4-with-tests/src/test/ml-config/security/users/example-user2.json b/examples/dhf4-with-tests/src/test/ml-config/security/users/example-user2.json new file mode 100644 index 0000000000..f501437af5 --- /dev/null +++ b/examples/dhf4-with-tests/src/test/ml-config/security/users/example-user2.json @@ -0,0 +1,4 @@ +{ + "user-name": "example-user2", + "password": "password" +} diff --git a/examples/dhf4-with-tests/src/test/ml-modules/root/test/suites/input1-tests/content-test.sjs b/examples/dhf4-with-tests/src/test/ml-modules/root/test/suites/input1-tests/content-test.sjs new file mode 100644 index 0000000000..69ec850974 --- /dev/null +++ b/examples/dhf4-with-tests/src/test/ml-modules/root/test/suites/input1-tests/content-test.sjs @@ -0,0 +1,17 @@ +const contentLib = require('/entities/Person/input/input1/content.sjs'); +const test = require('/test/test-helper.xqy'); + +let assertions = []; + +const rawInput = { + "hello": "world" +}; + +const content = contentLib.createContent("id123", rawInput); + +assertions.push( + test.assertEqual("Person", content["$type"]), + test.assertEqual("0.0.1", content["$version"]) +); + +assertions diff --git a/examples/dhf4-with-tests/src/test/resources/logback.xml b/examples/dhf4-with-tests/src/test/resources/logback.xml new file mode 100644 index 0000000000..28ccbf75fb --- /dev/null +++ b/examples/dhf4-with-tests/src/test/resources/logback.xml @@ -0,0 +1,19 @@ + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + + + \ No newline at end of file From af5dddda9514ff2ad896f70cd234ddfff597cd0b Mon Sep 17 00:00:00 2001 From: Srikanth Balasubramanian Date: Fri, 21 Dec 2018 14:10:51 -0800 Subject: [PATCH 006/157] DHS e2e example changes (#1585) * Formatted and made some edits to DHS-e2e examples readme * Using DHF 4.0.3 in example and making necessary changes to DSF files * Renamed Customer input and harmonization flows * Deleting old input/harm flows with cryptic names * Creating gradle wrappers so users dont have to install gradle * Capitalizing class name * Incorporated review comments for README * Updated import task so it takes values from gradle.properties for everything * Commits with 4.1 updates --- examples/DHS-e2e/DHS/build.gradle | 150 +++++++------ examples/DHS-e2e/DHS/gradle.properties | 49 ++++ .../DHS/gradle/wrapper/gradle-wrapper.jar | Bin 54212 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 3 +- examples/DHS-e2e/DHS/gradlew | 6 +- .../collector.sjs | 0 .../content.sjs | 0 .../customerHarmonize.properties} | 0 .../headers.sjs | 0 .../{custESJJ => customerHarmonize}/main.sjs | 0 .../triples.sjs | 0 .../writer.sjs | 0 .../{custInput => customerInput}/content.sjs | 0 .../customerInput.properties} | 0 .../{custInput => customerInput}/headers.sjs | 0 .../{custInput => customerInput}/main.sjs | 0 .../{custInput => customerInput}/triples.sjs | 0 examples/DHS-e2e/DSF/build.gradle | 62 ++--- examples/DHS-e2e/DSF/gradle.properties | 16 ++ .../DSF/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54712 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/DHS-e2e/DSF/gradlew | 172 ++++++++++++++ examples/DHS-e2e/DSF/gradlew.bat | 84 +++++++ .../java/com/marklogic/APIs/Customer.java | 211 +++++++++--------- .../java/com/marklogic/APIs/TestCustomer.java | 57 +++++ .../java/com/marklogic/APIs/testCustomer.java | 47 ---- examples/DHS-e2e/README.md | 120 +++++----- 27 files changed, 659 insertions(+), 323 deletions(-) create mode 100644 examples/DHS-e2e/DHS/gradle.properties rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ => customerHarmonize}/collector.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ => customerHarmonize}/content.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ/custESJJ.properties => customerHarmonize/customerHarmonize.properties} (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ => customerHarmonize}/headers.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ => customerHarmonize}/main.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ => customerHarmonize}/triples.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/{custESJJ => customerHarmonize}/writer.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/input/{custInput => customerInput}/content.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/input/{custInput/custInput.properties => customerInput/customerInput.properties} (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/input/{custInput => customerInput}/headers.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/input/{custInput => customerInput}/main.sjs (100%) rename examples/DHS-e2e/DHS/plugins/entities/Customer/input/{custInput => customerInput}/triples.sjs (100%) create mode 100644 examples/DHS-e2e/DSF/gradle.properties create mode 100644 examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.properties create mode 100755 examples/DHS-e2e/DSF/gradlew create mode 100644 examples/DHS-e2e/DSF/gradlew.bat create mode 100644 examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/TestCustomer.java delete mode 100644 examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/testCustomer.java diff --git a/examples/DHS-e2e/DHS/build.gradle b/examples/DHS-e2e/DHS/build.gradle index 30953fa6d2..c6f17808f3 100644 --- a/examples/DHS-e2e/DHS/build.gradle +++ b/examples/DHS-e2e/DHS/build.gradle @@ -1,73 +1,77 @@ -/* - * This file was generated by the Gradle 'init' task. - * - * This is a general purpose Gradle build. - * Learn how to create Gradle builds at https://guides.gradle.org/creating-new-gradle-builds/ - */ - -plugins { - id 'java' - id 'eclipse' - id 'idea' - - // This plugin allows you to create different environments - // for your gradle deploy. Each environment is represented - // by a gradle-${env}.properties file - // See https://github.com/stevesaliman/gradle-properties-plugin - // specify the env on the command line with: - // gradle -PenvironmentName=x ... - id 'net.saliman.properties' version '1.4.6' - - // This gradle plugin extends the ml-gradle plugin with - // commands that make the Data Hub Framework do its magic - id 'com.marklogic.ml-data-hub' version '4.0.1' -} - -configurations { - mlcp { - resolutionStrategy { - force "xml-apis:xml-apis:1.4.01" - } - } -} -repositories { - jcenter() - mavenLocal() - // Needed for gradle plugins - maven { url "https://plugins.gradle.org/m2/" } - // Needed for mlcp dependencies - maven { url "https://developer.marklogic.com/maven2/" } - // Needed for hadoop dependencies for mlcp - maven { url "http://repository.cloudera.com/artifactory/cloudera-repos/" } -} - -dependencies { - // this allows you to write custom java code that depends - // on the Data Hub Framework library - compile 'com.marklogic:marklogic-data-hub:4.0.1' - compile 'com.marklogic:marklogic-xcc:9.0.7' - mlcp "com.marklogic:mlcp:9.0.7" - mlcp files("lib") -} - -task importAllCustomers(type: com.marklogic.gradle.task.MlcpTask) { - doFirst { - classpath = configurations.mlcp - input_file_path = "/home/ec2-user/space/DHS/input/json/customers/" - input_file_type = "documents" - output_collections = "Customer,DHS" - output_permissions = "flowDeveloper,read,flowDeveloper,execute,flowDeveloper,insert,flowDeveloper,update,flowOperator,read,flowOperator,update,flowOperator,execute,flowOperator,insert" - output_uri_replace = "/home/ec2-user/space/DHS/input/json,''" - document_type = "json" - transform_module = "/data-hub/4/transforms/mlcp-flow-transform.sjs" - transform_namespace = "http://marklogic.com/data-hub/mlcp-flow-transform" - transform_param = "entity-name=Customer,flow-name=custInput" - command = "IMPORT" - mode = "local" - host = "internal-mlaas-icalb-1owe6oc6du7uo-1452370097.us-east-1.elb.amazonaws.com" - port = 8006 - username = "dhfoperator" - password = "M@rkl0gic" - restrict_hosts = true - } -} +/* + * This file was generated by the Gradle 'init' task. + * + * This is a general purpose Gradle build. + * Learn how to create Gradle builds at https://guides.gradle.org/creating-new-gradle-builds/ + */ + +plugins { + id 'java' + id 'eclipse' + id 'idea' + + // This plugin allows you to create different environments + // for your gradle deploy. Each environment is represented + // by a gradle-${env}.properties file + // See https://github.com/stevesaliman/gradle-properties-plugin + // specify the env on the command line with: + // gradle -PenvironmentName=x ... + id 'net.saliman.properties' version '1.4.6' + + // This gradle plugin extends the ml-gradle plugin with + // commands that make the Data Hub Framework do its magic + id 'com.marklogic.ml-data-hub' version '4.1.0' +} + +apply plugin: "com.marklogic.ml-data-hub" + +configurations { + mlcp { + resolutionStrategy { + force "xml-apis:xml-apis:1.4.01" + } + } +} +repositories { + jcenter() + mavenLocal() + // Needed for gradle plugins + maven { url "https://plugins.gradle.org/m2/" } + // Needed for mlcp dependencies + maven { url "https://developer.marklogic.com/maven2/" } + // Needed for hadoop dependencies for mlcp + maven { url "http://repository.cloudera.com/artifactory/cloudera-repos/" } +} + +dependencies { + // this allows you to write custom java code that depends + // on the Data Hub Framework library + compile 'com.marklogic:marklogic-data-hub:4.1.0' + compile 'com.marklogic:marklogic-xcc:9.0.7' + mlcp "com.marklogic:mlcp:9.0.7" + mlcp files("lib") +} + + +task importAllCustomers(type: com.marklogic.gradle.task.MlcpTask) { + doFirst { + classpath = configurations.mlcp + input_file_path = "$mlInput" + "$customersPath" + input_file_type = "documents" + output_collections = "Customer,DHS" + output_permissions = "flowDeveloper,read,flowDeveloper,execute,flowDeveloper,insert,flowDeveloper,update,flowOperator,read,flowOperator,update,flowOperator,execute,flowOperator,insert" + output_uri_replace = input_file_path + ",''" + document_type = "json" + transform_module = "/data-hub/4/transforms/mlcp-flow-transform.sjs" + transform_namespace = "http://marklogic.com/data-hub/mlcp-flow-transform" + transform_param = "entity-name=Customer,flow-name=customerInput" + command = "IMPORT" + mode = "local" + host = "$mlHost" + port = 8006 + username = "$mlUsername" + password = "$mlPassword" + restrict_hosts = true + } +} + diff --git a/examples/DHS-e2e/DHS/gradle.properties b/examples/DHS-e2e/DHS/gradle.properties new file mode 100644 index 0000000000..5a95de47ce --- /dev/null +++ b/examples/DHS-e2e/DHS/gradle.properties @@ -0,0 +1,49 @@ +mlDHFVersion=4.1.0 +mlHost= +mlIsHostLoadBalancer=true + +#mlUsername=dhfoperator +mlUsername=flowdev +mlPassword=SomePass#123 +mlManageUsername=flowdev +mlManagePassword=SomePass#123 +#mlSecurityUsername +#mlSecurityPassword + +#mlHubUserRole=flowOperator +mlHubUserName=flowdev +mlHubUserPassword=SomePass#123 +#mlHubAdminRole=flowDeveloper +#mlHubAdminUserName=flowdev +#mlHubAdminPassword=SomePass#123 + +mlStagingAppserverName=data-hub-STAGING +mlStagingPort=8006 +mlStagingDbName=data-hub-STAGING +mlStagingForestsPerHost=1 + +mlFinalAppserverName=data-hub-ADMIN +mlFinalPort=8004 +mlFinalDbName=data-hub-FINAL +mlFinalForestsPerHost=1 + +mlJobAppserverName=data-hub-JOBS +mlJobPort=8007 +mlJobDbName=data-hub-JOBS +mlJobForestsPerHost=1 + +mlModulesDbName=data-hub-MODULES +mlStagingTriggersDbName=data-hub-staging-TRIGGERS +mlStagingSchemasDbName=data-hub-staging-SCHEMAS + +mlFinalTriggersDbName=data-hub-final-TRIGGERS +mlFinalSchemasDbName=data-hub-final-SCHEMAS + +mlModulePermissions=flowDeveloper,read,flowDeveloper,execute,flowDeveloper,insert,flowOperator,read,flowOperator,execute,flowOperator,insert +#mlNoRestServer=true +#mlReplaceTokensInModules=false +mlIsProvisionedEnvironment=true + +#mlcpInput +mlInput=input +customersPath=/json/customers/ diff --git a/examples/DHS-e2e/DHS/gradle/wrapper/gradle-wrapper.jar b/examples/DHS-e2e/DHS/gradle/wrapper/gradle-wrapper.jar index edf37f90eabb1089ba64631ab996bd71e54e87b9..29953ea141f55e3b8fc691d31b5ca8816d89fa87 100644 GIT binary patch delta 50873 zcmZ6yb8zQP)IFF9C$?=T6Wg|Jdt&1=v2ELSGO=yjPA2)rn#n%Dcel3o-9K*i?XK>s z+f`kC@9A@TxEuo127#n32LXuz2KN0s7#NrcSRxW7;{R#;uqUKM{~OUt6js5@I>*I3 z#|627T)u(*|E5=wK>p9NS?d40ePc%YKYcQ81$s^>FfeAgCoTVvgA!WZvDfS`p#42D*X`VMx$5rX3^nLo~KYIKRTbcbG zj0kiUFD~pp=--*&A#+n}_VII0k83p9n%N%w+4$~_kO5z?eXxMc@bc-0MM%?$|`OldugDZeAGnd{&FVrnZT@fb)jVTFvd4zpBZc{K$|K+{^B@(i7}Sl+$K z+GOgTtyttz6t-llJxQ!A4*M$5Y|!gwlIC&Nnl@QidgoF*>Rw*b0qsd+3QJ5|kF4dk zlB1f8*?P$c|C-iW5k}G$*Ou{ZRkdPGSqdtVa_gR3Y*n6lmKxp|`AVx#TsGAoazapFLI!S*LqpwiWeJ#6R^uW}`AE63^KY)!R=z?kgmi^1S2eA4oW2HfJo&UO@pwsJrw44g0tEH z++8E z^^T>MWJ0G;17hki{9+v|l!&AZD{$I053fedxieYmeFSYYJk-nM8oied4^*)AmLG5h z{Ow7raPzq9Rd8EQqV7-#clC%AXItNq9ZD%tW zmQd%Q9hKH$&(>?}Q}$=OV9Igd?+ziF7*tC4PT#0!7cOG^%62H`KDSmjajo($>VmBn zc#m*zo=&SyWxg(rstB|F%vh@oM_&7IVHORp&!X9-D=Io2{%ee5kH_JF!c$SH5NbHR zsNHR`3yg<28Dg?^Ctf}A?CmfVvr(>;!HW?2Zi2ibe__c-$7KC#BdtZ8e;RklWnK*T zp3GU991Z_#*~Kpi+-TRMRcvhLkVU zJT$S9!#<-A*+}!9P<55dFtjg9_>}0Fj(2sQ2O!-M`$4AB$U+vHLdU7_O8!q7TgP$s zy{(8(Z6qyHn4(`AZSr06!vAU{;*omLbEMN~VThzDIp_MhFnLulsyF!8^)Ss}PVR_+ zoI$X^cM*qhfhQ%X8*?4Ft4-KlDlt3}a5z#y36M^y*3u{}!O|u|d4)7E7hH4S_~j}> z=YU|ZxEiFD4k!1y(#!WFptiLVfxxbQGzp|U) z<{zg0A1$TCwpJT@qQE1>8s@A=+10%l9_|QHs7KC0J z>G3aLI(~--a)^I9+0vh1lrBTcsDKM7HmJTV{X-epJu5*c@#cy{Hx~LWojnLE>j0n2 zA8B)sQuc>if={NTU2zLHoZ(dXPtYytAgd+L7Kqu~B*Pu=>=F3i7q2E!`ABjdlL!Fa z6C|`Rs_zxF9=48_l%(#OJktpYdjRJBHqm2Mb{q0SnsL)u(z1O$!07 za!TqYGRrw*hfK_xZ@v#!6xY;qTH&BtuF}@!jJF=gqH9nRe*InskDk}8)!=B)0g~P=@#QzR-&BeSonHXOb zFmOZ@!4QB*8L_Z&)@WFjb+9w2YFe(h{y_z4W-2P5Y>U2BPAhLb;}MP!oML2tnB2QA zi4Ob{n)HIHK$F$o3Gej$!}BuR>1qZ1dw+)L_vdd*lpF{P4hl`h__?V)q6>FL%YgTi z7K^yuh8k{VvNT8-cHB$?_vjkdp|x!RNH3eK{a{!QmhS#Tcn$v)b{mf2eAP5CWKaj* zObmnmo6rq*OY`1I`R1Z6!fk$Emk#<&0|QnA-n*SXLak12`bVI9pUd+|e+gStUj62Z=}@n0UWA3)I}l&#+Al>QB&dN^QlX=Wo-EwkMO+8d(0_O^r_tn= zWzzAMfgXZ7J|Y=g{G!+JJS^rm3P{1k&WV~<;=iKl&C$n6g%s;lmyO?UBl=v?$1+@# z>)d0Owe-1z{(4t!mq)t1sqlcab#OAhq}bcngwCuc;iHb~#bsGJoX)6GP5^vbCo_7oCvHO_jnah3`Y5D5}P% zxXtU3gHdi0s^CXqh9w;80;Sk zP?A+omnEb*lMm?x^KZF-4Z%;~7w@MIn8>F$7!cT}KDDPjW0d)N1@;emPkm;u>hu=; z)%Q~j>?;CLow-Uif10D}#q96fH$wc(js%d68UF#r;Fn5_#)m=>ugssGn7y%Iu=@ZA zppsmk_FR^6tjOd-=&lTTtFtZJ_^wV~MXRRJY3qj}O(ze6aS}&RlUJidgoSK?FybtY zGHS$-X}w&Tmuw>W1)*v;Irs~*bT&mIj6qXPPF}}$k`>~XivlCzq-iikZ@H2lQO9E3 zRt*>|t6@3TR9l6fXTFlxah!Cx+}=v1cq+61Q96(!sg@;g!&y3#qUqjG7-r9Io=oZq zN7BH1AN7ZCD##@wc9)N@$oE4hU`Xge#=9VpeW)l zMV9w?-QhVMSDNEuAtj>W`_=33`#}`pmItisAuYR363fNJaPwP8XblqD5IWx!W-Rd@ zY#trOZEcofx5FaD`ChYxley(K&TZ7P@Ch#BfwryvLZ-ek5xZ`iv!h}!$8|-buE|h! z70Jv+Ru5&%5%yBEpvF^P7w+mD^Uw7O;Klp!LESt(L~v*&b+X~d!TJ$KlFIfL&;xj$ zKB{KrgfA8Tyk+h(2%C*&ZTK2T*CliKv5U*}XXu$^RHv!eFe)##RnAk!WP${QGM%&6 zH1n3s^;+U9sB=X8TMqG7tt{b9_E6PVY-gi{^{svNY*Un3);rj-JXyge$cVHHIBFv$ z2)U%x7ZOK0h8!clxM03>$h=3ki9oiUD?i^+-qGj{PN-aGqfWVpvz`LoMMsxZj(x@= zs9bGmh|Y9Uu}v+{%eH1trAbT8Q+Mjh<&b=r#y>N z2UU+savN8@NcGpf_#`^RM71mTNo+Yk-cI9Khd$QH^T^xE?CW&Vq*}MlIAAIEht)iq zR1dLJ&+1D6gWm?3@9$6b2HUg+u4zsNMs$vnSkd{{8xK}q?yW|A*>{IJ&dK1wfzOOy zt<{?tWa#j+OSus3%HcXf=k95$_AQVkI{W24IPV&6T%w+xW$a^G zainXDq~$r*(CERERfkNc5iqmkzP@AE)mTxat1p}yUqNuN3NG5`!NMm8?_r&By$J7y z{8fv^U><~AX4-c4coyqyXOoX%R~L)DmS7e4upJp97aAlnb}^30P{r&mDm+8zdME~0 zQq3C7AkLJdGdcH$K7lZ(NtG0u+_fVD?MIR%-5DGw%QfoFG_JSI17K0zRoD_W|A-4` z=#bXEQ%@e`fxjI#YuT?ji*1jg-&an;Z`w&B^wOMXMOLrP_T5Q{zh*x+l=GPQDcMJP zvuH9wv|)E3&|!Um?zNfZ-<0o_Dwpk%yELn8;=)1?Pg>$6)5u+rrD&Nl(k*Cyfa|w7 z80{4qrhLd{H^p|t09+*fl=C@mpzLu8(Xp1v7f0Z+mFXjBKJGxfcJ{^>K+zCBC>s^9 z8c+Bpr#LPnVj$R#d*+qstj!{DuKKlqEX++se7 zl*cBrIOZp2SSIC=*F+NPO3WmxTv3&$B!|_;-F8Ok87Qbg6nLYvnaEI1ksI@Td2)Nc zMt-5j)jWWZihmB{kPnG=Cd=VI>oDO{v`L;NVUD~*zzFFP=MJAR`3ZNs_74de1m{v* zt`=2BxsC7o9nDscbrJ)v{2qavF@|S^=|GZrwrFv219dMiYSc~ko$ZkJih{upZcdlA zuEkGUUoL4d1gO;T)f?wrU95AC+_06Aon7c*`z4l=pSqPMKmKNajPcVbeNQF%TTXFg zjJ%F!XoJ~!2_^CrIlJrEg8vLcL;Dn8)VYh^m8@|hNsZ-Pdk%4QYfju~xbE|M-i<;W zAEYU-u#p7(nD?)A)Y@FnGCrB*9G;qZE={*-TJ8sRCSW^dK<o?x$38?T139MgE@@U|DpW1m z8jo3qdLRdRp7S(`HJT6dR#i&~QSCj65i-W>o3}}sCuZpEf(jQ)V&#Y?#-NBf>z|D? z_#k8FiRc<`R%#vABt6XJka_u;ZW;gFnd&Ac1k1 z#k!5H28x#QTG?GMmY2d`>l=j?*~=^Euw@zP^T6}C+H6Vy{MFfNe&PFKXohZe;ct+r z6hpqdrHTP|iKhRo7%f&UTiEX&@fEe-%XNii68{Wz3v5j=Gb$5!qoUO=XR$NpR#NRG z{!Vys)G)$D+N)%{q;j|(9rBW~$sw&Qn4e7}s%ytT)8$OascM;KeRAM9YgHyGZG3+8 zngZtv95Kl!grV7dk`7!&_V~nZQMTnfS-K;&AmgUT8&mxba$!LfyP$v$kNEIdw{0kIcoO<+ujo-+t)wgK! zq&T4o(UfVOYn2*xQ{eiSW@_06((_QMFRNFXO{Sp#A!J)}N&V%Zbz2@PuQaYe@CBmEP z-NU=ViOrYGDZRR-H5p5$l-IkoDMDBkyr?w#%|KgP=#$4eO-$~6JlDN@#drFU8U^%b zVn+eo2XPy_44AUoRUvRXbTtDgze%0;$6Rs-be_$?CVz}NcN^yjD+>^;BUiNt|MS^k zHbVJ?mgWn5u&3s^l!Eg6)Z}EBReQiV=JB5%%4&#lz@gd@8Z;COLvbAAd#rz;;~-xU z7^#wf!Dx1wIb2|f_H>o_3+|*bgaJ(A;nf#*7rx>7A(HNKsI#*h1n0w#BJ64WSg)gO zcjtE$uyw-6I`9Zlj!#`Lu-M4qVPT%C>Sm~J$+Gx;W~-yFBy)1au&1O`iDX9`C?WE| zOXpa03Jngy8d`PLkiu}Hn}*lZ7s+WYNvO-=NZ-sn^$}E-%B$E5k3B(VwgR~HIE$#^ zt=KFRI9l6h4F=&7vYq`r?DTBv)5*u5wV$|Z0TT+6%UT2fqzQ=O+nec)XY;@AqaLgA zqYM`PE8CEzRNfXfdR3udW|I8{9R$Ip%q2V;UDnV+eXL|AlU-lPa-2P=n&qdHjd~9y zMoJ!gLTZFZze$I+dh}qKT?t6G+rz5=tgYJCC9L|MX;VY6uB!7)F@tVX~-EIX$k(#gO(J14U(Fp@ ze?-w6sP;l=&HdNWB4{utxq$d#NrFcLrj+)=*2<0)6vSF0EES8;tC+=Wa}gEoZG9 zJbFc$ln8aRlnTvw{UIniRnh;CjIP|JOQPL>N^4K?()R$Me8nbIhZ?6XeTwN55#MnjKSIc9-C`h5`^1Ru2>Jt zQv@svCl*B>H1-v4#0yheF^XxYZIS8hf%9B%gpJIxgxpsN-V908^RJ}Q5qP}%sa;`A z{}!71VO=y(VSb=YWO8LbeY#Ct9Q(5y7t~8xBXdXJCm=x}UEEww>!lov{Kid0Q!l0! z((KS{Nh;!rC*XidYE%(ay#sL)J1}JPm{f3vNzgf2i`x2hUQe3uba zf5faNoeaA+)`x2P4i&(rX6#v0~Lk7-A)`^?fvCSS=WUj{E<9xYF4(fDB< zY*F&c4hRmR>sJ0_ZazDjX4M~YeLTR`J zMYNf$u-}eovZ2h2Q=}S7fxEm~vJPYx8i5spgWm?DDt7tegHjU=51Oy~7`Q1i;KJUC5VFkZ8O+@ z%KmggZSSwa<#q};#+JXBS@)01$yocjBN1N3u5n2L^M3mngyr|_b)1>RE1aB(A$cNx zK!hj1B!t+^rgkeZMp$R(lRGZG)rw(snqIe^gmfQXw;kmfv35^uP}9;>lV206{hk_6MI8DrF2;F}YA4 z&CBX#&M08Pj)j02#*Yo6f@-<*pY8VYjlK^lYw#W#WU-n2{#&UgRf{$=3R&5x-(c8A zWm4!yhQ@f5BT;Li(}eYfF?gOmmEFy)&lXoBN8&agM<9x=_%Uy{9{BO?fA5plr(~!b z8VoEF0St`oe=t7M2nmp?x#fzlh5JRQv$%QB>#;pto3+I&qc;&*+XAI(j(*tToM6Uh zbDZ%TR%UH6vIk_VRio)VU8^h&+YVkD%9+wOzbN=4*T$+MX+Q7|l8t}p4*PB$+b|>W z+l!|MbT0L& zCI9L~>#`QtaV2Mhri&Qa9`baUW9M`eO`RngzD9r8=`Sl&&VaNE<&T1XWr~909g+gLVf&C!)uZ&Y0hu`+39)}h0_9he>nyTrH({fT6gH*J8{m%oz z2d+jsh2Z>w5*xY4+uA8W57p6OKUJ8r>JEH5iDMny<@DonqOwC#<24+^4@rqLI;;va zy6{5xMs&P*<)~}YZZ9@M^|&3&qPuPdTCFkGowZ&${@gB`#WvYO}-uXZv@XH_vArkuXc;ORtWDIatFccR&HI?0&}QWyRLuw#*8 z)7y?h<$gxkc~#tHrmyMOegjh z8pSLpUt`8wXZszg%>5`d0P+E5$8SYw7~2~?NtzTfkSLE#xs z%zO2WlHhp$FT0gFmSZt--vF3xitaE8Bhg4WcNjnx4wyiGjXE=!sEa#^T64=V$3-$7 z4|B#uh@nT2ss6InVbadj4$zXo7aEoFY0l6ms(^ zYhh^@M3kVHwOIZs0&yr35}%l2UOB|gQnYoxQ*95Ip{G2gxh5(VXkUeUTFw-S&M+z6;I{U5*})M7!9UvF{MFZ1LBg!6t7J9-UW zkAGYqh9TZBNN{~j#?_Gd3wOQT-(3A9gNQ!SH+_DZ*7x&8#Puqc=>rZ176$o06!^XY z0kEaGC5$2fPwElVxy&vMhasycy@-ZwEys)z8T2jENd-Ld9wXBn6Ja!tAUrBSgBh)W z?5Pp?Z&}r44LVIAzp)%!bMcYuY>g-I^%sQRkAQ{oco-Q|4oCHamb8u}BqXLpTPV5! zW{y&xHsZUothvD`d}2A}v~-3Ajy|U*7T~$W7rHWi=(0(3Z5bq3 z`4i2)Gj>wG7f?I!_%(a9jP($@&Ycd1>#^VDTJZ_0Us0bT6yhz{psZMS8~=N@tN42#Gxis42f3q&o!#n%u|ni6i}sw!a~~E81JGy5ekCtP&J5 zJ!fzQwp=4OgiJCb_5`^jHLYkj;iRca<=wV<%0xTdWf9aoi|nr>*CF>1jhkPm0`=bxz>rwUF#2_lADv_%%!egaun-Ak$R2 zgN6N&=LtgPxA*(xA%Q4sZF6loTLVOTglUx235{CrcuG#wXnIAkEQVOdWne~3XvDX| zRiez?PR8m(C@CtbPw^0kxBe9<4Q4=RO7;<$rs+ppor5QS;$qY$U+0Lf{HDn%`rtEX z!RzAG6&e8NdInBXf|#IvU=7=1?`i|Mqez>eHuo;Qpwn z&<&J&1qX5YfT);v89W^U6_954Omw?12np&|okh=dX0+@0pi5&r`h})LNg@^^pgzjM zEC2W{pwmy7iCEoPXqL`Pcp%u&PdZ4j#uQeth@{k%hf1Acv?M6LN}INGJ3bsk-W${q z#mirGsFIWH7(a1h=JM8ooqu(vH zX7-&1rqR$^&udu8TN(DA>Yc;eJE8Y$3IAuE`C|$8UUE$D?Fcf)r}Cytx_-d%$j$wm z8FN6u@rOhc&tYtpNAKR zsV^d2Er*<~xZq(3)0 zh?H>rbP}trxba{;GR(|;?6vW_wnj;d?;CLWL?n}p#YjcIEw`b&qf!NxrF~)A0y(k3>BT(Pz>N z%W_hK@))N@*2um^L;w&>bMsxRY)E7&*Ci%mdJODudjGUOzBM=2kcue=ErLIW4QkIS z*d^1ODf**kaZRSAL|H76T51pY`*wL#(OAh40S#Yn(~C+Lv5Azcju!`J0`DEUGak{e zY&xZ($atWTnJy~w&H`a2?(d4J$^#vVKaxQW3wb1Qh4HY{Q?}cL_)5A+86}$s<`lf$ zYv1t`o#~@3oAXzd28`Cd)&ns=QxznQ9sZ8ER*p+)%|@JyMixJBY4S*L^i@>pl?WrQ z0sFd$YaS_Ww z`iNM6)WtKYFb*)a&kuWlZgdx`XqHZy0Oj7SSR79#oN#ByC1Kb{oIWZkXI+e9je6~p zTj;Q6F_C!bURC;ZkeB)i^`=L1+S}u=KgJx)LaFF7y*n>NTnQ)BE_P`*G-*xSs7@m~ zv+h`min6LA@wP_|T@i-}jcAn<<;YGW-;(Om1T3hq1Ie(g2bri|b-fM-?n(>T8ffU;sb6h*q)a5nT5KCLr)(Z6X&B8I$GE5xK z^EehNQ4)d`^hjqPPN(4*n8izIuO7&_;h9F^46Xwc0TakeP0CB%`^A>qI~8(!n<7JY z>B!hD>!ia^k*3RekH86QnP<99)s{`er+;VI z>h!vta--qOjM^Mk6~!6Y$8@X8-BenZt#-r_@|b({9hY*NYInB(37X!~;*X%Y;E~y{ z!rf-!(O*~J!h?Huk(SfF0h&zSFX5eSuA`#k>D1FKy8E15obYzuixSNwo0WPkptQ^y z*LK1;J42gbyZ!{l?EFcd&OPwS@)TGH#~5l0DkFBALe@f^O+E2B^(b9;VR9z?3uiEY zKG<{@wL735IVn<=#p4CSZRQTX-d;JX;iEo1+34xELaf$GA1cS<0!E8}=U5%W64_Vf ztKjTF_y5jJT>RWvnn&_J?TC=QgG%CP#Dwmya)yua-}Jep1X{Ce5b(5nP@po_X9|v#oe*H_`bL zIUetMEXJ9?QtG0>8|ZwUb>CWb`t`jA#F87hb$$3Zn2G&oV)mJ+9d>Lk%W4IBevib1 zUoifTx20b^+dgB3r$G85U77EVO@LT_zGv@!=|KhUN5E0&67$|zD7KbLuqBR{vjr22 z7R$64)%6)U#m3s)}8-`yRr=l>waWTQ6t|dhJp-){_ zFc@L@8-o0c0dEI8-Qz;;VExjHlnjRdl!hMebt?!QrW3`#T1za!lUh{qqID1u+DJO~2=mG9ml-`uVU#Kezx^ze3+ItHY<{gN zrY=|J0+!FK^M!{f&UZK2D`;WZZxZO}pxuh_4BRF-w<_L{=(mL_jr#~&V^vRHoOSoZ z+zd4m43Zx_+eo^8yEau1KEsb6mN7&>vm4gdI>Fh!+C8_v2GQ#C22R0kJRLVw&omvi z`)2K67*Id$>cqCv*2tOo!{Mv0cU&2&hm|$h02Mai*>ftA)%A>_j4#H4kneSO{6V#1 zl(B!4J6yo$c+xe?{K2(yTPJ~YTka+8v=7a zyYqz48#6!*e(~%6m6KM$gXl{Nq|#hy-4&H9*X^%@nav>EjG;6}fEXz!Nf1HqCG(xt z0LWQ=bJBwc@28oeBQl4|4532r9}JJ@nhE3UBpf>*Zwy<(ExIZCH=_ZTmrPS#sDqg{H6njhA7M5~P z)@)CfupK9ZXXlQ z@T~@c^4qoujn_)^Bl7W9H7*D;dLZ&O!Qgw0Y;iq*=#FRcsEq&5=aL33Nhh?wtnsog zE;~iCG7RP{3TI2IUEc}aWl6A9V?z0sO#c(Es4JNK+NP(q1^<9sdI%%%(6I3U$Ej~@ zH2e_y-&pSb5a%>m08RuLxT>Q=fD~Eq-I-jcxv5xsvnTQcBbL2Zwr$5aN#)D3bBuV@ip;|eFal_o>~m#MXX8SQ-J>N`EOm1Q9vN<*Muv-a z(V-XatvKqDVa*&=)9~`72k3^PMR8WGzYoRt9Mf5BsWBZU{di}K&r%`;9}potM$>g- zY-e0)HCt-#f%roF-{JCYQS$>ZU|?J*U|?kbQ``e&sKA>iz82=cJdQ=0`wr)ADhY)} zyi2MkRXv@o5N>#xo0P0cMcXkJ83;E9g_6iIHdFRV)wHIRv{sb1!=`!@T6V_9L-u*_ zQ1DV=c#CkOH*9Vg-F;uSB!;OdnLD0d$6eo-ou{rB0fCQO>O9B>RKP&gMLtPJhC!x` zqLI?s6j%=lisBkW39T-|5kr9D0Uc}6Mjg5ElWHl-y2vK^{zsrAcz1JzwIAH5Y}0G) zl4|YZj&vO-dX6~}?~-f%aU6m0syFw_&*|;MB<_dN1CjF6OoSJ|M(7I?4oQI;aRixC zPe8CTf|ZAbG=i8TZWzc?pbMPeAly!n4(*LAz`}dyjcKF|lE5@Vvlgn;Ge}Ebs2#FA z;9O#btdk{Pioc>=l9_n(2-KWN=7`??bpfYuklT4GKEX!lJKbso1oXPBHCdYG?peuDS8^i&JMvVqzxeRR~LDj4`?frDCbDRwlpR-MssW*y?A zUf~a_DuIQajJ*sljS35)lvJ6YEM1Uw04xr!KRw4e?&F~I1k-qHHyK40@WI0Vu z>vJ1($P!u2y}YTb4`agWkMQw44mj{Q&7#9=(qU>1{?Y@O*TOL30~<`C)jM?l;)DNyU0D8+j-~Jr^Buub z!9lv}Z2b?B90Z)S0~yj`a)_&ra+*JDUWWg1d;!6GtloHr!?*1J!9EfIK<7u3{;N1K z>9HBNrqguG0-p=1T7Kq)(gVJLD#py~K@9b!^81G4Cak^P=4lpZ1yn9+N&;aOqm|c( z`-R*u)zk+Q|4Hkb#7<3s!D6fCHBUS_uidy3T$CurN3nsz$*f3c&cQyf*3!8k3VBbz zEh9n);aXpo??oPiu=*JH!<~7q|2#8B<(RQC??wDQ>H|RMIyG%=ifriIEuZY=I?b|Q zj(l5_@;sWsosd1pcU}FNu*#`qwz65qWw$wT^4TyeCswM$m=*@SQiigOrVU*)IHs)! zyHYu(P~CR8B*RprZUscXXGdGJ>wR<=l9oKEk>5n2^@v}83r9|dHkKJzpV@uvoB7Gz zeODHh)w*bqc>XgWw931O+djwKovuwt9kD|KZ{C#>dj7pNU1v{3V%ezIeJ+saQ^R3{ z!J+ek)xHvD-~uB=I9ZvADDq<1-84~(uf zcbwWgH658$OybfM=H}2hYYTSU;w494>ZmL&l@F(~))A&JT7jbA?4)uK1T6HW%2+j_ zv#U#9J6wQo)nXC!fh|{K)s{1dVS+$Npov(wER73_GfKi1jpDq_-)EJ@FN#(JM~cFHGAn59bYEsW;?XBcAVw?lx6Yhr#0!5=+qE zlpL%h95iH8ZT=|#L+6-?au&M0p>H5?r1y2cN#e3{+AAbeqrwvR<=>&_pM0L-KVp7R zZifQ?!`|A54M7VbUXY$iO8XJqk*G0f^*Sp3-!=)06u$a#PUx505RQ)FkDf4dV0^j;OWSd8=rH4Z6a;PE z_#iBs1O6S!>hA~z@A^iGsJu--c5hdwoQ8G72<3z(iB$Z}|q(Fes@RKo23dRTh zA*8UaZq=?aSk+kIy&M$LP)GX#z8Z+XWt-lrYgOCTS{GH;_x19JDg78FA>sC8m+POe zzfs=%d!T?gdu-pGDt&y4WeR(7DK7cUx;=XUU=x=%=WIB6X2wo*OA>HE%IxhORHKk$ znUwy(ZIlJhjO~(`UUzJ2LuIFbSW3z-@vOAsl@(s@>kU1(?3I=-d1uc|JmqR$rk>S_ zM|@V==ogb7f97pScZ7cYAZ{~RlDQW@U*p1+(lgoE4XZ(! zM4bHk)aXx!yovZFEIr%f3V2+01PKSc%o_JT%#4QxqomA?Sm)8)*9Q@PEz)d8N6p>p zLn^UmhPtFZC#4#GG2usxjtQ2%>0B;Ab@&#)UmJ?AB4_^89%fqa*}+4JkP*#W?b%hpMKy z!fO_+g2q0mK*^!Wj`A~WYPpXeElx*rUDpQks4Se>%ms#ALBTS`#$1D9Q+*MG124#O zVzgpm(Nt2dYMD&Y2agPYXdq&tpPg!HbP_7kePGd4d&Yu3_(qkFHH-}JVrd8CJ96+}`ZPTF z0*1;C{}tTZrEs*LSXu*mvqanodoQ@{fT=(KcTgEBKT|z*%BTG9ku|4YCikyBS?ea1 zz&W@9O3AG)GfRJdyoOCc7HbI0Bmy2>!E!n&IkxC=8zXMgNp2flf9bnPDk-$5L3g8y zynx+|pO>Biev6|vv>Io^CdLoMTd@^CcUcSrGu)>uY<$MaSrlfJEskE*BO_Zkm?Ca) zs+ziqmdQax`WfqjMn;2zDKb=?%@jk?bNXPxXAXuPFszKmck2RRWVO1P6a{Jy;s#wC zIZYiZKdW!<`_8VKa0&lw_IUXUhmF|+B+iU^u zsHmoKw`4qokwO7LYp)He*w8}l8F)rTkSDj)#jI@*k~8mIjtK*A%vk5|uH$M+4dO^+ zrJmlhH0NYsi-qR%8?6bG-j>~{5$*YbhKQS1%E=x4-SgLyYWRFE)mrI71mxixNO(SM zm{C6X<7Wb9bGRIX%-h9w3T*{?s!2i2s2<7JBcmaoB|{Vt0#@GlSA_^RH0B3^>R6;S z`$1Th;d)V35K5B3J^wIaL@iuM;_?rVpmTt}GFc^@@>0x{Y5D ze%_ba1GdW{6Uc_iEVliq>^|`mn8^8rzt~4D-J0EQI;I;i9pq@GVTq;WP?qS-C4vZA zlA}lu)nrHjxy4gTMYxJz81O@jzcfOQNZByY38NUSf@wD-`S@_T!=Fa#XqI1XQ+Q}> z*n1_9j0W1S$Qd1MNMmhW3`dpIGo`nPNQJ_ixTTcMFE~1JAfs;fb1oSJ8gr?U8$*_Kcg*nppRki(<^hGLW^3PS8PVqpaoHMro_uhPb~ ze+2o}kn(+S!sFRLEn5|DM_J_>rUgvh%lVYhmaoZAHIddTDjfNK<*jq+v|T(h+^k)Q zy-Sx1v}lzBi(9+`vhf#>{=bFGAI|-9H!H=;XZ#pZh*bvY!t0hUMBfV)g$fk#jOrf{ zKkae>$K!1FULC=o3vZgcRSyo`n313R^0E1J{Xf^N?gC6)#<2f#$>^y2F`B1 zayi{UBHHxAk+cx61kZYcc6j%Ow%mKuZ^cR`^n$5Pp+qg|ir8|!lT63+4OL$OYJ~`edoJeGeeMG$g z(GD!mEN7*0>jy4;e0d<(ChTt-s%>J)pFNz0ENZ3i)$f9M_j)s7p`(vVliEE>_wC~3 z+}5pcq!*k67J9nQgNszus{?IDw#EPn^nrM&6it~(+-oe2w46BGdW2{?_aDa?Nzs5I zM~Ner#B>8I1+3A}3ywM)p$~~DRkelS?Uj)gZ5e1F|WL6!$Gn{{R zXdj{T3QZ{4e74NaMI7dz{FUC_F==MN8t|Xnu~vq!-~-|+ zu=*B6_B-C{F~M7xWs;pjEpk2h_sPt{xa7xR#GpadN%y4e1vTO65;UCVcCfFD&=2Om zm#xt|!|X*v_^@LOKjJ%L*+24j@yCp3dIB-Wk7RlVW~$fj*aL>way^Om@2i+vN|l71 zu9P}s!-{zc;$5{YmuxH2wlN_EZ9*-HT^;>TL&?L zZ?|qF5~Y0%3{V_9*oOnSWu$TcvCflSsT+98aIKgz%$RD;Cks;cDgqV9FWxg3*b$7< zY2G9Q*1!J50X&bsc*+QnN+*)sXp-M>S~Bsn(hn#_LU}V>)n!->5_Xj6HYLf8NoUBv z(_bk?7Yr?m3eTO59b__J1vxsss2$W+ zCbo7onb>wR;l#EkwrwYqlk=bRUwmKHTh$luU3XVM-D|C9t&gKt@`j&6wK8a-Sk%T_ z(a7@|AZGbLA)A8-sHAfi5kbXKW@)y&roFkpnrQid$cCnR)nIZ0%Z1B}7$-C@4Zq~6 z&*65(_|mUAu{<0pq*iCiLm{n7#lEI7D-~1ERr}-e*mlz}*@c;L%eyiQRj`?)P;wa# z-E}K=ltO+-wJF4QDCr+ihu^Dz=Q;;$e49C%ETPC=BAQl*Y2?rjU?Ed;bCl@hJh8DW z_9t^oN|?%bk2>i9K93b#sm2?WvQ8y+G@rWCYYEnj9K)DjS+&DnBwPc8NO)!wn2+<$ zgOzUo9^T_iD0?LS33+ti1wNZx`6K=w2@B4zu?KbpGV>Q#t~b}$^l*& zb#GpUvCMKpeXmZ&iI%Ao7h1u^Tj7vjzJW zB9|>>&3};6UW9LOI^++`?Er-@U_Gx3X{(yL!W^{B&qUZP3w9k(z$8Ei89?d9*itBd zJ5a~Sj&X3H^CuYSKxw~N=!F-Vy1I+Ds{i){D5G?>1> zx+p4?Zwy$u;F$7(e7LiPENz-+t@O`Sh%;^;?bq)BKE5@1W|Ek>($q5)iP|W`tXR*e zHer>xQfb)C=u{NSY9Nbp&eShJxk4RN=t+;;2zo-@U=}peh&g8PClttq#+j%nZGn+m z&X00{0u{NFr8AVG9>m(=#DeX&7bZOrLftVO^Ym@$k4N)yHp0=BdSK@+JYWX+kaeyG zM&bg2M2>}9B8pz%N~~?|b(7Vz8+aRqvz~F6mT{Nlcz2vgeIkW#FJOubHpAEp-4RNw z<>aR3%8(g4)&OvgoeHK+Np##(f=yYFo%?N82W|IXRgFf_HcFUZyr;a{ zw&GMl=p^sFgA@6xR^7@seqk6aFQ(Lf?v4OpAs=Oyouz!06n{N40yXw5lP_4`$v{;N z6g4}tnbbg{qArY0r&P!Ay@@OGg<{<^lm(512F6w4ZE(SNI$8i$%$7o1W=VfhNzK^L z5?UpAd%Nt63?ub3x|(vpTUMWL`I%8BDHiX18_3F0`R620@n3`>7xae^wFr`&XB2s0 zd{}K3th26&Hr@9l@R$0$H&U0qzA4^&eLihh!=&BzU?MG5d8u7dUAz0p+olc;gFR+& zmh5inlX@uNrzms0{$JU~9h_mgqKw9{l0y1wrcL(olZ=D0F#8Ref4c@tO=`cVHy1}{98jYjjJ%VK(bJ7=U`yGl-z)q8o&W2H0Zgz0`Mw1rI z=0a}I)0GK^Y+2iO6LvNdkdWiwy_v)gJChzgD&cAAXRz0XDCtZrW_y@b`*EiN7x~-{ z#V2_WRM8Q(?c>20W^a1f6QY99<6|V`)paR?J|& zeJSU~J)!OdFJZ{VHY2tb0Cf>q_K!_3iKTOq1LJ}b<+B=P#ZkuexA|~32Vs3a#;mE( z!0+fwDT38_831#^#0SqO7)kSGUA+%6GdXtewZ#w+>G;iWY=C}b?*zg~S#9gNTf8ux(^s+(Xmd|D3yv4k#xy#6@+) zH}e}3Y!rKt6NKkS%qBQGllZJ@eL(&szcjoY0w>vBx&Ry~r70T}dBbZxY zOV+eit*B*K52o2;Mwdq4U+HJ`>pCF@`tODoHQ-t=LvD+g{n9}&2NQ^h^Va9l2?kV3 zejp`kn8L8=XSxskHS7HC;+G%gBX<2O8d6a@YPRtY7o)Iiqr$xtfW*mfuoK4~Ul`kW zLlIw?_5kEMArXa7ltdwskGmwaTecB%fo!QysaC+wg3fEkKLkZ&38%MEA!w-)I?8?d zlST=wjuav7Atpdd*EE9kd+{v&WT8nR0rW0psu`oUfUQ z8y$c0&a0Sg)>2o46Cmx%5%Am}_~0-`t5n5xZ;3KS@RrP!COrB`sO4%;`^-`dnj5p0 zW`YXLG+i8*S098B-N^eui`ft7{{L84l}R_IRc=0zHLubWCx4`{LfFWmq4OYwAyp

ip$TF2X9kwBNXACPVg}lsla-B(o*Yp^urm?9CBhGkGIbX_p z7eP3Pc+5LT4L6=set!PQZR*pD>EudS7zl2YhbxWv+pINsja5S>t}wiv!>g!`ezFBZ zvo}82F#LFQ8HEW5$#0_LZKV_bmPM+@TlRQ7-|!Ypy1~kDV<*6aF(o9-abnSCZohu+ zI-KbD$+Am?OCD}E?CGKD<-LV*3KM}G(WlDaQiD)Bio)fXO{#rDaQ9@u*;ZU>xWvlP zMf+n+Bv#7c3D*5PVtLJYvlsKr3^kLCYvptud*u?}u97w|D>ke+$_j9}8+ODfZb`O! z97;-zF+2mi;P4w#vyeQUzu}i7nRhuRUA2gF$?Te0q}N4#VU(aaR%*t*o&FF-k{Edu zR5JV}r7JNqhJeB@s+%mvwN57WoB*Yg$r5hb)N?IzLYNd>jX?_9fkBda#?4hAL7SNf z_G3nY8%Pd_s2?Cs?rO^tj9iv@4n52@4Jfy>O4+;1z5@z9Fo<1vV;`A0}#5vK$ev^N|lo59?Y> zEp;dgbKie5z?j|eEqsQ0pqtDjI<{$8=MI-@kucxcvrk4=%Ju>S;VuPU zwW3JtiKbb0IVJgl)~z`ni8+FyW}fanA?s%3VEZ(>ROPUZⅇi2vuc+%IV#BBaM6Q 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 diff --git a/examples/DHS-e2e/DHS/gradle/wrapper/gradle-wrapper.properties b/examples/DHS-e2e/DHS/gradle/wrapper/gradle-wrapper.properties index 10ddd09d37..115e6ac0aa 100644 --- a/examples/DHS-e2e/DHS/gradle/wrapper/gradle-wrapper.properties +++ b/examples/DHS-e2e/DHS/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Wed Sep 06 15:50:41 EDT 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip diff --git a/examples/DHS-e2e/DHS/gradlew b/examples/DHS-e2e/DHS/gradlew index 4453ccea33..cccdd3d517 100755 --- a/examples/DHS-e2e/DHS/gradlew +++ b/examples/DHS-e2e/DHS/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/collector.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/collector.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/collector.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/collector.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/content.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/content.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/content.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/content.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/custESJJ.properties b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/customerHarmonize.properties similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/custESJJ.properties rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/customerHarmonize.properties diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/headers.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/headers.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/headers.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/headers.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/main.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/main.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/main.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/main.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/triples.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/triples.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/triples.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/triples.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/writer.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/writer.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/custESJJ/writer.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/harmonize/customerHarmonize/writer.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/content.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/content.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/content.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/content.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/custInput.properties b/examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/customerInput.properties similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/custInput.properties rename to examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/customerInput.properties diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/headers.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/headers.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/headers.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/headers.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/main.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/main.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/main.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/main.sjs diff --git a/examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/triples.sjs b/examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/triples.sjs similarity index 100% rename from examples/DHS-e2e/DHS/plugins/entities/Customer/input/custInput/triples.sjs rename to examples/DHS-e2e/DHS/plugins/entities/Customer/input/customerInput/triples.sjs diff --git a/examples/DHS-e2e/DSF/build.gradle b/examples/DHS-e2e/DSF/build.gradle index 82ecd278dd..b5297f159c 100644 --- a/examples/DHS-e2e/DSF/build.gradle +++ b/examples/DHS-e2e/DSF/build.gradle @@ -1,31 +1,31 @@ -plugins { - id 'com.marklogic.ml-development-tools' version '4.1.1' - id "com.marklogic.ml-gradle" version "3.9.0" -} - - -group 'com.marklogic.APIs.Customer' - -apply plugin: 'java' -apply plugin: 'application' - -mainClassName = "testCustomer" -sourceCompatibility = 1.8 - -repositories { - mavenCentral() - jcenter() -} -task generateCustomerSearcher(type: com.marklogic.client.tools.gradle.EndpointProxiesGenTask) { - serviceDeclarationFile = 'src/main/ml-modules/root/APIs/Customer/service.json' -} - -task (runMain, dependsOn: 'classes', type: JavaExec) { - main = 'com.marklogic.APIs.testCustomer' - classpath = sourceSets.main.runtimeClasspath -} - -dependencies { - compile group: 'com.marklogic', name: 'marklogic-client-api', version:'4.1.1' - //testCompile group: 'junit', name: 'junit', version:'4.12' -} +plugins { + id 'com.marklogic.ml-development-tools' version '4.1.1' + id "com.marklogic.ml-gradle" version "3.9.0" +} + + +group 'com.marklogic.APIs.Customer' + +apply plugin: 'java' +apply plugin: 'application' + +mainClassName = "TestCustomer" +sourceCompatibility = 1.8 + +repositories { + mavenCentral() + jcenter() +} +task generateCustomerSearcher(type: com.marklogic.client.tools.gradle.EndpointProxiesGenTask) { + serviceDeclarationFile = 'src/main/ml-modules/root/APIs/Customer/service.json' +} + +task (runMain, dependsOn: 'classes', type: JavaExec) { + main = 'com.marklogic.APIs.TestCustomer' + classpath = sourceSets.main.runtimeClasspath +} + +dependencies { + compile group: 'com.marklogic', name: 'marklogic-client-api', version:'4.1.1' + //testCompile group: 'junit', name: 'junit', version:'4.12' +} diff --git a/examples/DHS-e2e/DSF/gradle.properties b/examples/DHS-e2e/DSF/gradle.properties new file mode 100644 index 0000000000..653c4975c2 --- /dev/null +++ b/examples/DHS-e2e/DSF/gradle.properties @@ -0,0 +1,16 @@ +mlHost= +operationsEndpoint= +mlAppName=data-hub + +# Your MarkLogic Username and Password +mlAppServicesUsername=endpointdev +mlAppServicesPassword=SomePass#123 + +mlModulesDatabaseName=data-hub-MODULES +mlAppServicesPort=8004 + +mlNoRestServer=true +mlReplaceTokensInModules=false + +mlModulePermissions=endpointDeveloper,read,endpointDeveloper,update,endpointDeveloper,execute,endpointUser,execute + diff --git a/examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.jar b/examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..ed88a042a287c140a32e1639edfc91b2a233da8c GIT binary patch literal 54712 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

49F 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 literal 0 HcmV?d00001 diff --git a/examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.properties b/examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..74bb77845e --- /dev/null +++ b/examples/DHS-e2e/DSF/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-bin.zip diff --git a/examples/DHS-e2e/DSF/gradlew b/examples/DHS-e2e/DSF/gradlew new file mode 100755 index 0000000000..cccdd3d517 --- /dev/null +++ b/examples/DHS-e2e/DSF/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/DHS-e2e/DSF/gradlew.bat b/examples/DHS-e2e/DSF/gradlew.bat new file mode 100644 index 0000000000..e95643d6a2 --- /dev/null +++ b/examples/DHS-e2e/DSF/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/Customer.java b/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/Customer.java index 6b89a44095..49edaec14c 100644 --- a/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/Customer.java +++ b/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/Customer.java @@ -1,104 +1,107 @@ -package com.marklogic.APIs; - -// IMPORTANT: Do not edit. This file is generated. - -import com.marklogic.client.io.Format; -import java.io.Reader; - - -import com.marklogic.client.DatabaseClient; - -import com.marklogic.client.impl.BaseProxy; - -/** - * Provides a set of operations on the database server - */ -public interface Customer { - /** - * Creates a Customer object for executing operations on the database server. - * - * The DatabaseClientFactory class can create the DatabaseClient parameter. A single - * client object can be used for any number of requests and in multiple threads. - * - * @param db provides a client for communicating with the database server - * @return an object for session state - */ - static Customer on(DatabaseClient db) { - final class CustomerImpl implements Customer { - private BaseProxy baseProxy; - - private CustomerImpl(DatabaseClient dbClient) { - baseProxy = new BaseProxy(dbClient, "/APIs/Customer/"); - } - - @Override - public Integer customerDocsCount(String collectionName) { - return BaseProxy.IntegerType.toInteger( - baseProxy - .request("customerDocsCount.sjs", BaseProxy.ParameterValuesKind.SINGLE_ATOMIC) - .withSession() - .withParams( - BaseProxy.atomicParam("collectionName", false, BaseProxy.StringType.fromString(collectionName))) - .withMethod("POST") - .responseSingle(false, null) - ); - } - - - @Override - public Reader customerWithChInCompanyName(String keyword) { - return BaseProxy.JsonDocumentType.toReader( - baseProxy - .request("customerWithChInCompanyName.sjs", BaseProxy.ParameterValuesKind.SINGLE_ATOMIC) - .withSession() - .withParams( - BaseProxy.atomicParam("keyword", false, BaseProxy.StringType.fromString(keyword))) - .withMethod("POST") - .responseSingle(false, Format.JSON) - ); - } - - - @Override - public Reader customerWithSalesAsTitle(String title) { - return BaseProxy.JsonDocumentType.toReader( - baseProxy - .request("customerWithSalesAsTitle.sjs", BaseProxy.ParameterValuesKind.SINGLE_ATOMIC) - .withSession() - .withParams( - BaseProxy.atomicParam("title", false, BaseProxy.StringType.fromString(title))) - .withMethod("POST") - .responseSingle(false, Format.JSON) - ); - } - - } - - return new CustomerImpl(db); - } - - /** - * Invokes the customerDocsCount operation on the database server - * - * @param collectionName provides input - * @return as output - */ - Integer customerDocsCount(String collectionName); - - /** - * Invokes the customerWithChInCompanyName operation on the database server - * - * @param keyword provides input - * @return as output - */ - Reader customerWithChInCompanyName(String keyword); - - /** - * Invokes the customerWithSalesAsTitle operation on the database server - * - * @param title provides input - * @return as output - */ - Reader customerWithSalesAsTitle(String title); - -} +package com.marklogic.APIs; + +// IMPORTANT: Do not edit. This file is generated. + +import com.marklogic.client.io.Format; +import java.io.Reader; + + +import com.marklogic.client.DatabaseClient; + +import com.marklogic.client.impl.BaseProxy; + +/** + * Provides a set of operations on the database server + */ +public interface Customer { + /** + * Creates a Customer object for executing operations on the database server. + * + * The DatabaseClientFactory class can create the DatabaseClient parameter. A single + * client object can be used for any number of requests and in multiple threads. + * + * @param db provides a client for communicating with the database server + * @return an object for session state + */ + static Customer on(DatabaseClient db) { + final class CustomerImpl implements Customer { + private BaseProxy baseProxy; + + private CustomerImpl(DatabaseClient dbClient) { + baseProxy = new BaseProxy(dbClient, "/APIs/Customer/"); + } + + @Override + public Integer customerDocsCount(String collectionName) { + System.out.println("\n Should return count of documents in the collection " + collectionName + " \n"); + return BaseProxy.IntegerType.toInteger( + baseProxy + .request("customerDocsCount.sjs", BaseProxy.ParameterValuesKind.SINGLE_ATOMIC) + .withSession() + .withParams( + BaseProxy.atomicParam("collectionName", false, BaseProxy.StringType.fromString(collectionName))) + .withMethod("POST") + .responseSingle(false, null) + ); + } + + + @Override + public Reader customerWithChInCompanyName(String keyword) { + System.out.println("\n Should return all documents that have 'Ch' in CompanyName \n"); + return BaseProxy.JsonDocumentType.toReader( + baseProxy + .request("customerWithChInCompanyName.sjs", BaseProxy.ParameterValuesKind.SINGLE_ATOMIC) + .withSession() + .withParams( + BaseProxy.atomicParam("keyword", false, BaseProxy.StringType.fromString(keyword))) + .withMethod("POST") + .responseSingle(false, Format.TEXT) + ); + } + + + @Override + public Reader customerWithSalesAsTitle(String title) { + System.out.println("\n Should return all documents(5) that have 'Sales' as ContactTitle \n"); + return BaseProxy.JsonDocumentType.toReader( + baseProxy + .request("customerWithSalesAsTitle.sjs", BaseProxy.ParameterValuesKind.SINGLE_ATOMIC) + .withSession() + .withParams( + BaseProxy.atomicParam("title", false, BaseProxy.StringType.fromString(title))) + .withMethod("POST") + .responseSingle(false, Format.TEXT) + ); + } + + } + + return new CustomerImpl(db); + } + + /** + * Invokes the customerDocsCount operation on the database server + * + * @param collectionName provides input + * @return as output + */ + Integer customerDocsCount(String collectionName); + + /** + * Invokes the customerWithChInCompanyName operation on the database server + * + * @param keyword provides input + * @return as output + */ + Reader customerWithChInCompanyName(String keyword); + + /** + * Invokes the customerWithSalesAsTitle operation on the database server + * + * @param title provides input + * @return as output + */ + Reader customerWithSalesAsTitle(String title); + +} diff --git a/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/TestCustomer.java b/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/TestCustomer.java new file mode 100644 index 0000000000..a99000e536 --- /dev/null +++ b/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/TestCustomer.java @@ -0,0 +1,57 @@ +package com.marklogic.APIs; + +import com.marklogic.client.DatabaseClient; +import com.marklogic.client.DatabaseClientFactory; +import com.marklogic.client.io.JacksonHandle; +import com.marklogic.client.io.marker.AbstractReadHandle; +import com.marklogic.client.DatabaseClient.ConnectionType; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.Reader; +import java.util.Properties; +import java.io.InputStream; +import java.io.FileInputStream; +import java.util.stream.Stream; + +import com.fasterxml.jackson.databind.JsonNode; + + +public class TestCustomer { + public static void main(String [] argv) throws IOException { + + Properties prop = new Properties(); + InputStream input = null; + + input = new FileInputStream("gradle.properties"); + + prop.load(input); + + String username = prop.getProperty("mlAppServicesUsername"); + String password = prop.getProperty("mlAppServicesPassword"); + String operationsEndPoint = prop.getProperty("operationsEndpoint"); + int port = 8009; + + StringBuilder b = new StringBuilder(); + String line = null; + + DatabaseClient dbClient = DatabaseClientFactory.newClient(operationsEndPoint, port, new DatabaseClientFactory.DigestAuthContext(username, password), ConnectionType.GATEWAY); + + + //Reader output = Customer.on(dbClient).customerWithChInCompanyName("Ch"); + //BufferedReader output = new BufferedReader(Customer.on(dbClient).customerWithChInCompanyName("Ch")); + try { + BufferedReader output = new BufferedReader(Customer.on(dbClient).customerWithSalesAsTitle("Sales")); + while ((line = output.readLine()) != null) { + b.append(line+"\n\n"); + } + System.out.println(b); + output.close(); + //System.out.println(Customer.on(dbClient).customerDocsCount("Customer"));//output.readLine()); + } catch (Exception e) { + e.printStackTrace(); + } + + finally{dbClient.release();} + } +} diff --git a/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/testCustomer.java b/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/testCustomer.java deleted file mode 100644 index 992cf7b7e0..0000000000 --- a/examples/DHS-e2e/DSF/src/main/java/com/marklogic/APIs/testCustomer.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.marklogic.APIs; - -import com.marklogic.client.DatabaseClient; -import com.marklogic.client.DatabaseClientFactory; -import com.marklogic.client.io.JacksonHandle; -import com.marklogic.client.io.marker.AbstractReadHandle; -import com.marklogic.client.DatabaseClient.ConnectionType; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.Reader; -import java.util.stream.Stream; - -import com.fasterxml.jackson.databind.JsonNode; - - -public class testCustomer { - public static void main(String [] argv) throws IOException { - - String username = "apiuser"; - String password = "M@rkl0gic"; - String operationsEndPoint = "internal-mlaas-oalb-9whto2c1y3h3-430551021.us-east-1.elb.amazonaws.com"; - int port = 8009; - - StringBuilder b = new StringBuilder(); - String line = null; - - DatabaseClient dbClient = DatabaseClientFactory.newClient(operationsEndPoint, port, new DatabaseClientFactory.DigestAuthContext(username, password), ConnectionType.GATEWAY); - - - //Reader output = Customer.on(dbClient).customerWithChInCompanyName("Ch"); - //BufferedReader output = new BufferedReader(Customer.on(dbClient).customerWithChInCompanyName("Ch")); - try { - BufferedReader output = new BufferedReader(Customer.on(dbClient).customerWithSalesAsTitle("Sales")); - while ((line = output.readLine()) != null) { - b.append(line); - } - System.out.println(b); - output.close(); - //System.out.println(Customer.on(dbClient).customerDocsCount("Customer"));//output.readLine()); - } catch (Exception e) { - e.printStackTrace(); - } - - finally{dbClient.release();} - } -} diff --git a/examples/DHS-e2e/README.md b/examples/DHS-e2e/README.md index ccc543b100..cfc2ca427d 100644 --- a/examples/DHS-e2e/README.md +++ b/examples/DHS-e2e/README.md @@ -1,63 +1,57 @@ -# Running Data Hub Service end-end # - -There are 2 projects one for each DHS and DSF. DHS is the project to run DHF flows in the stack spun up by DHS. Whereas DSF is the project that consumes curated data in the FINAL database. Commands to be executed in sequence are as under: - -## Pre-req ## -Gradle 4.x+ installed globally. -* wget https://services.gradle.org/distributions/gradle-4.2.1-bin.zip -* unzip to a dir of choice -* update env var PATH in bash_profile - * `export PATH=$PATH:/gradle4.2.1/bin` - * source ~/.bash_profile - -There is a gradle task “importAllCustomers” to ingest source documents. So you can either run that task or use your locally installed mlcp.sh as described later. -* Download and Extract mlcp-9.0.7.zip to a directory of your choice - * `export PATH=$PATH:/mlcp-9.0.7/bin` - * source ~/.bash_profile - - -After creating stack in AWS make sure you have created following users with appropriate roles. Set the Password as M@rkl0gic for all the users. - -You can create them with username/password of your own choice. In that case ensure DHS/gradle.properties, DSF/gradle.properties and DSF/src/main/java/com/marklogic/APIs/testCustomer.java files are updated to use them. - -* For DHS project - * User dhfdevelop has flowDeveloper role - * User dhfoperator has flowOperator role -* For DSF project - * User apideveloper has endpointDeveloper role - * User apiuser has endpointUser role - - -## Assumptions and things to note ## -* This project assumes that DHS environment is already provisioned. All the app servers, databases are provisioned and required roles created as described in pre-req above -* This example was executed from bastion host -* Latest DHS release enables you to configure the endpoints to be public. If they are, you can run this project from your laptop. If the endpoints are private, then these hosts are only accessible from the VPC that is peered to the MarkLogic VPC (This can be accessed from your local by ssh tunneling). In either case please update mlHost in DHS/gradle.properties to use Flows endpoint and DSF/gradle.properties and DSF/src/main/java/com/marklogic/APIs/testCustomer.java to use Operations endpoint - - -# Steps to run end to end # - -## Getting your flows in DHS ## -1. cd `` -2. Install data-hub core MODULES - 1. gradle hubInstallModules -3. Load your modules for input/harmoninzation flows - 1. gradle mlLoadModules -4. Run input flow - 1. mlcp.sh import -mode "local" -host "`Ingest/Flows endpoint`" -port "8006" -username "xx" -password "yy" -input_file_path "`path to DHS/input/json/customers/`" -input_file_type "documents" -output_collections "Customer,DHS" -output_permissions "rest-reader,read,rest-writer,update" -output_uri_replace "`path to DHS/input/json,''`" -document_type "json" -transform_module "/data-hub/4/transforms/mlcp-flow-transform.sjs" -transform_namespace "http://marklogic.com/data-hub/mlcp-flow-transform" -transform_param "entity-name=Customer,flow-name=custInput" -restrict_hosts true - - ___Alternately you can run___ - - 2. gradle importAllCustomers - 1. Ensure to update path to input documents in DHS/build.gradle where the task is defined -5. Run harmonization flow - 1. gradle hubRunFlow -PentityName=Customer -PflowName=custESJJ - -## Consuming curated data from FINAL database ## -1. cd `` -2. Load your APIs into data-hub-MODULES database - 1. gradle mlLoadModules -3. Call the API. The API runs a query on FINAL database to return all the Customers who have "Sales" in their title - 1. gradle runMain - - -___You can verify via REST port 8004 for ingested/harmonized docs___ +# Running Data Hub Service end-to-end # + +There are two projects — one for running DHF flows in Data Hub Service (DHS), and one for consuming data from the final database with Data Services (DSF). + +## Prerequisites ## + +Install MarkLogic Content Pump (mlcp). +* Download and Extract mlcp-9.0.7.zip to a directory of your choice + * `export PATH=$PATH:/mlcp-9.0.7/bin` + * `source ~/.bash_profile` + + +After creating your stack in AWS, make sure you have created users with appropriate roles. Update DHS/gradle.properties and DSF/gradle.properties to use them. +For information on DHS roles, refer to the [DHS documentation](https://internal.cloudservices.marklogic.com/help?type=datahub&subtype=user#DHSroles) + + +## Assumptions and things to note ## +* This project assumes that a DHS environment is already provisioned. All the app servers and databases should be provisioned and required roles created as described in the prerequisites above. +* This example was run from bastion host. +* DHS enables you to configure the endpoints to be private or public. If they are public, you can run this project from your laptop. If the endpoints are private, then these hosts are only accessible from the VPC that is peered to the MarkLogic VPC. In either case, please update `mlHost` in DHS/gradle.properties and DSF/gradle.properties to use the Flows endpoint and `operationsEndpoint` in DSF/gradle.properties to use the Operations endpoint. + + +# Steps # + +## Getting your flows in DHS ## +1. `cd ` +2. Install data-hub core MODULES + * `./gradlew hubInstallModules` + * Verify that data-hub-MODULES has 133 documents from your browser: + ___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ +3. Load your modules for the input and harmonization flows + * `./gradlew mlLoadModules` + * Verify that data-hub-MODULES has 145 documents from your browser: + ___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ +4. Load your indexes into the databases + * `./gradlew mlUpdateIndexes` +5. Run the input flow in either ways below + * `./gradlew importAllCustomers` OR + * `mlcp.sh import -mode "local" -host "`**Ingest/Flows endpoint**`" -port "8006" -username "`**Your username here**`" -password "`**Your password here**`" -input_file_path "`**path to DHS/input/json/customers/**`" -input_file_type "documents" -output_collections "Customer,DHS" -output_permissions "rest-reader,read,rest-writer,update" -output_uri_replace "`**path to DHS/input/json**`,''" -document_type "json" -transform_module "/data-hub/4/transforms/mlcp-flow-transform.sjs" -transform_namespace "http://marklogic.com/data-hub/mlcp-flow-transform" -transform_param "entity-name=Customer,flow-name=customerInput" -restrict_hosts true` + * Verify there are 11 documents in data-hub-STAGING: + ___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-STAGING___ +6. Run the harmonization flow + * `./gradlew hubRunFlow -PentityName=Customer -PflowName=customerHarmonize` + * Verify there are 11 documents in data-hub-FINAL: + ___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-FINAL___ + +## Consuming curated data from the data-hub-FINAL database ## +1. `cd ` +2. Load your APIs into the data-hub-MODULES database + * (Optional) If you are using the same project to run against another AWS stack, delete `module-timestamps.properties` from under the `build/ml-javaclient-util` directory + * `./gradlew mlLoadModules` + * Verify that data-hub-MODULES has 152 documents from your browser: + ___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ +3. Call the API. The API runs a query on FINAL database to return all the Customers who have "Sales" in their title + * `./gradlew runMain` + + From d878ee64dd207a85376ced2e9d3dd671f14e11ce Mon Sep 17 00:00:00 2001 From: Alexander Smirnoff Date: Wed, 26 Dec 2018 11:23:15 -0800 Subject: [PATCH 007/157] Integrate mlui-integration branch into develop (#1696) * add timeout * completed story for new entity component * More fixes with login html properties and event bindings, fixes in the story * added requested changes * fixed issues * MLUI-220: Scoping for search-viewer.component * refactored choose collation component * Settings components wrap-up * updated choose collation story * files reorganized, story created TODO: Fix story errors * Missed settings service * Dependencies fix * Settings components wrap-up * moved component * added provider * async/await experiment * MLUI-127 - FocusElementDirective story complete Added new shared/directives folder + added directive stories section * refactored component dialog to be declaritive * add timeout * completed story for new entity component * added requested changes * fixed issues * reverting deletion of select-key-values component * files reorganized, story created TODO: Fix story errors * Missed settings service * Dependencies fix * Settings components wrap-up * Fixed "Data" definition error * entity box component * removed entity box export * MLUI-221: Add Stories for search-viewer.components * updated imports * removed readme * updated imports * Move services back to /app folder * Fixed MLUI-221: Refactored with search-viewer-ui * Fix merge issues with settings ui component and story * fixing build: imports and missed propeerties * MLUI-178: Scoping, Refactoring, Regression for grid.component * MLUI-179: Stories for grid.component * MLUI add knobs functionality Add knobs to the following components: facets, new-map-ui, pagination * MLUI fix filename new-map-ui story * Jobs Component complete * File clean-up + mysterious component error fix (thanks Sasha!) * Job Output Component complete with story * Removed console.log() from new UI component, used to get JSON for story * Story fix - close X action renamed to cancelClicked * Has Bugs Dialog complete * Job Export Component complete * Move MdlDialogService to Presentational component * Moved MdlDialogService to UI component and invoked it via ViewChild ref * CodeMirror component refactoring and story in progress * remove ignore bit artifacts * Path fix for Search Viewer story + tweak to CM story for action handler * Add Codemirror option "mode" to highlight JS code properly * try to use default timeout * MLUI-174: Scoping flows.components.ts to flows-ui * Fix MLUI-174: Add more event binding. * MLUI-175: Story for flows.component * MLUI-121: rebase with latest mlui-integration * MLUI-208: rename mlcp-ui component to mlcp * MLUI-208: rename mlcp-ui component to mlcp * MLUI map component refactor * MLUI map component story * MLUI map component error fixes editDescVal not needed in map component Remove OnInit from export declaration, not implemented * MLUI map component error fix Make sampleDocSrcProps a public property * fixed number of errors and missed parameters for the logout page * fixing the story and angular.json * fix await * add async/await * MLUI-209: Finish Story for mlcp-ui * restore to default * restore to default * refresh browser * debugging viewer page * more debugging * debug viewer page * atomic value change * DHFPROD-1516: fix for search viewer * change back to use viewerPage isLoaded * MLUI-232: Scoping traces.components.ts * DHFPROD-1517 fix * arg fix. * MLUI-233: story for traces.component * Fix code structure * refine story for mlcp * refactor file structure * refine storys by adding mockService * add @types/clipboard to make clipboard load correctly in storybook * MLUI mappings refactor and story * MLUI map story dialog-outlet fix * fix clipboard typescript import * MLUI map story bootstrap CSS support * MLUI move listfilter pipe into mappings Only place listfilter is used is map component. * MLUI map do not reorder list items after filter In map view, list items should not be sorted after filter as that can potentially reorder the list which is bad UX. * Tooltip Component complete * Tooltip story * Build fix * Fix build error caused by missing loadingTraces Input * fix code format and trigger jenkins * refactored run harmonize options * MLUI map fix ListFilterPipe import * header refactor and storybook * Trigger build * refactored and created storybook for entity editor * refactored trace viewer component * cleaned * fix code structure by removing html and scss file in flow * MLUI map component trigger update * disable remove props * created trace viewer component * New Flow story and UI component * fix build error * App Story + Util Router Stub + app.component.ts component * Wrapped display of route information when clicking on a route in header I won't be able to make improvements over this code, as I am out of time. It is functional, but not elegant. Ideal solution would have hooked into routing and somehow listened to the routing events, updating the DummyComponent template information dynamically. After over 10 hours sunk into trying to figure that out, I went with the dynamic creation of DummyComponent and their templates instead, which renders a simple component template with the route path text. * Build fix - files no longer used. Previously taken from Ops Dir to try to stub router and manipulate, which didn't pan out. Removing to fix build. * refactored and added trace viewer storybook * Search Component complete + Search Viewer Component reorg * trigger build * fixed the images location and angular app location * adding browser.sleep * fixing the login problem with initial project * Merge branch 'develop' into mlui-integration * fixing compilation problems * changed header logic to be consistent with the develop branch * MLUI-150: fix bugs of 'Last Deployed' in flow.component * run input flow debug * Fix ExpressionChangedAfterItHasBeenCheckedError in app.component * change back the wait * MLUI-138: Fix bugs in mlcp that doesn't update input File Type * debug restore button * fixed progress bar * added percent complete to the setting component in storybook * debug remove entity * debug on redeploy * Revert "MLUI-150: fix bugs of 'Last Deployed' in flow.component" This reverts commit 587fcc8b4c5d284278db7fec582e02de2ba9f609. * fix regression failure due to locator mismatch * sleep on remove prop * fixed naming conflict with modules and some bugs * MLUI fix tooltips * add sleep for more stability * add sleep on save map * add sleep on save map * add sleep on harmonize flow * add sleep on entity dialog display * add sleep on harmonize flow page * add sleep on entity dialog * add sleep after dialog box * add browser navigate * increase sleep * add wait for input flow plus button * updated job service logic to observable * fixing the storybook build * docs generaion for angular project added * redeploy before creating harmonize flow * name change for docs generation * externaldef dialog refactor * fixed css in storybook * removed storybook.css * dashboard storybook * Fixes to issues occurring with new-flow after merge with latest develop * DHFPROD-1658 fix mapping view Part of mlui-integration merge --- .gitignore | 4 - .../ml-config/databases/final-database.json | 18 +- .../databases/final-schemas-database.json | 6 +- .../databases/final-triggers-database.json | 6 +- .../ml-config/databases/modules-database.json | 10 +- .../main/ml-config/servers/final-server.json | 28 +- .../src/trace-ui/package-lock.json | 4451 +++--- quick-start/.gitignore | 1 + quick-start/.storybook/config.js | 9 - quick-start/.storybook/preview-head.html | 10 + quick-start/.storybook/storybook.css | 6 - quick-start/.storybook/webpack.config.js | 28 +- quick-start/angular.json | 10 +- quick-start/e2e/page-objects/appPage.ts | 2 +- quick-start/e2e/page-objects/browse/browse.ts | 2 +- quick-start/e2e/page-objects/traces/traces.ts | 2 +- quick-start/e2e/specs/auth/authenticated.ts | 3 +- quick-start/e2e/specs/create/create.ts | 5 +- quick-start/e2e/specs/mappings/mappings.ts | 2 +- quick-start/e2e/specs/mappings/typeAhead.ts | 3 +- quick-start/e2e/specs/run/run.ts | 3 +- quick-start/package-lock.json | 11246 +++++++--------- quick-start/package.json | 29 +- .../com/marklogic/quickstart/AuthConfig.java | 3 +- .../src/main/ui/app/app.component.html | 6 - quick-start/src/main/ui/app/app.component.ts | 28 +- quick-start/src/main/ui/app/app.module.ts | 96 +- quick-start/src/main/ui/app/app.routes.ts | 2 +- .../ui/app/clipboard/clipboard.directive.ts | 12 +- .../src/main/ui/app/clipboard/index.ts | 1 + .../dashboard/dashboard.component.README.md | 13 - .../ui/app/dashboard/dashboard.component.ts | 17 +- .../src/main/ui/app/deploy/deploy.service.ts | 4 +- .../main/ui/app/entities/entities.service.ts | 6 +- .../src/main/ui/app/entities/plugin.model.ts | 2 +- .../choose-collation.component.README.md | 7 - .../entity-editor.component.README.md | 7 - .../src/main/ui/app/entity-modeler/index.ts | 4 - .../src/main/ui/app/flows/flows.component.ts | 124 +- .../src/main/ui/app/folder-browser/index.ts | 1 + ...harmonize-flow-options.component.README.md | 7 - .../harmonize-flow-options.component.ts | 15 +- .../ui/app/header/header.component.README.md | 5 - .../main/ui/app/header/header.component.ts | 54 +- .../main/ui/app/installer/install.service.ts | 2 +- quick-start/src/main/ui/app/jobs/index.ts | 2 + .../app/jobs/job-export.component.README.md | 7 - .../main/ui/app/jobs/job-export.component.ts | 38 +- .../main/ui/app/jobs/job-listener.service.ts | 29 +- .../app/jobs/job-output.component.README.md | 8 - .../main/ui/app/jobs/job-output.component.ts | 9 +- quick-start/src/main/ui/app/jobs/job.model.ts | 1 - .../main/ui/app/jobs/jobs.component.README.md | 9 - .../src/main/ui/app/jobs/jobs.component.ts | 77 +- .../src/main/ui/app/listfilter/index.ts | 1 - .../app/listfilter/listfilter.pipe.README.md | 2 - .../app/login/login-info.component.README.md | 1 - .../src/main/ui/app/login/login.component.ts | 202 +- .../src/main/ui/app/mappings/map.component.ts | 281 +- .../app/mappings/mappings.component.README.md | 1 - .../ui/app/mappings/mappings.component.ts | 72 +- quick-start/src/main/ui/app/mlcp/index.ts | 1 + .../mlcp.component.ts} | 56 +- .../ui/app/new-flow/new-flow.component.ts | 47 +- .../ui/app/search/search-viewer.component.ts | 18 +- .../main/ui/app/search/search.component.ts | 51 +- quick-start/src/main/ui/app/settings/index.ts | 1 + .../ui/app/settings/settings.component.ts | 37 +- .../shared/components/app-ui.component.html | 6 + .../components/app-ui.component.scss} | 0 .../app/shared/components/app-ui.component.ts | 11 + .../choose-collation.component.html | 0 .../choose-collation.component.scss | 0 .../choose-collation.component.ts | 0 .../codemirror/addon/edit/closebrackets.js | 0 .../codemirror/addon/edit/closetag.js | 0 .../codemirror/addon/edit/continuelist.js | 0 .../codemirror/addon/edit/matchbrackets.js | 0 .../codemirror/addon/edit/matchtags.js | 0 .../codemirror/addon/edit/trailingspace.js | 0 .../codemirror/addon/hint/anyword-hint.js | 0 .../codemirror/addon/hint/css-hint.js | 0 .../codemirror/addon/hint/html-hint.js | 0 .../codemirror/addon/hint/javascript-hint.js | 0 .../hint/marklogic-hint-docs-additions.json | 0 .../addon/hint/marklogic-hint-docs.json | 0 .../addon/hint/marklogic-hint-suggestions.js | 0 .../addon/hint/marklogic-hint-templates.js | 0 .../addon/hint/marklogic-hint-types.json | 0 .../codemirror/addon/hint/marklogic-hint.css | 0 .../codemirror/addon/hint/marklogic-hint.js | 0 .../codemirror/addon/hint/show-hint.css | 0 .../codemirror/addon/hint/show-hint.js | 0 .../codemirror/addon/hint/sql-hint.js | 0 .../codemirror/addon/hint/templates-hint.js | 0 .../codemirror/addon/hint/xml-hint.js | 0 .../addon/hint/xquery/system-functions.xml.js | 0 .../addon/hint/xquery/xquery-hint.js | 0 .../addon/hint/xquery/xquery-templates.js | 0 .../codemirror/addon/mode/xquery.js | 0 .../codemirror/codemirror.component.scss | 0 .../codemirror/codemirror.component.ts | 0 .../components}/codemirror/index.ts | 0 .../dashboard/dashboard-ui.component.html} | 4 +- .../dashboard/dashboard-ui.component.scss} | 2 +- .../dashboard/dashboard-ui.component.ts | 37 + .../entity-box}/entity-box.component.html | 0 .../entity-box}/entity-box.component.scss | 2 +- .../entity-box}/entity-box.component.ts | 4 +- .../entity-editor.component.html | 0 .../entity-editor.component.scss | 2 +- .../entity-editor}/entity-editor.component.ts | 10 +- .../externaldef-dialog.component.html | 0 .../externaldef-dialog.component.scss | 0 .../externaldef-dialog.component.ts | 2 +- .../components/flows/flows-ui.component.html} | 13 +- .../components/flows/flows-ui.component.scss} | 2 +- .../components/flows/flows-ui.component.ts | 185 + .../ui/app/shared/components/flows/index.ts | 1 + .../shared/components/folder-browser/index.ts | 1 + .../components}/grid/grid.component.README.md | 0 .../components}/grid/grid.component.scss | 0 .../components}/grid/grid.component.ts | 12 +- .../components}/grid/grid.module.ts | 0 .../app/{ => shared/components}/grid/index.ts | 0 .../harmonize-flow-options-ui.component.html} | 2 +- .../harmonize-flow-options-ui.component.scss} | 2 +- .../harmonize-flow-options-ui.component.ts | 31 + .../harmonize-flow-options/index.ts | 1 + .../has-bugs-dialog.component.html | 0 .../has-bugs-dialog.component.scss | 3 +- .../has-bugs-dialog.component.ts | 6 +- .../components}/has-bugs-dialog/index.ts | 0 .../header/header-ui.component.html} | 14 +- .../header/header-ui.component.scss} | 2 +- .../components/header/header-ui.component.ts | 32 + .../main/ui/app/shared/components/index.ts | 23 +- .../ui/app/shared/components/jobs/index.ts | 3 + .../jobs/job-export-ui.component.html} | 2 +- .../jobs/job-export-ui.component.ts | 49 + .../jobs/job-output-ui.component.html} | 2 +- .../jobs/job-output-ui.component.scss} | 0 .../jobs/job-output-ui.component.ts | 12 + .../components/jobs/jobs-ui.component.html} | 31 +- .../components/jobs/jobs-ui.component.scss} | 2 +- .../components/jobs/jobs-ui.component.ts | 26 + .../ui/app/shared/components/login/index.ts | 1 + .../components/login/login-ui.component.html} | 48 +- .../components/login/login-ui.component.scss} | 2 +- .../components/login/login-ui.component.ts | 112 + .../app/shared/components/mappings/index.ts | 3 + .../components/mappings}/listfilter.pipe.ts | 12 +- .../mappings/map-ui.component.html} | 14 +- .../mappings/map-ui.component.scss} | 0 .../components/mappings/map-ui.component.ts | 360 + .../mappings/mappings-ui.component.html} | 10 +- .../mappings/mappings-ui.component.scss} | 2 +- .../mappings/mappings-ui.component.ts | 70 + .../components/mlcp}/index.ts | 0 .../components/mlcp}/mlcp-ui.component.html | 31 +- .../components/mlcp}/mlcp-ui.component.scss | 2 +- .../components/mlcp/mlcp-ui.component.ts | 81 + .../new-entity/new-entity.component.html | 2 +- .../new-entity/new-entity.component.scss | 0 .../new-entity/new-entity.component.ts | 0 .../new-flow/new-flow-ui.component.html} | 14 +- .../new-flow/new-flow-ui.component.scss} | 0 .../new-flow/new-flow-ui.component.ts | 72 + .../ui/app/shared/components/search/index.ts | 2 + .../search/search-ui.component.html} | 32 +- .../search/search-ui.component.scss} | 2 +- .../components/search/search-ui.component.ts | 24 + .../search/search-viewer-ui.component.html} | 0 .../search/search-viewer-ui.component.scss} | 2 +- .../search/search-viewer-ui.component.ts | 17 + .../components/select-key-values/index.ts | 1 + .../select-list/select-list.component.ts | 18 +- .../app/shared/components/settings/index.ts | 1 + .../settings/settings-ui.component.html | 90 + .../settings/settings-ui.component.scss} | 21 +- .../settings/settings-ui.component.ts | 23 + .../ui/app/shared/components/tooltip/index.ts | 1 + .../tooltip-container-ui.component.html | 19 + .../tooltip/tooltip-container-ui.component.ts | 16 + .../trace-viewer-ui.component.html} | 2 +- .../trace-viewer-ui.component.scss} | 4 +- .../trace-viewer/trace-viewer-ui.component.ts | 57 + .../ui/app/shared/components/traces/index.ts | 1 + .../traces/traces-ui.component.html} | 12 +- .../traces/traces-ui.component.scss} | 2 +- .../components/traces/traces-ui.component.ts | 33 + .../focus-element/focus-element.directive.ts | 0 .../components/app.component.stories.ts | 106 + .../choose-collation.component.stories.ts | 79 + .../codemirror.component.stories.ts | 82 + .../dashboard/dashboard.component.stories.ts | 60 + .../entity-box.component.stories.ts | 87 + .../entity-editor.component.stories.ts | 125 + .../externaldef-dialog.component.stories.ts | 85 + .../facets/facets.component.stories.ts | 6 +- .../flows/flows-ui.compoment.stories.ts | 455 + .../grid/grid.components.stories.ts | 41 + ...rmonize-flows-options.component.stories.ts | 75 + .../has-bugs-dialog.component.stories.ts | 69 + .../header/header.component.stories.ts | 103 + .../jobs/job-export.component.stories.ts | 78 + .../jobs/job-output.component.stories.ts | 46 + .../components/jobs/jobs.component.stories.ts | 85 + .../login/login.component.stories.ts | 161 + .../mappings/map-ui.component.stories.ts | 169 + .../mappings/mappings-ui.component.stories.ts | 106 + ...ies.ts => new-map-ui.component.stories.ts} | 6 +- .../mlcp/mlcp-ui.component.stories.ts | 515 + .../new-entity.component.stories.ts | 67 + .../new-flow/new-flow.component.stories.ts | 95 + .../pagination.component.stories.ts | 7 +- .../search/search-viewer.stories.ts | 74 + .../search/search.component.stories.ts | 86 + .../select/select.component.stories.ts | 4 +- .../settings/settings.component.stories.ts | 64 + .../tooltip/tooltip.component.stories.ts | 57 + .../trace-viewer.component.stories.ts | 132 + .../traces/traces-ui.component.stories.ts | 401 + .../focus-element.directive.stories.ts | 41 + quick-start/src/main/ui/app/stomp/index.ts | 1 + .../tooltip/tooltip-container.component.ts | 34 +- .../src/main/ui/app/tooltip/tooltip.module.ts | 5 +- .../ui/app/traces/trace-viewer.component.ts | 63 +- .../main/ui/app/traces/traces.component.ts | 23 +- quick-start/src/main/ui/index.html | 2 +- quick-start/src/main/ui/typings.d.ts | 102 +- quick-start/tslint.json | 2 +- 232 files changed, 12539 insertions(+), 10264 deletions(-) delete mode 100644 quick-start/.storybook/storybook.css delete mode 100644 quick-start/src/main/ui/app/app.component.html create mode 100644 quick-start/src/main/ui/app/clipboard/index.ts delete mode 100644 quick-start/src/main/ui/app/dashboard/dashboard.component.README.md delete mode 100644 quick-start/src/main/ui/app/entity-modeler/choose-collation.component.README.md delete mode 100644 quick-start/src/main/ui/app/entity-modeler/entity-editor.component.README.md create mode 100644 quick-start/src/main/ui/app/folder-browser/index.ts delete mode 100644 quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.README.md delete mode 100644 quick-start/src/main/ui/app/header/header.component.README.md delete mode 100644 quick-start/src/main/ui/app/jobs/job-export.component.README.md delete mode 100644 quick-start/src/main/ui/app/jobs/job-output.component.README.md delete mode 100644 quick-start/src/main/ui/app/jobs/jobs.component.README.md delete mode 100644 quick-start/src/main/ui/app/listfilter/index.ts delete mode 100644 quick-start/src/main/ui/app/listfilter/listfilter.pipe.README.md delete mode 100644 quick-start/src/main/ui/app/login/login-info.component.README.md delete mode 100644 quick-start/src/main/ui/app/mappings/mappings.component.README.md create mode 100644 quick-start/src/main/ui/app/mlcp/index.ts rename quick-start/src/main/ui/app/{mlcp-ui/mlcp-ui.component.ts => mlcp/mlcp.component.ts} (93%) create mode 100644 quick-start/src/main/ui/app/shared/components/app-ui.component.html rename quick-start/src/main/ui/app/{app.component.scss => shared/components/app-ui.component.scss} (100%) create mode 100644 quick-start/src/main/ui/app/shared/components/app-ui.component.ts rename quick-start/src/main/ui/app/{entity-modeler => shared/components/choose-collation}/choose-collation.component.html (100%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/choose-collation}/choose-collation.component.scss (100%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/choose-collation}/choose-collation.component.ts (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/edit/closebrackets.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/edit/closetag.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/edit/continuelist.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/edit/matchbrackets.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/edit/matchtags.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/edit/trailingspace.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/anyword-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/css-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/html-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/javascript-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint-docs-additions.json (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint-docs.json (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint-suggestions.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint-templates.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint-types.json (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint.css (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/marklogic-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/show-hint.css (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/show-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/sql-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/templates-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/xml-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/xquery/system-functions.xml.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/xquery/xquery-hint.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/hint/xquery/xquery-templates.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/addon/mode/xquery.js (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/codemirror.component.scss (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/codemirror.component.ts (100%) rename quick-start/src/main/ui/app/{ => shared/components}/codemirror/index.ts (100%) rename quick-start/src/main/ui/app/{dashboard/dashboard.component.html => shared/components/dashboard/dashboard-ui.component.html} (95%) rename quick-start/src/main/ui/app/{dashboard/dashboard.component.scss => shared/components/dashboard/dashboard-ui.component.scss} (93%) create mode 100644 quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.ts rename quick-start/src/main/ui/app/{entity-modeler => shared/components/entity-box}/entity-box.component.html (100%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/entity-box}/entity-box.component.scss (98%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/entity-box}/entity-box.component.ts (95%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/entity-editor}/entity-editor.component.html (100%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/entity-editor}/entity-editor.component.scss (96%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/entity-editor}/entity-editor.component.ts (96%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/externaldef-dialog}/externaldef-dialog.component.html (100%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/externaldef-dialog}/externaldef-dialog.component.scss (100%) rename quick-start/src/main/ui/app/{entity-modeler => shared/components/externaldef-dialog}/externaldef-dialog.component.ts (95%) rename quick-start/src/main/ui/app/{flows/flows.component.html => shared/components/flows/flows-ui.component.html} (94%) mode change 100755 => 100644 rename quick-start/src/main/ui/app/{flows/flows.component.scss => shared/components/flows/flows-ui.component.scss} (99%) create mode 100644 quick-start/src/main/ui/app/shared/components/flows/flows-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/flows/index.ts create mode 100644 quick-start/src/main/ui/app/shared/components/folder-browser/index.ts rename quick-start/src/main/ui/app/{ => shared/components}/grid/grid.component.README.md (100%) rename quick-start/src/main/ui/app/{ => shared/components}/grid/grid.component.scss (100%) rename quick-start/src/main/ui/app/{ => shared/components}/grid/grid.component.ts (93%) rename quick-start/src/main/ui/app/{ => shared/components}/grid/grid.module.ts (100%) rename quick-start/src/main/ui/app/{ => shared/components}/grid/index.ts (100%) rename quick-start/src/main/ui/app/{harmonize-flow-options/harmonize-flow-options.component.html => shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.html} (97%) rename quick-start/src/main/ui/app/{harmonize-flow-options/harmonize-flow-options.component.scss => shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.scss} (90%) create mode 100644 quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/harmonize-flow-options/index.ts rename quick-start/src/main/ui/app/{ => shared/components}/has-bugs-dialog/has-bugs-dialog.component.html (100%) rename quick-start/src/main/ui/app/{ => shared/components}/has-bugs-dialog/has-bugs-dialog.component.scss (86%) rename quick-start/src/main/ui/app/{ => shared/components}/has-bugs-dialog/has-bugs-dialog.component.ts (87%) rename quick-start/src/main/ui/app/{ => shared/components}/has-bugs-dialog/index.ts (100%) rename quick-start/src/main/ui/app/{header/header.component.html => shared/components/header/header-ui.component.html} (76%) rename quick-start/src/main/ui/app/{header/header.component.scss => shared/components/header/header-ui.component.scss} (94%) create mode 100644 quick-start/src/main/ui/app/shared/components/header/header-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/jobs/index.ts rename quick-start/src/main/ui/app/{jobs/job-export.component.html => shared/components/jobs/job-export-ui.component.html} (75%) create mode 100644 quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.ts rename quick-start/src/main/ui/app/{jobs/job-output.component.html => shared/components/jobs/job-output-ui.component.html} (85%) rename quick-start/src/main/ui/app/{jobs/job-output.component.scss => shared/components/jobs/job-output-ui.component.scss} (100%) create mode 100644 quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.ts rename quick-start/src/main/ui/app/{jobs/jobs.component.html => shared/components/jobs/jobs-ui.component.html} (73%) rename quick-start/src/main/ui/app/{jobs/jobs.component.scss => shared/components/jobs/jobs-ui.component.scss} (96%) create mode 100644 quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/login/index.ts rename quick-start/src/main/ui/app/{login/login.component.html => shared/components/login/login-ui.component.html} (93%) rename quick-start/src/main/ui/app/{login/login.component.scss => shared/components/login/login-ui.component.scss} (99%) create mode 100644 quick-start/src/main/ui/app/shared/components/login/login-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/mappings/index.ts rename quick-start/src/main/ui/app/{listfilter => shared/components/mappings}/listfilter.pipe.ts (76%) rename quick-start/src/main/ui/app/{mappings/map.component.html => shared/components/mappings/map-ui.component.html} (93%) rename quick-start/src/main/ui/app/{mappings/map.component.scss => shared/components/mappings/map-ui.component.scss} (100%) create mode 100644 quick-start/src/main/ui/app/shared/components/mappings/map-ui.component.ts rename quick-start/src/main/ui/app/{mappings/mappings.component.html => shared/components/mappings/mappings-ui.component.html} (91%) rename quick-start/src/main/ui/app/{mappings/mappings.component.scss => shared/components/mappings/mappings-ui.component.scss} (99%) create mode 100644 quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.ts rename quick-start/src/main/ui/app/{mlcp-ui => shared/components/mlcp}/index.ts (100%) rename quick-start/src/main/ui/app/{mlcp-ui => shared/components/mlcp}/mlcp-ui.component.html (77%) rename quick-start/src/main/ui/app/{mlcp-ui => shared/components/mlcp}/mlcp-ui.component.scss (97%) create mode 100644 quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.ts rename quick-start/src/main/ui/app/{ => shared/components}/new-entity/new-entity.component.html (99%) rename quick-start/src/main/ui/app/{ => shared/components}/new-entity/new-entity.component.scss (100%) rename quick-start/src/main/ui/app/{ => shared/components}/new-entity/new-entity.component.ts (100%) rename quick-start/src/main/ui/app/{new-flow/new-flow.component.html => shared/components/new-flow/new-flow-ui.component.html} (84%) rename quick-start/src/main/ui/app/{new-flow/new-flow.component.scss => shared/components/new-flow/new-flow-ui.component.scss} (100%) create mode 100644 quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/search/index.ts rename quick-start/src/main/ui/app/{search/search.component.html => shared/components/search/search-ui.component.html} (67%) rename quick-start/src/main/ui/app/{search/search.component.scss => shared/components/search/search-ui.component.scss} (96%) create mode 100644 quick-start/src/main/ui/app/shared/components/search/search-ui.component.ts rename quick-start/src/main/ui/app/{search/search-viewer.component.html => shared/components/search/search-viewer-ui.component.html} (100%) rename quick-start/src/main/ui/app/{search/search-viewer.component.scss => shared/components/search/search-viewer-ui.component.scss} (85%) create mode 100644 quick-start/src/main/ui/app/shared/components/search/search-viewer-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/select-key-values/index.ts create mode 100644 quick-start/src/main/ui/app/shared/components/settings/index.ts create mode 100644 quick-start/src/main/ui/app/shared/components/settings/settings-ui.component.html rename quick-start/src/main/ui/app/{settings/settings.component.scss => shared/components/settings/settings-ui.component.scss} (72%) create mode 100644 quick-start/src/main/ui/app/shared/components/settings/settings-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/tooltip/index.ts create mode 100644 quick-start/src/main/ui/app/shared/components/tooltip/tooltip-container-ui.component.html create mode 100644 quick-start/src/main/ui/app/shared/components/tooltip/tooltip-container-ui.component.ts rename quick-start/src/main/ui/app/{traces/trace-viewer.component.html => shared/components/trace-viewer/trace-viewer-ui.component.html} (98%) rename quick-start/src/main/ui/app/{traces/trace-viewer.component.scss => shared/components/trace-viewer/trace-viewer-ui.component.scss} (96%) create mode 100644 quick-start/src/main/ui/app/shared/components/trace-viewer/trace-viewer-ui.component.ts create mode 100644 quick-start/src/main/ui/app/shared/components/traces/index.ts rename quick-start/src/main/ui/app/{traces/traces.component.html => shared/components/traces/traces-ui.component.html} (78%) rename quick-start/src/main/ui/app/{traces/traces.component.scss => shared/components/traces/traces-ui.component.scss} (94%) create mode 100644 quick-start/src/main/ui/app/shared/components/traces/traces-ui.component.ts rename quick-start/src/main/ui/app/{ => shared/directives}/focus-element/focus-element.directive.ts (100%) create mode 100644 quick-start/src/main/ui/app/shared/stories/components/app.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/choose-collation/choose-collation.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/codemirror/codemirror.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/dashboard/dashboard.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/entity-box/entity-box.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/entity-editor/entity-editor.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/externaldef-dialog/externaldef-dialog.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/flows/flows-ui.compoment.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/grid/grid.components.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/harmonize-flow-options/harmonize-flows-options.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/has-bugs-dialog/has-bugs-dialog.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/header/header.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/jobs/job-export.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/jobs/job-output.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/jobs/jobs.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/login/login.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/mappings/map-ui.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/mappings/mappings-ui.component.stories.ts rename quick-start/src/main/ui/app/shared/stories/components/mappings/{naw-map-ui.component.stories.ts => new-map-ui.component.stories.ts} (93%) create mode 100644 quick-start/src/main/ui/app/shared/stories/components/mlcp/mlcp-ui.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/new-entity/new-entity.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/new-flow/new-flow.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/search/search-viewer.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/search/search.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/settings/settings.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/tooltip/tooltip.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/trace-viewer/trace-viewer.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/components/traces/traces-ui.component.stories.ts create mode 100644 quick-start/src/main/ui/app/shared/stories/directives/focus-element/focus-element.directive.stories.ts create mode 100644 quick-start/src/main/ui/app/stomp/index.ts diff --git a/.gitignore b/.gitignore index 6aefb44220..b39ceac3b7 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,3 @@ node_modules/ *.db ye-olde-project /bin/ -# ignore local BIT artifacts -.bit -.bitmap -bit.json diff --git a/examples/online-store/src/main/ml-config/databases/final-database.json b/examples/online-store/src/main/ml-config/databases/final-database.json index 4f42a88457..ea41677303 100644 --- a/examples/online-store/src/main/ml-config/databases/final-database.json +++ b/examples/online-store/src/main/ml-config/databases/final-database.json @@ -1,9 +1,9 @@ -{ - "database-name": "%%mlFinalDbName%%", - "range-element-index": [], - "schema-database": "%%mlFinalSchemasDbName%%", - "triggers-database": "%%mlFinalTriggersDbName%%", - "triple-index": true, - "collection-lexicon": true, - "uri-lexicon": true -} +{ + "database-name": "%%mlFinalDbName%%", + "range-element-index": [], + "schema-database": "%%mlFinalSchemasDbName%%", + "triggers-database": "%%mlFinalTriggersDbName%%", + "triple-index": true, + "collection-lexicon": true, + "uri-lexicon": true +} diff --git a/examples/online-store/src/main/ml-config/databases/final-schemas-database.json b/examples/online-store/src/main/ml-config/databases/final-schemas-database.json index 44dd21e151..7db14e3546 100644 --- a/examples/online-store/src/main/ml-config/databases/final-schemas-database.json +++ b/examples/online-store/src/main/ml-config/databases/final-schemas-database.json @@ -1,3 +1,3 @@ -{ - "database-name": "%%mlFinalSchemasDbName%%" -} +{ + "database-name": "%%mlFinalSchemasDbName%%" +} diff --git a/examples/online-store/src/main/ml-config/databases/final-triggers-database.json b/examples/online-store/src/main/ml-config/databases/final-triggers-database.json index 24ec643ea7..e9cccf69e9 100644 --- a/examples/online-store/src/main/ml-config/databases/final-triggers-database.json +++ b/examples/online-store/src/main/ml-config/databases/final-triggers-database.json @@ -1,3 +1,3 @@ -{ - "database-name": "%%mlFinalTriggersDbName%%" -} +{ + "database-name": "%%mlFinalTriggersDbName%%" +} diff --git a/examples/online-store/src/main/ml-config/databases/modules-database.json b/examples/online-store/src/main/ml-config/databases/modules-database.json index 7b323207b3..f1c7230a02 100644 --- a/examples/online-store/src/main/ml-config/databases/modules-database.json +++ b/examples/online-store/src/main/ml-config/databases/modules-database.json @@ -1,5 +1,5 @@ -{ - "database-name": "%%mlModulesDbName%%", - "collection-lexicon": true, - "uri-lexicon": true -} +{ + "database-name": "%%mlModulesDbName%%", + "collection-lexicon": true, + "uri-lexicon": true +} diff --git a/examples/online-store/src/main/ml-config/servers/final-server.json b/examples/online-store/src/main/ml-config/servers/final-server.json index 7a86236390..2080945373 100644 --- a/examples/online-store/src/main/ml-config/servers/final-server.json +++ b/examples/online-store/src/main/ml-config/servers/final-server.json @@ -1,14 +1,14 @@ -{ - "server-name": "%%mlFinalAppserverName%%", - "server-type": "http", - "root": "/", - "group-name": "%%GROUP%%", - "port": "%%mlFinalPort%%", - "modules-database": "%%mlModulesDbName%%", - "content-database": "%%mlFinalDbName%%", - "authentication": "%%mlFinalAuth%%", - "default-error-format": "json", - "error-handler": "/MarkLogic/rest-api/error-handler.xqy", - "url-rewriter": "/MarkLogic/rest-api/rewriter.xml", - "rewrite-resolves-globally": true -} +{ + "server-name": "%%mlFinalAppserverName%%", + "server-type": "http", + "root": "/", + "group-name": "%%GROUP%%", + "port": "%%mlFinalPort%%", + "modules-database": "%%mlModulesDbName%%", + "content-database": "%%mlFinalDbName%%", + "authentication": "%%mlFinalAuth%%", + "default-error-format": "json", + "error-handler": "/MarkLogic/rest-api/error-handler.xqy", + "url-rewriter": "/MarkLogic/rest-api/rewriter.xml", + "rewrite-resolves-globally": true +} diff --git a/marklogic-data-hub/src/trace-ui/package-lock.json b/marklogic-data-hub/src/trace-ui/package-lock.json index 46511fbfb2..da650838b5 100644 --- a/marklogic-data-hub/src/trace-ui/package-lock.json +++ b/marklogic-data-hub/src/trace-ui/package-lock.json @@ -15,95 +15,106 @@ } }, "@angular-devkit/build-angular": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.10.6.tgz", - "integrity": "sha512-Lbx6rjIGB2mMmkTCaolrQ86OfPxO/qfb4l2RvPiSyx06MEZfmFWKGeJzqCYKBRQajziX3Yc3AFzAPecoCkbIGA==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.10.6", - "@angular-devkit/build-optimizer": "0.10.6", - "@angular-devkit/build-webpack": "0.10.6", - "@angular-devkit/core": "7.0.6", - "@ngtools/webpack": "7.0.6", - "ajv": "6.5.3", - "autoprefixer": "9.1.5", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.6.3.tgz", + "integrity": "sha512-ce+uAXQXyuMy6IxSnsGKeHlLVjsI77DblNvkcO1NilP7iYxujEJx6qDq/Hrf1uhuqRpm+8pt5zY6QD90gQrDcg==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.6.3", + "@angular-devkit/build-optimizer": "0.6.3", + "@angular-devkit/core": "0.6.3", + "@ngtools/webpack": "6.0.3", + "ajv": "6.4.0", + "autoprefixer": "8.5.0", + "cache-loader": "1.2.2", + "chalk": "2.2.2", "circular-dependency-plugin": "5.0.2", - "clean-css": "4.2.1", - "copy-webpack-plugin": "4.5.4", - "file-loader": "2.0.0", - "glob": "7.1.3", + "clean-css": "4.1.11", + "copy-webpack-plugin": "4.5.1", + "file-loader": "1.1.11", + "glob": "7.1.2", + "html-webpack-plugin": "3.2.0", "istanbul": "0.4.5", "istanbul-instrumenter-loader": "3.0.1", "karma-source-map-support": "1.3.0", - "less": "3.8.1", + "less": "3.0.4", "less-loader": "4.1.0", - "license-webpack-plugin": "2.0.2", - "loader-utils": "1.1.0", - "mini-css-extract-plugin": "0.4.3", + "license-webpack-plugin": "1.3.1", + "lodash": "4.17.10", + "memory-fs": "0.4.1", + "mini-css-extract-plugin": "0.4.0", "minimatch": "3.0.4", "node-sass": "4.9.3", "opn": "5.3.0", "parse5": "4.0.0", - "portfinder": "1.0.17", - "postcss": "7.0.5", - "postcss-import": "12.0.0", - "postcss-loader": "3.0.0", + "portfinder": "1.0.13", + "postcss": "6.0.22", + "postcss-import": "11.1.0", + "postcss-loader": "2.1.5", + "postcss-url": "7.3.2", "raw-loader": "0.5.1", - "rxjs": "6.3.3", - "sass-loader": "7.1.0", - "semver": "5.5.1", - "source-map-loader": "0.2.4", - "source-map-support": "0.5.9", - "speed-measure-webpack-plugin": "1.2.3", - "stats-webpack-plugin": "0.7.0", - "style-loader": "0.23.0", + "resolve": "1.5.0", + "rxjs": "6.1.0", + "sass-loader": "7.0.1", + "silent-error": "1.1.0", + "source-map-support": "0.5.6", + "stats-webpack-plugin": "0.6.2", + "style-loader": "0.21.0", "stylus": "0.54.5", "stylus-loader": "3.0.2", - "terser-webpack-plugin": "1.1.0", "tree-kill": "1.2.0", - "webpack": "4.19.1", - "webpack-dev-middleware": "3.3.0", - "webpack-dev-server": "3.1.8", - "webpack-merge": "4.1.4", - "webpack-sources": "1.2.0", - "webpack-subresource-integrity": "1.1.0-rc.6" + "uglifyjs-webpack-plugin": "1.2.5", + "url-loader": "1.0.1", + "webpack": "4.8.3", + "webpack-dev-middleware": "3.1.3", + "webpack-dev-server": "3.1.4", + "webpack-merge": "4.1.2", + "webpack-sources": "1.1.0", + "webpack-subresource-integrity": "1.1.0-rc.4" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.6.tgz", - "integrity": "sha512-IygpkXNn946vVUFFWKWEDxRqRy888vOAUWcmkZzqPEBYkuwWt7WnLfe8Sjw4fH/+HLWEMS8RXbdSTHiiaP9qOg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.6", - "rxjs": "6.3.3" - } - }, - "@angular-devkit/core": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.6.tgz", - "integrity": "sha512-RPSXUtLrpYDTqAEL0rCyDKxES76EomsPBvUUZTD6UkE2pihoh9ZIxkzhzlE+HU/xdqm28+smQYFhvvEAXFWwSQ==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "source-map-support": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "buffer-from": "1.0.0", + "source-map": "0.6.1" } - }, + } + } + }, + "@angular-devkit/build-optimizer": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.6.3.tgz", + "integrity": "sha512-C0LGWh7+rYjpE1T1guaq9EMovwhEJ1QR25qjJxUoYvN+sM+MfVpMhoa6ruqnxh+eQCfRiMdIsnbOboiZxNHTQw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "source-map": "0.5.7", + "typescript": "2.7.2", + "webpack-sources": "1.1.0" + } + }, + "@angular-devkit/core": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.6.3.tgz", + "integrity": "sha512-97hFVW6in8oYJUEqjmUP0Tb/mPlTG3sc0THpe5MCGEkDPjlp2cObt9rUCAVOjugBlScV8rzTpVQ+95PT60Py8A==", + "dev": true, + "requires": { + "ajv": "6.4.0", + "chokidar": "2.0.3", + "rxjs": "6.1.0", + "source-map": "0.5.7" + }, + "dependencies": { "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -156,9 +167,9 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", "dev": true, "requires": { "anymatch": "2.0.0", @@ -169,7 +180,6 @@ "inherits": "2.0.3", "is-binary-path": "1.0.1", "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0", @@ -304,12 +314,6 @@ } } }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -333,20 +337,6 @@ } } }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -438,12 +428,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -470,1430 +454,153 @@ "snapdragon": "0.8.2", "to-regex": "3.0.2" } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "1.9.0" - } - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "1.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "2.1.1" - } } } }, - "@angular-devkit/build-optimizer": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.6.tgz", - "integrity": "sha512-oedg8F++8zZTmoTt141k3nlyPtrSSsQUZI9TFbSdfR1D5WDflwOlkLyRb5WoC53HSoQnagKxY2qzd7khVah//Q==", + "@angular-devkit/schematics": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.6.3.tgz", + "integrity": "sha512-dXlyVNuFRhiOnhAk0NojEUThLrZBpVZmWvEQ4h/pnyHS0P9CfnHqJ8DCcCrjOwYkzdBwBrYchXOCYfo8zuxYGw==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.6", - "typescript": "3.1.6", - "webpack-sources": "1.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.6", - "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - }, - "typescript": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", - "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", - "dev": true - } + "@angular-devkit/core": "0.6.3", + "rxjs": "6.1.0" + } + }, + "@angular-mdl/core": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@angular-mdl/core/-/core-4.0.8.tgz", + "integrity": "sha1-Ad7nxvkmY6V7p58kjYXm8jProHM=" + }, + "@angular-mdl/popover": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@angular-mdl/popover/-/popover-0.10.0.tgz", + "integrity": "sha1-r8AELve9vMYnl/g1rt5EPW4Mt4M=" + }, + "@angular-mdl/select": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@angular-mdl/select/-/select-0.13.0.tgz", + "integrity": "sha1-ltRjbUCSMdrX6o/hC7deRqsPW34=" + }, + "@angular/animations": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.2.tgz", + "integrity": "sha512-QoNJ/L0Xgtrj1KBp8wvxhHwRt+sQ5tBihWm82UbNgN82ZNnfNzQoAqtahbZN5AY7XFmGbDX+lVt3TdO8omXhmg==", + "requires": { + "tslib": "1.9.0" } }, - "@angular-devkit/build-webpack": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.10.6.tgz", - "integrity": "sha512-tPv23KKw3iAGCTF6noD7zdHbufny4A3d+mlX1VoJDiAa6jqmuFxhY2fALymc11MRY4HVtMF5J1kQy9BLGCDbQg==", + "@angular/cli": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.0.3.tgz", + "integrity": "sha512-G8jfgJublsRjveX1P+F5awHvpC07mKAF7f5lebowIs+QAHSOD6HxQ/JhMbJTwz/aj20iWgZOygA5LhkP0Wr+UQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.10.6", - "@angular-devkit/core": "7.0.6", - "rxjs": "6.3.3" - }, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.6.tgz", - "integrity": "sha512-IygpkXNn946vVUFFWKWEDxRqRy888vOAUWcmkZzqPEBYkuwWt7WnLfe8Sjw4fH/+HLWEMS8RXbdSTHiiaP9qOg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.6", - "rxjs": "6.3.3" - } - }, - "@angular-devkit/core": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.6.tgz", - "integrity": "sha512-RPSXUtLrpYDTqAEL0rCyDKxES76EomsPBvUUZTD6UkE2pihoh9ZIxkzhzlE+HU/xdqm28+smQYFhvvEAXFWwSQ==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" - } - }, - "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.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "fsevents": "1.2.4", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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 - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "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.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "1.9.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "2.1.1" - } - } - } - }, - "@angular-devkit/core": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.6.3.tgz", - "integrity": "sha512-97hFVW6in8oYJUEqjmUP0Tb/mPlTG3sc0THpe5MCGEkDPjlp2cObt9rUCAVOjugBlScV8rzTpVQ+95PT60Py8A==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "chokidar": "2.0.3", - "rxjs": "6.1.0", - "source-map": "0.5.7" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" - } - }, - "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.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chokidar": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", - "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "fsevents": "1.2.4", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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 - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "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.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } - } - }, - "@angular-devkit/schematics": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.6.3.tgz", - "integrity": "sha512-dXlyVNuFRhiOnhAk0NojEUThLrZBpVZmWvEQ4h/pnyHS0P9CfnHqJ8DCcCrjOwYkzdBwBrYchXOCYfo8zuxYGw==", - "dev": true, - "requires": { - "@angular-devkit/core": "0.6.3", - "rxjs": "6.1.0" - } - }, - "@angular-mdl/core": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@angular-mdl/core/-/core-4.0.8.tgz", - "integrity": "sha512-ofAjjo/0gQeast4kUtTjvOhXumNg50z3oh8m/OlPrBlii4/iTazEqHTsQBtac33h2B4ovMm+viwAATDlpLJm+g==" - }, - "@angular-mdl/popover": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@angular-mdl/popover/-/popover-0.10.0.tgz", - "integrity": "sha1-r8AELve9vMYnl/g1rt5EPW4Mt4M=" - }, - "@angular-mdl/select": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@angular-mdl/select/-/select-0.13.0.tgz", - "integrity": "sha1-ltRjbUCSMdrX6o/hC7deRqsPW34=" - }, - "@angular/animations": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.2.tgz", - "integrity": "sha512-QoNJ/L0Xgtrj1KBp8wvxhHwRt+sQ5tBihWm82UbNgN82ZNnfNzQoAqtahbZN5AY7XFmGbDX+lVt3TdO8omXhmg==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/cli": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.0.3.tgz", - "integrity": "sha512-G8jfgJublsRjveX1P+F5awHvpC07mKAF7f5lebowIs+QAHSOD6HxQ/JhMbJTwz/aj20iWgZOygA5LhkP0Wr+UQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.6.3", - "@angular-devkit/core": "0.6.3", - "@angular-devkit/schematics": "0.6.3", - "@schematics/angular": "0.6.3", - "@schematics/update": "0.6.3", - "opn": "5.3.0", - "resolve": "1.5.0", - "rxjs": "6.1.0", - "semver": "5.5.0", - "silent-error": "1.1.0", - "symbol-observable": "1.2.0", - "yargs-parser": "10.0.0" - } - }, - "@angular/common": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.2.tgz", - "integrity": "sha512-Yc3NnLGs1ltnDhUCOoMCQMRSkJv/sCv+jKx3uSdrvd8Y55APl2boZhZUK4WphPfWIkpvC7odpiLXAmnVgP6vcw==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/compiler": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.2.tgz", - "integrity": "sha512-uKuM7dcTWwcElklT4E/tckp5fnGNUq4wDna3gZWO6fvc7FQK0SUU4l+A6C1d5YdCRgAsv6gxIrk3MxbSF9UwEw==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/compiler-cli": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.2.tgz", - "integrity": "sha512-6hupeihL+MKYbP0xvHZiaVpYVF1XAlLpI1aTVLUhpzgnR8vgXCwni9iJlr7BZFyicVgApn6l7Oh2xIvMWftYhw==", - "dev": true, - "requires": { - "chokidar": "1.7.0", - "minimist": "1.2.0", - "reflect-metadata": "0.1.12", - "tsickle": "0.27.5" - } - }, - "@angular/core": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.2.tgz", - "integrity": "sha512-+ahJofKZFyaq0kLhKUOCa3Fo4WQ4mkMmYRqwFjKgjPupzPgMh0FkBsojuP1WiBd5KTIkv7U8B4sTziUxRDrKgg==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/forms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.2.tgz", - "integrity": "sha512-Oc234cLjTj1tx2gF/nS/TIC3Auc+LCyC8H6GYqTxXQUyZQeGHqUptvDQz3KwM9Num3EKFUr9J2yzGPnz6lZVmQ==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/http": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.2.tgz", - "integrity": "sha512-BONrdNMKOaQdXiWnrCAaUiP1akf/nuUG6xm/PJe684SrgcqWHN4JJuwgMhGRGIZZCIKEWcIEaZSp+DbWqnj1kg==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/language-service": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.0.2.tgz", - "integrity": "sha512-EznIei5QGv4Hv+RtfCnI8TQPW7gLZBw7LrGPXSbwV/CXfY11ziEsd/h1lBfN3Wch3soIOXs3Qqk3zx//MrBG/Q==", - "dev": true - }, - "@angular/platform-browser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.2.tgz", - "integrity": "sha512-iMBHckhknJ8Wfw9ZVloiw0WPZDtzQFLE2e7D42of7SgXuHloStXUchb0qLr6ZTZwTY0oBPSvDKgJJVmEjZUZvw==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.2.tgz", - "integrity": "sha512-g1EC0wIWd4OhcEvUnisTfp3y0eMAXgXbACdtgsrozG//xzyqiRFUnBTYTAP4ecninCEltyZYK7EBGfzp8KwQjw==", - "requires": { - "tslib": "1.9.0" - } - }, - "@angular/router": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.2.tgz", - "integrity": "sha512-XqTtfs/UzT2k2MeVQG1pOP+wR1zcH8V71S6kmWIwFcfyKUgZfIm45sNsZyBZPwY2RUqwCeZYQFjPlVW8wD1PBw==", - "requires": { - "tslib": "1.9.0" - } - }, - "@ngtools/webpack": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.6.tgz", - "integrity": "sha512-lOHpVqr30QXPuaOxSRasHv6ybDj4a1jVwSOk+W4aGqVlLi0bsngt9HrvgR+FALEoG9P520bytz16wma81Y2Aeg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.6", - "enhanced-resolve": "4.1.0", - "rxjs": "6.3.3", - "tree-kill": "1.2.0", - "webpack-sources": "1.2.0" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.6.tgz", - "integrity": "sha512-RPSXUtLrpYDTqAEL0rCyDKxES76EomsPBvUUZTD6UkE2pihoh9ZIxkzhzlE+HU/xdqm28+smQYFhvvEAXFWwSQ==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" - } - }, - "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.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "fsevents": "1.2.4", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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 - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "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.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "1.9.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "2.1.1" - } - } + "@angular-devkit/architect": "0.6.3", + "@angular-devkit/core": "0.6.3", + "@angular-devkit/schematics": "0.6.3", + "@schematics/angular": "0.6.3", + "@schematics/update": "0.6.3", + "opn": "5.3.0", + "resolve": "1.5.0", + "rxjs": "6.1.0", + "semver": "5.5.0", + "silent-error": "1.1.0", + "symbol-observable": "1.2.0", + "yargs-parser": "10.0.0" + } + }, + "@angular/common": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.2.tgz", + "integrity": "sha512-Yc3NnLGs1ltnDhUCOoMCQMRSkJv/sCv+jKx3uSdrvd8Y55APl2boZhZUK4WphPfWIkpvC7odpiLXAmnVgP6vcw==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/compiler": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.2.tgz", + "integrity": "sha512-uKuM7dcTWwcElklT4E/tckp5fnGNUq4wDna3gZWO6fvc7FQK0SUU4l+A6C1d5YdCRgAsv6gxIrk3MxbSF9UwEw==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/compiler-cli": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.0.2.tgz", + "integrity": "sha512-6hupeihL+MKYbP0xvHZiaVpYVF1XAlLpI1aTVLUhpzgnR8vgXCwni9iJlr7BZFyicVgApn6l7Oh2xIvMWftYhw==", + "dev": true, + "requires": { + "chokidar": "1.7.0", + "minimist": "1.2.0", + "reflect-metadata": "0.1.12", + "tsickle": "0.27.5" + } + }, + "@angular/core": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.2.tgz", + "integrity": "sha512-+ahJofKZFyaq0kLhKUOCa3Fo4WQ4mkMmYRqwFjKgjPupzPgMh0FkBsojuP1WiBd5KTIkv7U8B4sTziUxRDrKgg==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/forms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.2.tgz", + "integrity": "sha512-Oc234cLjTj1tx2gF/nS/TIC3Auc+LCyC8H6GYqTxXQUyZQeGHqUptvDQz3KwM9Num3EKFUr9J2yzGPnz6lZVmQ==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/http": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.2.tgz", + "integrity": "sha512-BONrdNMKOaQdXiWnrCAaUiP1akf/nuUG6xm/PJe684SrgcqWHN4JJuwgMhGRGIZZCIKEWcIEaZSp+DbWqnj1kg==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/language-service": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.0.2.tgz", + "integrity": "sha512-EznIei5QGv4Hv+RtfCnI8TQPW7gLZBw7LrGPXSbwV/CXfY11ziEsd/h1lBfN3Wch3soIOXs3Qqk3zx//MrBG/Q==", + "dev": true + }, + "@angular/platform-browser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.2.tgz", + "integrity": "sha512-iMBHckhknJ8Wfw9ZVloiw0WPZDtzQFLE2e7D42of7SgXuHloStXUchb0qLr6ZTZwTY0oBPSvDKgJJVmEjZUZvw==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.2.tgz", + "integrity": "sha512-g1EC0wIWd4OhcEvUnisTfp3y0eMAXgXbACdtgsrozG//xzyqiRFUnBTYTAP4ecninCEltyZYK7EBGfzp8KwQjw==", + "requires": { + "tslib": "1.9.0" + } + }, + "@angular/router": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.2.tgz", + "integrity": "sha512-XqTtfs/UzT2k2MeVQG1pOP+wR1zcH8V71S6kmWIwFcfyKUgZfIm45sNsZyBZPwY2RUqwCeZYQFjPlVW8wD1PBw==", + "requires": { + "tslib": "1.9.0" + } + }, + "@ngtools/webpack": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-6.0.3.tgz", + "integrity": "sha512-wrhSFItcZp4Yzp6lgSuy23YdhaUs9D+KdGZPjwzzXtJIJCSzGkWuXzwlCwyKSFRQ6thyH/T3nffpHNaS3dWn2A==", + "dev": true, + "requires": { + "@angular-devkit/core": "0.6.3", + "tree-kill": "1.2.0", + "webpack-sources": "1.1.0" } }, "@schematics/angular": { @@ -1935,7 +642,7 @@ "@types/jasminewd2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.3.tgz", - "integrity": "sha512-hYDVmQZT5VA2kigd4H4bv7vl/OhlympwREUemqBdOqtrYTo5Ytm12a5W5/nGgGYdanGVxj0x/VhZ7J3hOg/YKg==", + "integrity": "sha1-DSiGsMva5MDuulXjB5L1hL8ECpU=", "dev": true, "requires": { "@types/jasmine": "2.8.7" @@ -1984,194 +691,218 @@ "dev": true }, "@webassemblyjs/ast": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.6.tgz", - "integrity": "sha512-8nkZS48EVsMUU0v6F1LCIOw4RYWLm2plMtbhFTjNgeXmsTNLuU3xTRtnljt9BFQB+iPbLRobkNrCWftWnNC7wQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz", + "integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/wast-parser": "1.7.6", - "mamacro": "0.0.3" + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/wast-parser": "1.4.3", + "debug": "3.1.0", + "webassemblyjs": "1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.6.tgz", - "integrity": "sha512-VBOZvaOyBSkPZdIt5VBMg3vPWxouuM13dPXGWI1cBh3oFLNcFJ8s9YA7S9l4mPI7+Q950QqOmqj06oa83hNWBA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.6.tgz", - "integrity": "sha512-SCzhcQWHXfrfMSKcj8zHg1/kL9kb3aa5TN4plc/EREOs5Xop0ci5bdVBApbk2yfVi8aL+Ly4Qpp3/TRAUInjrg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz", + "integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.6.tgz", - "integrity": "sha512-1/gW5NaGsEOZ02fjnFiU8/OEEXU1uVbv2um0pQ9YVL3IHSkyk6xOwokzyqqO1qDZQUAllb+V8irtClPWntbVqw==", - "dev": true + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz", + "integrity": "sha512-e8+KZHh+RV8MUvoSRtuT1sFXskFnWG9vbDy47Oa166xX+l0dD5sERJ21g5/tcH8Yo95e9IN3u7Jc3NbhnUcSkw==", + "dev": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.6.tgz", - "integrity": "sha512-+suMJOkSn9+vEvDvgyWyrJo5vJsWSDXZmJAjtoUq4zS4eqHyXImpktvHOZwXp1XQjO5H+YQwsBgqTQEc0J/5zg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz", + "integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.6" + "@webassemblyjs/wast-printer": "1.4.3" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.6.tgz", - "integrity": "sha512-HCS6KN3wgxUihGBW7WFzEC/o8Eyvk0d56uazusnxXthDPnkWiMv+kGi9xXswL2cvfYfeK5yiM17z2K5BVlwypw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz", + "integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==", "dev": true }, - "@webassemblyjs/helper-module-context": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.6.tgz", - "integrity": "sha512-e8/6GbY7OjLM+6OsN7f2krC2qYVNaSr0B0oe4lWdmq5sL++8dYDD1TFbD1TdAdWMRTYNr/Qq7ovXWzia2EbSjw==", - "dev": true, - "requires": { - "mamacro": "0.0.3" - } - }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.6.tgz", - "integrity": "sha512-PzYFCb7RjjSdAOljyvLWVqd6adAOabJW+8yRT+NWhXuf1nNZWH+igFZCUK9k7Cx7CsBbzIfXjJc7u56zZgFj9Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz", + "integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.6.tgz", - "integrity": "sha512-3GS628ppDPSuwcYlQ7cDCGr4W2n9c4hLzvnRKeuz+lGsJSmc/ADVoYpm1ts2vlB1tGHkjtQMni+yu8mHoMlKlA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz", + "integrity": "sha512-p0yeeO/h2r30PyjnJX9xXSR6EDcvJd/jC6xa/Pxg4lpfcNi7JUswOpqDToZQ55HMMVhXDih/yqkaywHWGLxqyQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-buffer": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/wasm-gen": "1.7.6" + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-buffer": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/wasm-gen": "1.4.3", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, - "@webassemblyjs/ieee754": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.6.tgz", - "integrity": "sha512-V4cIp0ruyw+hawUHwQLn6o2mFEw4t50tk530oKsYXQhEzKR+xNGDxs/SFFuyTO7X3NzEu4usA3w5jzhl2RYyzQ==", + "@webassemblyjs/leb128": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz", + "integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==", "dev": true, "requires": { - "@xtuc/ieee754": "1.2.0" + "leb": "0.3.0" } }, - "@webassemblyjs/leb128": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.6.tgz", - "integrity": "sha512-ojdlG8WpM394lBow4ncTGJoIVZ4aAtNOWHhfAM7m7zprmkVcKK+2kK5YJ9Bmj6/ketTtOn7wGSHCtMt+LzqgYQ==", + "@webassemblyjs/validation": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/validation/-/validation-1.4.3.tgz", + "integrity": "sha512-R+rRMKfhd9mq0rj2mhU9A9NKI2l/Rw65vIYzz4lui7eTKPcCu1l7iZNi4b9Gen8D42Sqh/KGiaQNk/x5Tn/iBQ==", "dev": true, "requires": { - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.4.3" } }, - "@webassemblyjs/utf8": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.6.tgz", - "integrity": "sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw==", - "dev": true - }, "@webassemblyjs/wasm-edit": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.6.tgz", - "integrity": "sha512-pTNjLO3o41v/Vz9VFLl+I3YLImpCSpodFW77pNoH4agn5I6GgSxXHXtvWDTvYJFty0jSeXZWLEmbaSIRUDlekg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-buffer": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/helper-wasm-section": "1.7.6", - "@webassemblyjs/wasm-gen": "1.7.6", - "@webassemblyjs/wasm-opt": "1.7.6", - "@webassemblyjs/wasm-parser": "1.7.6", - "@webassemblyjs/wast-printer": "1.7.6" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz", + "integrity": "sha512-qzuwUn771PV6/LilqkXcS0ozJYAeY/OKbXIWU3a8gexuqb6De2p4ya/baBeH5JQ2WJdfhWhSvSbu86Vienttpw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-buffer": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/helper-wasm-section": "1.4.3", + "@webassemblyjs/wasm-gen": "1.4.3", + "@webassemblyjs/wasm-opt": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "@webassemblyjs/wast-printer": "1.4.3", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.6.tgz", - "integrity": "sha512-mQvFJVumtmRKEUXMohwn8nSrtjJJl6oXwF3FotC5t6e2hlKMh8sIaW03Sck2MDzw9xPogZD7tdP5kjPlbH9EcQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz", + "integrity": "sha512-eR394T8dHZfpLJ7U/Z5pFSvxl1L63JdREebpv9gYc55zLhzzdJPAuxjBYT4XqevUdW67qU2s0nNA3kBuNJHbaQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/ieee754": "1.7.6", - "@webassemblyjs/leb128": "1.7.6", - "@webassemblyjs/utf8": "1.7.6" + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/leb128": "1.4.3" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.6.tgz", - "integrity": "sha512-go44K90fSIsDwRgtHhX14VtbdDPdK2sZQtZqUcMRvTojdozj5tLI0VVJAzLCfz51NOkFXezPeVTAYFqrZ6rI8Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz", + "integrity": "sha512-7Gp+nschuKiDuAL1xmp4Xz0rgEbxioFXw4nCFYEmy+ytynhBnTeGc9W9cB1XRu1w8pqRU2lbj2VBBA4cL5Z2Kw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-buffer": "1.7.6", - "@webassemblyjs/wasm-gen": "1.7.6", - "@webassemblyjs/wasm-parser": "1.7.6" + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-buffer": "1.4.3", + "@webassemblyjs/wasm-gen": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.6.tgz", - "integrity": "sha512-t1T6TfwNY85pDA/HWPA8kB9xA4sp9ajlRg5W7EKikqrynTyFo+/qDzIpvdkOkOGjlS6d4n4SX59SPuIayR22Yg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz", + "integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-api-error": "1.7.6", - "@webassemblyjs/helper-wasm-bytecode": "1.7.6", - "@webassemblyjs/ieee754": "1.7.6", - "@webassemblyjs/leb128": "1.7.6", - "@webassemblyjs/utf8": "1.7.6" + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/helper-wasm-bytecode": "1.4.3", + "@webassemblyjs/leb128": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "webassemblyjs": "1.4.3" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.6.tgz", - "integrity": "sha512-1MaWTErN0ziOsNUlLdvwS+NS1QWuI/kgJaAGAMHX8+fMJFgOJDmN/xsG4h/A1Gtf/tz5VyXQciaqHZqp2q0vfg==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz", + "integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/floating-point-hex-parser": "1.7.6", - "@webassemblyjs/helper-api-error": "1.7.6", - "@webassemblyjs/helper-code-frame": "1.7.6", - "@webassemblyjs/helper-fsm": "1.7.6", - "@xtuc/long": "4.2.1", - "mamacro": "0.0.3" + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/floating-point-hex-parser": "1.4.3", + "@webassemblyjs/helper-code-frame": "1.4.3", + "@webassemblyjs/helper-fsm": "1.4.3", + "long": "3.2.0", + "webassemblyjs": "1.4.3" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.6.tgz", - "integrity": "sha512-vHdHSK1tOetvDcl1IV1OdDeGNe/NDDQ+KzuZHMtqTVP1xO/tZ/IKNpj5BaGk1OYFdsDWQqb31PIwdEyPntOWRQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz", + "integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/wast-parser": "1.7.6", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/wast-parser": "1.4.3", + "long": "3.2.0" } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", - "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", - "dev": true - }, "abbrev": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", @@ -2205,9 +936,9 @@ } }, "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", "dev": true }, "acorn-dynamic-import": { @@ -2216,7 +947,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "5.7.3" + "acorn": "5.5.3" } }, "addressparser": { @@ -2259,12 +990,6 @@ "uri-js": "3.0.2" } }, - "ajv-errors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", - "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", - "dev": true - }, "ajv-keywords": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", @@ -2330,12 +1055,6 @@ } } }, - "ansi-colors": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.1.tgz", - "integrity": "sha512-Xt+zb6nqgvV9SWAVp0EG3lRsHcbq5DDgqjPPz6pwgtj6RKz65zGXMNa82oJfOSBA/to6GmRP7Dr+6o+kbApTzQ==", - "dev": true - }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -2436,6 +1155,16 @@ "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", "dev": true }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.11.0" + } + }, "array-slice": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", @@ -2565,17 +1294,17 @@ "dev": true }, "autoprefixer": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.5.tgz", - "integrity": "sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.5.0.tgz", + "integrity": "sha512-buY1XxFoBrXvLsoFb0jP+niSu1tCj2RwMwHj96+RfQ8DJTgb0vUhh0dg6wjJT3JzsFYBrkSj8/sGtarNdlxTFw==", "dev": true, "requires": { - "browserslist": "4.3.4", - "caniuse-lite": "1.0.30000910", + "browserslist": "3.2.7", + "caniuse-lite": "1.0.30000842", "normalize-range": "0.1.2", "num2fraction": "1.2.2", - "postcss": "7.0.5", - "postcss-value-parser": "3.3.1" + "postcss": "6.0.22", + "postcss-value-parser": "3.3.0" } }, "aws-sign2": { @@ -2965,7 +1694,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true } } @@ -2984,6 +1713,12 @@ "multicast-dns-service-types": "1.1.0" } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, "boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", @@ -3040,28 +1775,19 @@ "dev": true, "requires": { "browserify-aes": "1.2.0", - "browserify-des": "1.0.2", + "browserify-des": "1.0.1", "evp_bytestokey": "1.0.3" } }, "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", + "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", "dev": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "inherits": "2.0.3" } }, "browserify-rsa": { @@ -3084,7 +1810,7 @@ "browserify-rsa": "4.0.1", "create-hash": "1.2.0", "create-hmac": "1.1.7", - "elliptic": "6.4.1", + "elliptic": "6.4.0", "inherits": "2.0.3", "parse-asn1": "5.1.1" } @@ -3099,14 +1825,13 @@ } }, "browserslist": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", - "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.7.tgz", + "integrity": "sha512-oYVLxFVqpX9uMhOIQBLtZL+CX4uY8ZpWcjNTaxyWl5rO8yA9SSNikFnAfvk8J3P/7z3BZwNmEqFKaJoYltj3MQ==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000910", - "electron-to-chromium": "1.3.84", - "node-releases": "1.0.4" + "caniuse-lite": "1.0.30000842", + "electron-to-chromium": "1.3.47" } }, "browserstack": { @@ -3125,7 +1850,7 @@ "dev": true, "requires": { "base64-js": "1.3.0", - "ieee754": "1.1.12", + "ieee754": "1.1.11", "isarray": "1.0.0" } }, @@ -3199,7 +1924,7 @@ "dev": true, "requires": { "bluebird": "3.5.1", - "chownr": "1.1.1", + "chownr": "1.0.1", "glob": "7.1.2", "graceful-fs": "4.1.11", "lru-cache": "4.1.3", @@ -3209,7 +1934,7 @@ "promise-inflight": "1.0.1", "rimraf": "2.6.2", "ssri": "5.3.0", - "unique-filename": "1.1.1", + "unique-filename": "1.1.0", "y18n": "4.0.0" } }, @@ -3238,12 +1963,34 @@ } } }, + "cache-loader": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-1.2.2.tgz", + "integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mkdirp": "0.5.1", + "neo-async": "2.5.1", + "schema-utils": "0.4.5" + } + }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -3267,9 +2014,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000910", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000910.tgz", - "integrity": "sha512-u/nxtHGAzCGZzIxt3dA/tpSPOcirBZFWKwz1EPz4aaupnBI2XR0Rbr74g0zc6Hzy41OEM4uMoZ38k56TpYAWjQ==", + "version": "1.0.30000842", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000842.tgz", + "integrity": "sha512-juspQHLwQRgptEM03HN66SpM/ggZUB+m49NAgJIaIS11aXVNeRB57sEY1X6tEzeK2THGvYWKZZu1wIbh+W7YTA==", "dev": true }, "caseless": { @@ -3289,14 +2036,31 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", + "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", "dev": true, "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "supports-color": "4.5.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } } }, "chokidar": { @@ -3317,19 +2081,16 @@ } }, "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "1.9.0" - } + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz", + "integrity": "sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A==", + "dev": true }, "cipher-base": { "version": "1.0.4", @@ -3388,20 +2149,12 @@ "integrity": "sha1-HXCEL3Ai8I2awIbOaeWyUPLFd4k=" }, "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", "dev": true, "requires": { - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "source-map": "0.5.7" } }, "clipboard": { @@ -3425,9 +2178,9 @@ } }, "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", "dev": true }, "clone-deep": { @@ -3573,43 +2326,35 @@ "dev": true }, "compressible": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", - "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "1.33.0" }, "dependencies": { "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true } } }, "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "version": "1.7.2", + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "dev": true, "requires": { "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "2.0.15", + "compressible": "2.0.13", "debug": "2.6.9", "on-headers": "1.0.1", - "safe-buffer": "5.1.2", + "safe-buffer": "5.1.1", "vary": "1.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "concat-map": { @@ -3703,13 +2448,10 @@ "dev": true }, "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true }, "cookie": { "version": "0.3.1", @@ -3744,9 +2486,9 @@ "dev": true }, "copy-webpack-plugin": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", - "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.1.tgz", + "integrity": "sha512-OlTo6DYg0XfTKOF8eLf79wcHm4Ut10xU2cRBRPMW/NA5F9VMjZGTfRHWDIYC3s+1kObGYrBLshXWU1K0hILkNQ==", "dev": true, "requires": { "cacache": "10.0.4", @@ -3755,7 +2497,7 @@ "is-glob": "4.0.0", "loader-utils": "1.1.0", "minimatch": "3.0.4", - "p-limit": "1.3.0", + "p-limit": "1.2.0", "serialize-javascript": "1.5.0" }, "dependencies": { @@ -3787,43 +2529,18 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", "dev": true, "requires": { "is-directory": "0.3.1", - "js-yaml": "3.12.0", - "parse-json": "4.0.0", - "require-from-string": "2.0.2" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.1" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.2" - } - } + "js-yaml": "3.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" } }, "create-ecdh": { @@ -3833,7 +2550,7 @@ "dev": true, "requires": { "bn.js": "4.11.8", - "elliptic": "6.4.1" + "elliptic": "6.4.0" } }, "create-hash": { @@ -3844,7 +2561,7 @@ "requires": { "cipher-base": "1.0.4", "inherits": "2.0.3", - "md5.js": "1.3.5", + "md5.js": "1.3.4", "ripemd160": "2.0.2", "sha.js": "2.4.11" } @@ -3895,8 +2612,8 @@ "create-hmac": "1.1.7", "diffie-hellman": "5.0.3", "inherits": "2.0.3", - "pbkdf2": "3.0.17", - "public-encrypt": "4.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", "randombytes": "2.0.6", "randomfill": "1.0.4" } @@ -3907,6 +2624,18 @@ "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=", "dev": true }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.0", + "domutils": "1.5.1", + "nth-check": "1.0.1" + } + }, "css-selector-tokenizer": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", @@ -3918,6 +2647,12 @@ "regexpu-core": "1.0.0" } }, + "css-what": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", + "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "dev": true + }, "cssauron": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", @@ -3933,6 +2668,12 @@ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", "dev": true }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -3953,6 +2694,15 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.42" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3978,7 +2728,7 @@ "date-fns": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==" + "integrity": "sha1-EuYJzcuTUScxHQTTMzTilgoqVOY=" }, "date-format": { "version": "1.2.0", @@ -3995,7 +2745,7 @@ "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { "ms": "2.0.0" } @@ -4018,20 +2768,10 @@ "dev": true }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-gateway": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", - "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", - "dev": true, - "requires": { - "execa": "0.10.0", - "ip-regex": "2.1.0" - } + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, "default-require-extensions": { "version": "1.0.0", @@ -4042,6 +2782,16 @@ "strip-bom": "2.0.0" } }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } + }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -4200,9 +2950,9 @@ } }, "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", + "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", "dev": true }, "di": { @@ -4263,6 +3013,23 @@ "buffer-indexof": "1.1.1" } }, + "dom-converter": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, + "requires": { + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, "dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -4275,12 +3042,55 @@ "void-elements": "2.0.1" } }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, "double-ended-queue": { "version": "2.1.0-0", "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", @@ -4289,9 +3099,9 @@ "optional": true }, "duplexify": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", - "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { "end-of-stream": "1.4.1", @@ -4315,21 +3125,27 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, + "ejs": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", + "dev": true + }, "electron-to-chromium": { - "version": "1.3.84", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz", - "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==", + "version": "1.3.47", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.47.tgz", + "integrity": "sha1-dk6IfKkQTQGgrI6r7n38DizhQQQ=", "dev": true }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "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.8", "brorand": "1.1.0", - "hash.js": "1.1.5", + "hash.js": "1.1.3", "hmac-drbg": "1.0.1", "inherits": "2.0.3", "minimalistic-assert": "1.0.1", @@ -4427,14 +3243,14 @@ } }, "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", + "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", "dev": true, "requires": { "graceful-fs": "4.1.11", "memory-fs": "0.4.1", - "tapable": "1.1.0" + "tapable": "1.0.0" } }, "ent": { @@ -4443,6 +3259,12 @@ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -4460,9 +3282,55 @@ "is-arrayish": "0.2.1" } }, + "es-abstract": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz", + "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } + }, + "es5-ext": { + "version": "0.10.42", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz", + "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42", + "es6-symbol": "3.1.1" + } + }, "es6-promise": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", "dev": true }, @@ -4483,6 +3351,16 @@ } } }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.42" + } + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -4525,9 +3403,9 @@ } }, "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { "esrecurse": "4.2.1", @@ -4593,17 +3471,17 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.5", + "md5.js": "1.3.4", "safe-buffer": "5.1.1" } }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "6.0.5", + "cross-spawn": "5.1.0", "get-stream": "3.0.0", "is-stream": "1.1.0", "npm-run-path": "2.0.2", @@ -4613,14 +3491,12 @@ }, "dependencies": { "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "nice-try": "1.0.5", - "path-key": "2.0.1", - "semver": "5.5.0", + "lru-cache": "4.1.3", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -4696,14 +3572,14 @@ } }, "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { "accepts": "1.3.5", "array-flatten": "1.1.1", - "body-parser": "1.18.3", + "body-parser": "1.18.2", "content-disposition": "0.5.2", "content-type": "1.0.4", "cookie": "0.3.1", @@ -4720,10 +3596,10 @@ "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.4", - "qs": "6.5.2", + "proxy-addr": "2.0.3", + "qs": "6.5.1", "range-parser": "1.2.0", - "safe-buffer": "5.1.2", + "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", @@ -4739,49 +3615,10 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "1.0.4", - "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "1.6.16" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true } } @@ -4856,20 +3693,14 @@ "websocket-driver": "0.7.0" } }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, "file-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", - "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { "loader-utils": "1.1.0", - "schema-utils": "1.0.0" + "schema-utils": "0.4.5" } }, "file-uri-to-path": { @@ -4993,6 +3824,12 @@ "for-in": "1.0.2" } }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -5672,6 +4509,12 @@ } } }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -5767,7 +4610,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -5811,7 +4654,7 @@ "array-union": "1.0.2", "dir-glob": "2.0.0", "glob": "7.1.2", - "ignore": "3.3.10", + "ignore": "3.3.8", "pify": "3.0.0", "slash": "1.0.0" } @@ -5954,6 +4797,15 @@ } } }, + "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.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -5991,6 +4843,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -6067,9 +4925,9 @@ } }, "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "requires": { "inherits": "2.0.3", @@ -6095,6 +4953,12 @@ "sntp": "1.0.9" } }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, "hipchat-notifier": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz", @@ -6112,7 +4976,7 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.5", + "hash.js": "1.1.3", "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } @@ -6155,6 +5019,105 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, + "html-minifier": { + "version": "3.5.15", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.15.tgz", + "integrity": "sha512-OZa4rfb6tZOZ3Z8Xf0jKxXkiDcFWldQePGYFDcgKqES2sXeWaEv9y6QQvWUtX3ySI3feApQi5uCsHLINQ6NoAw==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.1.11", + "commander": "2.15.1", + "he": "1.1.1", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.3.25" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + } + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "3.5.15", + "loader-utils": "0.2.17", + "lodash": "4.17.10", + "pretty-error": "2.1.1", + "tapable": "1.0.0", + "toposort": "1.0.7", + "util.promisify": "1.0.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.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "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 + } + } + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -6590,9 +5553,9 @@ "dev": true }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==", "dev": true }, "iferr": { @@ -6602,9 +5565,9 @@ "dev": true }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", "dev": true }, "image-size": { @@ -6620,86 +5583,14 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "2.1.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "3.0.0" - } - }, "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "3.0.0", + "pkg-dir": "2.0.0", "resolve-cwd": "2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" - } - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "3.0.0" - } - } } }, "imurmurhash": { @@ -6751,17 +5642,16 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "internal-ip": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", - "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "default-gateway": "2.7.2", - "ipaddr.js": "1.8.0" + "meow": "3.7.0" } }, "invariant": { @@ -6784,16 +5674,10 @@ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", "dev": true }, "is-accessor-descriptor": { @@ -6822,7 +5706,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { @@ -6833,6 +5717,12 @@ "builtin-modules": "1.1.1" } }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -6842,6 +5732,12 @@ "kind-of": "3.2.2" } }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -7026,12 +5922,27 @@ "dev": true, "optional": true }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.1" + } + }, "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-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -7209,7 +6120,7 @@ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", "dev": true, "requires": { - "convert-source-map": "1.6.0", + "convert-source-map": "1.5.1", "istanbul-lib-instrument": "1.10.1", "loader-utils": "1.1.0", "schema-utils": "0.3.0" @@ -7405,12 +6316,6 @@ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -7492,7 +6397,7 @@ }, "readable-stream": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { @@ -7611,7 +6516,7 @@ "integrity": "sha512-HcPqdAusNez/ywa+biN4EphGz62MmQyPggUsDfsHqa7tSe4jdsxgvTKuDfIazjL+IOxpVWyT7Pr4dhAV+sxX5Q==", "dev": true, "requires": { - "source-map-support": "0.5.9" + "source-map-support": "0.5.6" }, "dependencies": { "source-map": { @@ -7621,9 +6526,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", "dev": true, "requires": { "buffer-from": "1.0.0", @@ -7633,9 +6538,9 @@ } }, "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", + "integrity": "sha1-2ouEvUfeU5WHj5XWTQLyRJ/gXms=", "dev": true }, "kind-of": { @@ -7671,13 +6576,18 @@ "invert-kv": "1.0.0" } }, + "leb": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/leb/-/leb-0.3.0.tgz", + "integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=", + "dev": true + }, "less": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.8.1.tgz", - "integrity": "sha512-8HFGuWmL3FhQR0aH89escFNBQH/nEiYPP2ltDFdQw2chE28Yx2E3lhAIq9Y2saYwLSwa699s4dBVEfCY8Drf7Q==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/less/-/less-3.0.4.tgz", + "integrity": "sha512-q3SyEnPKbk9zh4l36PGeW2fgynKu+FpbhiUNx/yaiBUQ3V0CbACCgb9FzYWcRgI2DJlP6eI4jc8XPrCTi55YcQ==", "dev": true, "requires": { - "clone": "2.1.2", "errno": "0.1.7", "graceful-fs": "4.1.11", "image-size": "0.5.5", @@ -7688,6 +6598,192 @@ "source-map": "0.6.1" }, "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "optional": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.1" + } + }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "optional": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.17" + }, + "dependencies": { + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "optional": true, + "requires": { + "delayed-stream": "1.0.0" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "optional": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "optional": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + } + }, + "hoek": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true, + "optional": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "optional": true + }, + "request": { + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.86.0.tgz", + "integrity": "sha512-BQZih67o9r+Ys94tcIW4S7Uu8pthjrQVxhsZ/weOwHbDfACxvIyvnAbzFQxjy1jMtvFSzv5zf4my6cZsJBbVzw==", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.1", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -7703,7 +6799,7 @@ "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==", "dev": true, "requires": { - "clone": "2.1.2", + "clone": "2.1.1", "loader-utils": "1.1.0", "pify": "3.0.0" } @@ -7750,12 +6846,12 @@ "dev": true }, "license-webpack-plugin": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.2.tgz", - "integrity": "sha512-GsomZw5VoT20ST8qH2tOjBgbyhn6Pgs9M94g0mbvfBIV1VXufm1iKY+4dbgfTObj1Mp6nSRE3Zf74deOZr0KwA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.3.1.tgz", + "integrity": "sha512-NqAFodJdpBUuf1iD+Ij8hQvF0rCFKlO2KaieoQzAPhFgzLCtJnC7Z7x5gQbGNjoe++wOKAtAmwVEIBLqq2Yp1A==", "dev": true, "requires": { - "webpack-sources": "1.2.0" + "ejs": "2.6.1" } }, "lie": { @@ -7787,9 +6883,9 @@ } }, "loader-runner": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", - "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", "dev": true }, "loader-utils": { @@ -7828,12 +6924,6 @@ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", @@ -7845,6 +6935,15 @@ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", "dev": true }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.2.2" + } + }, "log4js": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/log4js/-/log4js-2.6.1.tgz", @@ -8008,6 +7107,22 @@ "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", "dev": true }, + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "requires": { + "es6-symbol": "3.1.1", + "object.assign": "4.1.0" + } + }, + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "dev": true + }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -8032,6 +7147,12 @@ "signal-exit": "3.0.2" } }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -8119,21 +7240,6 @@ "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", "dev": true }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "1.0.0" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -8171,22 +7277,13 @@ "dev": true }, "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { "hash-base": "3.0.4", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "inherits": "2.0.3" } }, "mdi": { @@ -8201,14 +7298,12 @@ "dev": true }, "mem": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", - "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "map-age-cleaner": "0.1.3", - "mimic-fn": "1.2.0", - "p-is-promise": "1.1.0" + "mimic-fn": "1.2.0" } }, "memory-fs": { @@ -8284,7 +7379,7 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { @@ -8307,14 +7402,13 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.3.tgz", - "integrity": "sha512-Mxs0nxzF1kxPv4TRi2NimewgXlJqh0rGE30vviCU2WHrpbta6wklnUV9dr9FUtoAHmB3p3LeXEC+ZjgHvB0Dzg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.0.tgz", + "integrity": "sha512-2Zik6PhUZ/MbiboG6SDS9UTPL4XXy4qnyGjSdCIWRrr8xb6PwLtHE+AYOjkXJWdF0OG8vo/yrJ8CgS5WbMpzIg==", "dev": true, "requires": { "loader-utils": "1.1.0", - "schema-utils": "1.0.0", - "webpack-sources": "1.2.0" + "webpack-sources": "1.1.0" } }, "minimalistic-assert": { @@ -8332,7 +7426,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { "brace-expansion": "1.1.8" } @@ -8349,15 +7443,15 @@ "dev": true, "requires": { "concat-stream": "1.6.2", - "duplexify": "3.6.1", + "duplexify": "3.6.0", "end-of-stream": "1.4.1", "flush-write-stream": "1.0.3", "from2": "2.3.0", "parallel-transform": "1.1.0", "pump": "2.0.1", "pumpify": "1.5.1", - "stream-each": "1.2.3", - "through2": "2.0.5" + "stream-each": "1.2.2", + "through2": "2.0.3" } }, "mixin-deep": { @@ -8440,7 +7534,7 @@ "dev": true, "requires": { "dns-packet": "1.3.1", - "thunky": "1.0.3" + "thunky": "1.0.2" } }, "multicast-dns-service-types": { @@ -8501,9 +7595,9 @@ "dev": true }, "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", "dev": true }, "netmask": { @@ -8513,21 +7607,30 @@ "dev": true, "optional": true }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "ng2-device-detector": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ng2-device-detector/-/ng2-device-detector-1.0.1.tgz", "integrity": "sha512-Xk6peAl8dzBM5OFLK6pTThA0bk4YZ4xgyNRbLUTmc2aeDeH6VYwCx9AA2DGvI4rilGp01GNEzHrA84nY5dpwCQ==" }, "ngx-bootstrap": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-3.1.2.tgz", - "integrity": "sha512-ULooVAtHBir96PDOz8aDP+slkoY+YX3EWeYV7rwkwMQooc6MaFc+EFBBrAkQf1n0N/rJ4Z9GGccRS5vk/1JFog==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-3.1.1.tgz", + "integrity": "sha512-LY9ZnzkTA67MOUcQoA3i6JM4TGPCDUnjUMZctSesic0E9617bPrKDnb2VPOEU4VFTXWMhu6xbPcXsvLrc6m/lg==" }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } }, "node-forge": { "version": "0.7.5", @@ -8705,7 +7808,7 @@ "querystring-es3": "0.2.1", "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.3", + "stream-http": "2.8.2", "string_decoder": "1.1.1", "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", @@ -8714,15 +7817,6 @@ "vm-browserify": "0.0.4" } }, - "node-releases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.4.tgz", - "integrity": "sha512-GqRV9GcHw8JCRDaP/JoeNMNzEGzHAknMvIHqMb2VeTOmg1Cf9+ej8bkV12tHfzWHQMCkQ5zUFgwFUkfraynNCw==", - "dev": true, - "requires": { - "semver": "5.5.0" - } - }, "node-sass": { "version": "4.9.3", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", @@ -8766,7 +7860,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "2.2.1", @@ -8991,6 +8085,15 @@ "set-blocking": "2.0.0" } }, + "nth-check": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", + "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, "null-check": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", @@ -9046,6 +8149,12 @@ } } }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -9063,6 +8172,28 @@ } } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.11.0" + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -9189,7 +8320,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { "lcid": "1.0.0" @@ -9209,28 +8340,16 @@ "os-tmpdir": "1.0.2" } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", - "dev": true - }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { "p-try": "1.0.0" @@ -9242,7 +8361,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "1.2.0" } }, "p-map": { @@ -9336,6 +8455,15 @@ "readable-stream": "2.3.6" } }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, "parse-asn1": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", @@ -9346,7 +8474,7 @@ "browserify-aes": "1.2.0", "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.17" + "pbkdf2": "3.0.16" } }, "parse-glob": { @@ -9497,9 +8625,9 @@ } }, "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { "create-hash": "1.2.0", @@ -9543,9 +8671,9 @@ } }, "portfinder": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.17.tgz", - "integrity": "sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "dev": true, "requires": { "async": "1.5.2", @@ -9568,16 +8696,27 @@ "dev": true }, "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.5.0" + "supports-color": "5.4.0" }, "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -9587,43 +8726,78 @@ } }, "postcss-import": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.0.tgz", - "integrity": "sha512-3KqKRZcaZAvxbY8DVLdd81tG5uKzbUQuiWIvy0o0fzEC42bKacqPYFWbfCQyw6L4LWUaqPz/idvIdbhpgQ32eQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz", + "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", "dev": true, "requires": { - "postcss": "7.0.5", - "postcss-value-parser": "3.3.1", + "postcss": "6.0.22", + "postcss-value-parser": "3.3.0", "read-cache": "1.0.0", "resolve": "1.5.0" } }, "postcss-load-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", - "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1", + "postcss-load-options": "1.2.0", + "postcss-load-plugins": "2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", "dev": true, "requires": { - "cosmiconfig": "4.0.0", - "import-cwd": "2.1.0" + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" } }, "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.5.tgz", + "integrity": "sha512-pV7kB5neJ0/1tZ8L1uGOBNTVBCSCXQoIsZMsrwvO8V2rKGa2tBl/f80GGVxow2jJnRJ2w1ocx693EKhZAb9Isg==", "dev": true, "requires": { "loader-utils": "1.1.0", - "postcss": "7.0.5", - "postcss-load-config": "2.0.0", - "schema-utils": "1.0.0" + "postcss": "6.0.22", + "postcss-load-config": "1.2.0", + "schema-utils": "0.4.5" + } + }, + "postcss-url": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.2.tgz", + "integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==", + "dev": true, + "requires": { + "mime": "1.6.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "postcss": "6.0.22", + "xxhashjs": "0.2.2" } }, "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "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 }, "prelude-ls": { @@ -9638,6 +8812,16 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.1", + "utila": "0.4.0" + } + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -9744,7 +8928,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -9973,13 +9157,13 @@ } }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.6.0" } }, "proxy-agent": { @@ -10054,25 +9238,16 @@ "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" }, "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", "create-hash": "1.2.0", "parse-asn1": "5.1.1", - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } + "randombytes": "2.0.6" } }, "pump": { @@ -10091,7 +9266,7 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.1", + "duplexify": "3.6.0", "inherits": "2.0.3", "pump": "2.0.1" } @@ -10384,7 +9559,7 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regex-cache": { @@ -10440,12 +9615,39 @@ } } }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, + "renderkid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", @@ -10517,9 +9719,9 @@ } }, "cryptiles": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.4.tgz", - "integrity": "sha512-8I1sgZHfVwcSOY6mSGpVU3lw/GSIZvusg8dD2+OGehCJpOhQRLNcH0qb9upQnOH4XhgxxFJSg6E2kx95deb1Tw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { "boom": "5.2.0" @@ -10565,7 +9767,7 @@ "dev": true, "requires": { "boom": "4.3.1", - "cryptiles": "3.1.4", + "cryptiles": "3.1.2", "hoek": "4.2.1", "sntp": "2.1.0" } @@ -10626,9 +9828,9 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "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": { @@ -10696,7 +9898,7 @@ "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "requires": { "glob": "7.1.2" } @@ -10736,7 +9938,7 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" }, "safe-regex": { "version": "1.1.0", @@ -10747,12 +9949,6 @@ "ret": "0.1.15" } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -10765,17 +9961,16 @@ } }, "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.0.1.tgz", + "integrity": "sha512-MeVVJFejJELlAbA7jrRchi88PGP6U9yIfqyiG+bBC4a9s2PX+ulJB9h8bbEohtPBfZmlLhNZ0opQM9hovRXvlw==", "dev": true, "requires": { "clone-deep": "2.0.2", "loader-utils": "1.1.0", "lodash.tail": "4.1.1", - "neo-async": "2.6.0", - "pify": "3.0.0", - "semver": "5.5.0" + "neo-async": "2.5.1", + "pify": "3.0.0" } }, "saucelabs": { @@ -10794,13 +9989,12 @@ "dev": true }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { "ajv": "6.4.0", - "ajv-errors": "1.0.0", "ajv-keywords": "3.2.0" } }, @@ -10858,9 +10052,9 @@ } }, "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", "dev": true, "requires": { "node-forge": "0.7.5" @@ -11346,9 +10540,9 @@ } }, "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", "dev": true }, "source-map": { @@ -11357,16 +10551,6 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, - "source-map-loader": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", - "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", - "dev": true, - "requires": { - "async": "2.6.0", - "loader-utils": "1.1.0" - } - }, "source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", @@ -11434,17 +10618,17 @@ "http-deceiver": "1.2.7", "safe-buffer": "5.1.1", "select-hose": "2.0.0", - "spdy-transport": "2.1.1" + "spdy-transport": "2.1.0" } }, "spdy-transport": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.1.tgz", - "integrity": "sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", "dev": true, "requires": { "debug": "2.6.9", - "detect-node": "2.0.4", + "detect-node": "2.0.3", "hpack.js": "2.1.6", "obuf": "1.1.2", "readable-stream": "2.3.6", @@ -11452,15 +10636,6 @@ "wbuf": "1.7.3" } }, - "speed-measure-webpack-plugin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.2.3.tgz", - "integrity": "sha512-p+taQ69VkRUXYMoZOx2nxV/Tz8tt79ahctoZJyJDHWP7fEYvwFNf5Pd73k5kZ6auu0pTsPNLEUwWpM8mCk85Zw==", - "dev": true, - "requires": { - "chalk": "2.4.1" - } - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -11529,9 +10704,9 @@ } }, "stats-webpack-plugin": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz", - "integrity": "sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.6.2.tgz", + "integrity": "sha1-LFlJtTHgf4eojm6k3PrFOqjHWis=", "dev": true, "requires": { "lodash": "4.17.10" @@ -11570,9 +10745,9 @@ } }, "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { "end-of-stream": "1.4.1", @@ -11580,9 +10755,9 @@ } }, "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.2.tgz", + "integrity": "sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==", "dev": true, "requires": { "builtin-status-codes": "3.0.0", @@ -11689,295 +10864,102 @@ "dev": true }, "style-loader": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.0.tgz", - "integrity": "sha512-uCcN7XWHkqwGVt7skpInW6IGO1tG6ReyFQ1Cseh0VcN6VdcFQi62aG/2F3Y9ueA8x4IVlfaSUxpmQXQD9QrEuQ==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { "loader-utils": "1.1.0", - "schema-utils": "0.4.7" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" - } - } + "schema-utils": "0.4.5" } }, "stylus": { "version": "0.54.5", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", - "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", - "dev": true, - "requires": { - "css-parse": "1.7.0", - "debug": "2.6.9", - "glob": "7.0.6", - "mkdirp": "0.5.1", - "sax": "0.5.8", - "source-map": "0.1.43" - }, - "dependencies": { - "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "lodash.clonedeep": "4.5.0", - "when": "3.6.4" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", - "dev": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "terser": { - "version": "3.10.12", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.12.tgz", - "integrity": "sha512-3ODPC1eVt25EVNb04s/PkHxOmzKBQUF6bwwuR6h2DbEF8/j265Y1UkwNtOk9am/pRxfJ5HPapOlUlO6c16mKQQ==", - "dev": true, - "requires": { - "commander": "2.17.1", - "source-map": "0.6.1", - "source-map-support": "0.5.9" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "1.0.0", - "source-map": "0.6.1" - } - } - } - }, - "terser-webpack-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", - "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", - "dev": true, - "requires": { - "cacache": "11.3.1", - "find-cache-dir": "2.0.0", - "schema-utils": "1.0.0", - "serialize-javascript": "1.5.0", - "source-map": "0.6.1", - "terser": "3.10.12", - "webpack-sources": "1.2.0", - "worker-farm": "1.6.0" - }, - "dependencies": { - "cacache": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", - "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", - "dev": true, - "requires": { - "bluebird": "3.5.1", - "chownr": "1.1.1", - "figgy-pudding": "3.5.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.3", - "mississippi": "3.0.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "6.0.1", - "unique-filename": "1.1.1", - "y18n": "4.0.0" - } - }, - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "1.6.2", - "duplexify": "3.6.1", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.3", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "3.0.0", - "pumpify": "1.5.1", - "stream-each": "1.2.3", - "through2": "2.0.5" - } - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "dev": true, + "requires": { + "css-parse": "1.7.0", + "debug": "2.6.9", + "glob": "7.0.6", + "mkdirp": "0.5.1", + "sax": "0.5.8", + "source-map": "0.1.43" + }, + "dependencies": { + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "p-limit": "2.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", "dev": true }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "3.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "figgy-pudding": "3.5.1" + "amdefine": "1.0.1" } } } }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "lodash.clonedeep": "4.5.0", + "when": "3.6.4" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, + "tapable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -11985,9 +10967,9 @@ "dev": true }, "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { "readable-stream": "2.3.6", @@ -12002,9 +10984,9 @@ "optional": true }, "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", "dev": true }, "timers-browserify": { @@ -12026,7 +11008,7 @@ "tiny-emitter": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", - "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==" + "integrity": "sha1-gtJ0aKylrejl/R5tIrV91D69+3w=" }, "tmp": { "version": "0.0.33", @@ -12097,6 +11079,12 @@ } } }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, "tough-cookie": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", @@ -12405,20 +11393,20 @@ "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==", "dev": true }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "uglify-js": { + "version": "3.3.25", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.25.tgz", + "integrity": "sha512-hobogryjDV36VrLK3Y69ou4REyrTApzUblVFmdQOYRe8cYaSmFJXMb4dR9McdvYDSbeNdzUgYr2YVukJaErJcA==", "dev": true, "requires": { - "commander": "2.13.0", + "commander": "2.15.1", "source-map": "0.6.1" }, "dependencies": { "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", "dev": true }, "source-map": { @@ -12437,36 +11425,42 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz", + "integrity": "sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==", "dev": true, "requires": { "cacache": "10.0.4", "find-cache-dir": "1.0.0", - "schema-utils": "0.4.7", + "schema-utils": "0.4.5", "serialize-javascript": "1.5.0", "source-map": "0.6.1", "uglify-es": "3.3.9", - "webpack-sources": "1.2.0", + "webpack-sources": "1.1.0", "worker-farm": "1.6.0" }, "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" - } + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } } } }, @@ -12518,18 +11512,18 @@ } }, "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "2.0.1" + "unique-slug": "2.0.0" } }, "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { "imurmurhash": "0.1.4" @@ -12599,6 +11593,12 @@ "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", "dev": true }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, "uri-js": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", @@ -12646,6 +11646,25 @@ "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", "dev": true }, + "url-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", + "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "2.3.1", + "schema-utils": "0.4.5" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + } + } + }, "url-parse": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", @@ -12712,6 +11731,22 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -12721,7 +11756,7 @@ "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" }, "uws": { "version": "9.14.0", @@ -12801,9 +11836,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "2.0.4", + "chokidar": "2.0.3", "graceful-fs": "4.1.11", - "neo-async": "2.6.0" + "neo-async": "2.5.1" }, "dependencies": { "anymatch": { @@ -12858,9 +11893,9 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", "dev": true, "requires": { "anymatch": "2.0.0", @@ -12871,7 +11906,6 @@ "inherits": "2.0.3", "is-binary-path": "1.0.1", "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0", @@ -13158,6 +12192,19 @@ "minimalistic-assert": "1.0.1" } }, + "webassemblyjs": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz", + "integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/validation": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "@webassemblyjs/wast-parser": "1.4.3", + "long": "3.2.0" + } + }, "webdriver-js-extender": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", @@ -13169,35 +12216,33 @@ } }, "webpack": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.19.1.tgz", - "integrity": "sha512-j7Q/5QqZRqIFXJvC0E59ipLV5Hf6lAnS3ezC3I4HMUybwEDikQBVad5d+IpPtmaQPQArvgUZLXIN6lWijHBn4g==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.8.3.tgz", + "integrity": "sha512-/hfAjBISycdK597lxONjKEFX7dSIU1PsYwC3XlXUXoykWBlv9QV5HnO+ql3HvrrgfBJ7WXdnjO9iGPR2aAc5sw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.6", - "@webassemblyjs/helper-module-context": "1.7.6", - "@webassemblyjs/wasm-edit": "1.7.6", - "@webassemblyjs/wasm-parser": "1.7.6", - "acorn": "5.7.3", + "@webassemblyjs/ast": "1.4.3", + "@webassemblyjs/wasm-edit": "1.4.3", + "@webassemblyjs/wasm-parser": "1.4.3", + "acorn": "5.5.3", "acorn-dynamic-import": "3.0.0", "ajv": "6.4.0", "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.1.0", - "eslint-scope": "4.0.0", - "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.1", + "chrome-trace-event": "0.1.3", + "enhanced-resolve": "4.0.0", + "eslint-scope": "3.7.1", + "loader-runner": "2.3.0", "loader-utils": "1.1.0", "memory-fs": "0.4.1", "micromatch": "3.1.10", "mkdirp": "0.5.1", - "neo-async": "2.6.0", + "neo-async": "2.5.1", "node-libs-browser": "2.1.0", - "schema-utils": "0.4.7", - "tapable": "1.1.0", - "uglifyjs-webpack-plugin": "1.3.0", + "schema-utils": "0.4.5", + "tapable": "1.0.0", + "uglifyjs-webpack-plugin": "1.2.5", "watchpack": "1.6.0", - "webpack-sources": "1.2.0" + "webpack-sources": "1.1.0" }, "dependencies": { "arr-diff": { @@ -13473,16 +12518,6 @@ "snapdragon": "0.8.2", "to-regex": "3.0.2" } - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" - } } } }, @@ -13514,17 +12549,18 @@ } }, "webpack-dev-middleware": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.3.0.tgz", - "integrity": "sha512-5C5gXtOo1I6+0AEg4UPglYEtu3Rai6l5IiO6aUu65scHXz29dc3oIWMiRwvcNLXgL0HwRkRxa9N02ZjFt4hY8w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", "dev": true, "requires": { "loud-rejection": "1.6.0", "memory-fs": "0.4.1", "mime": "2.3.1", + "path-is-absolute": "1.0.1", "range-parser": "1.2.0", "url-join": "4.0.0", - "webpack-log": "2.0.0" + "webpack-log": "1.2.0" }, "dependencies": { "mime": { @@ -13536,39 +12572,39 @@ } }, "webpack-dev-server": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.8.tgz", - "integrity": "sha512-c+tcJtDqnPdxCAzEEZKdIPmg3i5i7cAHe+B+0xFNK0BlCc2HF/unYccbU7xTgfGc5xxhCztCQzFmsqim+KhI+A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz", + "integrity": "sha512-itcIUDFkHuj1/QQxzUFOEXXmxOj5bku2ScLEsOFPapnq2JRTm58gPdtnBphBJOKL2+M3p6+xygL64bI+3eyzzw==", "dev": true, "requires": { "ansi-html": "0.0.7", + "array-includes": "3.0.3", "bonjour": "3.5.0", - "chokidar": "2.0.4", - "compression": "1.7.3", + "chokidar": "2.0.3", + "compression": "1.7.2", "connect-history-api-fallback": "1.5.0", - "debug": "3.2.6", + "debug": "3.1.0", "del": "3.0.0", - "express": "4.16.4", + "express": "4.16.3", "html-entities": "1.2.1", "http-proxy-middleware": "0.18.0", - "import-local": "2.0.0", - "internal-ip": "3.0.1", + "import-local": "1.0.0", + "internal-ip": "1.2.0", "ip": "1.1.5", - "killable": "1.0.1", + "killable": "1.0.0", "loglevel": "1.6.1", "opn": "5.3.0", - "portfinder": "1.0.17", - "schema-utils": "1.0.0", - "selfsigned": "1.10.4", + "portfinder": "1.0.13", + "selfsigned": "1.10.3", "serve-index": "1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.1.5", + "sockjs-client": "1.1.4", "spdy": "3.4.7", "strip-ansi": "3.0.1", - "supports-color": "5.5.0", - "webpack-dev-middleware": "3.2.0", - "webpack-log": "2.0.0", - "yargs": "12.0.2" + "supports-color": "5.4.0", + "webpack-dev-middleware": "3.1.3", + "webpack-log": "1.2.0", + "yargs": "11.0.0" }, "dependencies": { "ansi-regex": { @@ -13629,9 +12665,9 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", "dev": true, "requires": { "anymatch": "2.0.0", @@ -13642,7 +12678,6 @@ "inherits": "2.0.3", "is-binary-path": "1.0.1", "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", "readdirp": "2.1.0", @@ -13672,29 +12707,12 @@ } }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "2.1.1" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "xregexp": "4.0.0" + "ms": "2.0.0" } }, "expand-brackets": { @@ -13857,15 +12875,6 @@ } } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "3.0.0" - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -13887,12 +12896,6 @@ } } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", @@ -13975,25 +12978,6 @@ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" - } - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -14015,47 +12999,42 @@ "to-regex": "3.0.2" } }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, "os-locale": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", - "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", - "dev": true, - "requires": { - "execa": "0.10.0", - "lcid": "2.0.0", - "mem": "4.0.0" - } - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "p-try": "2.0.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "dev": true, "requires": { - "p-limit": "2.0.0" + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.4.3" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -14077,57 +13056,42 @@ } } }, - "webpack-dev-middleware": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz", - "integrity": "sha512-YJLMF/96TpKXaEQwaLEo+Z4NDK8aV133ROF6xp9pe3gQoS7sxfpXh4Rv9eC+8vCvWfmDjRQaMSlRPbO+9G6jgA==", - "dev": true, - "requires": { - "loud-rejection": "1.6.0", - "memory-fs": "0.4.1", - "mime": "2.3.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "url-join": "4.0.0", - "webpack-log": "2.0.0" - } - }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { "cliui": "4.1.0", - "decamelize": "2.0.0", - "find-up": "3.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", "get-caller-file": "1.0.2", - "os-locale": "3.0.1", + "os-locale": "2.1.0", "require-directory": "2.1.1", "require-main-filename": "1.0.1", "set-blocking": "2.0.0", "string-width": "2.1.1", "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "10.1.0" + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "4.1.0" @@ -14136,39 +13100,33 @@ } }, "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "ansi-colors": "3.2.1", - "uuid": "3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } + "chalk": "2.2.2", + "log-symbols": "2.2.0", + "loglevelnext": "1.0.5", + "uuid": "3.1.0" } }, "webpack-merge": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", - "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.2.tgz", + "integrity": "sha512-/0QYwW/H1N/CdXYA2PNPVbsxO3u2Fpz34vs72xm03SRfg6bMNGfMJIQEpQjKRvkG2JvT6oRJFpDtSrwbX8Jzvw==", "dev": true, "requires": { "lodash": "4.17.10" } }, "webpack-sources": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", - "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "2.0.1", + "source-list-map": "2.0.0", "source-map": "0.6.1" }, "dependencies": { @@ -14181,9 +13139,9 @@ } }, "webpack-subresource-integrity": { - "version": "1.1.0-rc.6", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.6.tgz", - "integrity": "sha512-Az7y8xTniNhaA0620AV1KPwWOqawurVVDzQSpPAeR5RwNbL91GoBSJAAo9cfd+GiFHwsS5bbHepBw1e6Hzxy4w==", + "version": "1.1.0-rc.4", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.4.tgz", + "integrity": "sha1-xcTj1pD50vZKlVDgeodn+Xlqpdg=", "dev": true, "requires": { "webpack-core": "0.6.9" @@ -14224,7 +13182,7 @@ "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", "requires": { "isexe": "2.0.0" } @@ -14354,6 +13312,15 @@ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, + "xxhashjs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", + "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", + "dev": true, + "requires": { + "cuint": "0.2.2" + } + }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", diff --git a/quick-start/.gitignore b/quick-start/.gitignore index d4e8e41094..a0114918d4 100644 --- a/quick-start/.gitignore +++ b/quick-start/.gitignore @@ -45,3 +45,4 @@ build/ src/main/resources/static/ src/main/resources/templates/ package-lock.json +site/ diff --git a/quick-start/.storybook/config.js b/quick-start/.storybook/config.js index ddaea8f06f..5f07e09d60 100644 --- a/quick-start/.storybook/config.js +++ b/quick-start/.storybook/config.js @@ -1,15 +1,6 @@ import {configure} from '@storybook/angular'; import {setOptions} from '@storybook/addon-options'; -import './storybook.css'; - -import '../node_modules/mdi/css/materialdesignicons.css'; -import '../node_modules/material-design-icons-iconfont/dist/material-design-icons.css'; -import '../node_modules/font-awesome/css/font-awesome.css'; -import '../node_modules/codemirror/lib/codemirror.css'; -import '../node_modules/@angular-mdl/popover/popover.css'; -import '../node_modules/@angular-mdl/select/select.css'; - // Option defaults: setOptions({ /** diff --git a/quick-start/.storybook/preview-head.html b/quick-start/.storybook/preview-head.html index e69de29bb2..8a0b6ce78c 100644 --- a/quick-start/.storybook/preview-head.html +++ b/quick-start/.storybook/preview-head.html @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/quick-start/.storybook/storybook.css b/quick-start/.storybook/storybook.css deleted file mode 100644 index 6e30c00ca0..0000000000 --- a/quick-start/.storybook/storybook.css +++ /dev/null @@ -1,6 +0,0 @@ -body { - background-color: rgba(0, 0, 0, 0.05); - background-image: repeating-linear-gradient(0deg, transparent, transparent 7px, rgba(0, 0, 0, 0.2) 1px, transparent 8px), repeating-linear-gradient(90deg, transparent, transparent 7px, rgba(0, 0, 0, 0.2) 1px, transparent 8px); - background-size: 8px 8px; -} - diff --git a/quick-start/.storybook/webpack.config.js b/quick-start/.storybook/webpack.config.js index 87aa4ef9c8..4f42fd49bb 100644 --- a/quick-start/.storybook/webpack.config.js +++ b/quick-start/.storybook/webpack.config.js @@ -1,7 +1,11 @@ const path = require('path'); const autoprefixer = require('autoprefixer'); +const webpack = require('webpack'); module.exports = (baseConfig, env, defaultConfig) => { + baseConfig.plugins.push( new webpack.ProvidePlugin({ + CodeMirror: 'codemirror' + })); baseConfig.module.rules.push( { test: [/\.stories\.ts?$/, /index\.ts$/], @@ -16,30 +20,6 @@ module.exports = (baseConfig, env, defaultConfig) => { include: [path.resolve(__dirname, '../src')], enforce: 'pre', }, - { - test: /\.css$/, - use: [ - require.resolve('style-loader'), - { - loader: require.resolve('css-loader'), - options: { - importLoaders: 1, - }, - }, - { - loader: require.resolve('postcss-loader'), - options: { - ident: 'postcss', // https://webpack.js.org/guides/migrating/#complex-options - plugins: () => [ - require('postcss-flexbugs-fixes'), // eslint-disable-line - autoprefixer({ - flexbox: 'no-2009', - }), - ], - }, - }, - ], - }, { test: /\.(ico|jpg|jpeg|png|gif|eot|otf|svg|webp|ttf|woff|woff2)(\?.*)?$/, loaders: ["file-loader"], diff --git a/quick-start/angular.json b/quick-start/angular.json index ec7408ae29..2bd9faf6d4 100644 --- a/quick-start/angular.json +++ b/quick-start/angular.json @@ -5,7 +5,7 @@ "projects": { "data-hub-quickstart": { "root": "", - "sourceRoot": "src", + "sourceRoot": "src/main/ui", "projectType": "application", "architect": { "build": { @@ -17,8 +17,8 @@ "tsConfig": "src/main/ui/tsconfig.app.json", "polyfills": "src/main/ui/polyfills.ts", "assets": [ - "src/main/ui/assets", - "src/main/ui/favicon.ico" + { "glob": "**/*", "input": "src/main/ui/assets", "output": "/" }, + { "glob": "favicon.ico", "input": "src/main/ui/", "output": "/" } ], "styles": [ "node_modules/mdi/css/materialdesignicons.css", @@ -84,8 +84,8 @@ "src/main/ui/styles.scss" ], "assets": [ - "src/main/ui/assets", - "src/main/ui/favicon.ico" + { "glob": "**/*", "input": "src/main/ui/assets", "output": "/" }, + { "glob": "favicon.ico", "input": "src/main/ui/", "output": "/" } ] } }, diff --git a/quick-start/e2e/page-objects/appPage.ts b/quick-start/e2e/page-objects/appPage.ts index e0113590fe..c66a0cf361 100644 --- a/quick-start/e2e/page-objects/appPage.ts +++ b/quick-start/e2e/page-objects/appPage.ts @@ -18,7 +18,7 @@ export class AppPage extends Page { } get odhLogo() { - return element(by.css('a img[src="/main/ui/assets/img/odh.svg"]')); + return element(by.css('a img[src="/img/odh.svg"]')); } get dashboardTab() { diff --git a/quick-start/e2e/page-objects/browse/browse.ts b/quick-start/e2e/page-objects/browse/browse.ts index af383d22c6..212df2fdf0 100644 --- a/quick-start/e2e/page-objects/browse/browse.ts +++ b/quick-start/e2e/page-objects/browse/browse.ts @@ -10,7 +10,7 @@ export class BrowsePage extends AppPage { //to get the login box locater locator() { - return by.css('app-search > div'); + return by.css('app-search > app-search-ui > div'); } databaseDropDown() { diff --git a/quick-start/e2e/page-objects/traces/traces.ts b/quick-start/e2e/page-objects/traces/traces.ts index 8f994ec9a6..56e47fbfd0 100644 --- a/quick-start/e2e/page-objects/traces/traces.ts +++ b/quick-start/e2e/page-objects/traces/traces.ts @@ -6,7 +6,7 @@ export class TracesPage extends AppPage { //to get the login box locater locator() { - return by.css('app-traces > div'); + return by.css('app-traces > app-traces-ui > div'); } tracesPageTitle() { diff --git a/quick-start/e2e/specs/auth/authenticated.ts b/quick-start/e2e/specs/auth/authenticated.ts index 906e6d9d8e..e34b7359e4 100644 --- a/quick-start/e2e/specs/auth/authenticated.ts +++ b/quick-start/e2e/specs/auth/authenticated.ts @@ -59,8 +59,9 @@ export default function(tmpDir) { .toEqual('data-hub-ol-final-SCHEMAS'); await loginPage.clickAdvancedSettings(); await loginPage.clickRestoreDefaults(); + browser.sleep(3000); browser.wait(EC.elementToBeClickable(loginPage.restoreButton)); - await loginPage.clickRestore(); + await loginPage.restoreButton.click(); await loginPage.clickAdvancedSettings(); console.log('verify restored settings'); expect(loginPage.stagingAppserverNameLabel.isDisplayed()).toBe(true); diff --git a/quick-start/e2e/specs/create/create.ts b/quick-start/e2e/specs/create/create.ts index 227a222134..1d9671d169 100644 --- a/quick-start/e2e/specs/create/create.ts +++ b/quick-start/e2e/specs/create/create.ts @@ -79,6 +79,7 @@ export default function(tmpDir) { }); it ('should go to the entities page', async function() { + browser.get('http://localhost:8080/#/entities'); await appPage.entitiesTab.click(); entityPage.isLoaded(); }); @@ -340,6 +341,7 @@ export default function(tmpDir) { await entityPage.toolsButton.click(); //remove removeEntity entity await entityPage.deleteEntityButton('removeEntity').click(); + browser.sleep(3000); browser.wait(EC.elementToBeClickable(entityPage.confirmDialogYesButton)); expect(entityPage.confirmDialogYesButton.isDisplayed()).toBe(true); await entityPage.confirmDialogYesButton.click(); @@ -424,6 +426,7 @@ export default function(tmpDir) { expect(lastProperty.isDisplayed() && lastProperty.isDisplayed()); await entityPage.getPropertyCheckBox(lastProperty).click(); await entityPage.deleteProperty.click(); + browser.sleep(3000); browser.wait(EC.elementToBeClickable(entityPage.confirmDialogYesButton)); expect(entityPage.confirmDialogYesButton.isDisplayed()).toBe(true); await entityPage.confirmDialogYesButton.click(); @@ -659,7 +662,7 @@ export default function(tmpDir) { await settingsPage.redeployConfirmation.click(); browser.wait(EC.visibilityOf(settingsPage.redeployStatus)); expect(settingsPage.redeployStatus.isDisplayed()).toBe(true); - browser.sleep(120000); + browser.sleep(150000); browser.wait(EC.invisibilityOf(settingsPage.redeployStatus)); }); diff --git a/quick-start/e2e/specs/mappings/mappings.ts b/quick-start/e2e/specs/mappings/mappings.ts index de7bf56cd4..b03c0bdca3 100644 --- a/quick-start/e2e/specs/mappings/mappings.ts +++ b/quick-start/e2e/specs/mappings/mappings.ts @@ -97,7 +97,7 @@ export default function() { browser.wait(EC.elementToBeClickable(browsePage.resultsUri())); let sourceDocUriWithBigSku = browsePage.resultsSpecificUri('/board_games.csv-0-10?doc=yes&type=foo').getText(); - browser.get('http://localhost:8080/#/mappings'); + browser.get('http://localhost:8080/#/mappings'); // update the map with specific SKU doc uri await appPage.mappingsTab.click(); mappingsPage.isLoaded(); diff --git a/quick-start/e2e/specs/mappings/typeAhead.ts b/quick-start/e2e/specs/mappings/typeAhead.ts index dfcb77fbd5..2ffb4df836 100644 --- a/quick-start/e2e/specs/mappings/typeAhead.ts +++ b/quick-start/e2e/specs/mappings/typeAhead.ts @@ -29,6 +29,7 @@ export default function() { browser.wait(EC.elementToBeClickable(flowPage.getFlow('WorldBank', 'Load WorldBank', 'INPUT'))); expect(flowPage.getFlow('WorldBank', 'Load WorldBank', 'INPUT').isDisplayed()). toBe(true, 'Load WorldBank' + ' is not present'); + browser.sleep(5000); }); it ('should redeploy modules', async function() { @@ -208,7 +209,7 @@ export default function() { await appPage.flowsTab.click(); flowPage.isLoaded(); }); - + it ('should redeploy modules', async function() { browser.get('http://localhost:8080/#/flows'); await flowPage.redeployButton.click(); diff --git a/quick-start/e2e/specs/run/run.ts b/quick-start/e2e/specs/run/run.ts index 5955c7ab1b..cf3f7d9611 100644 --- a/quick-start/e2e/specs/run/run.ts +++ b/quick-start/e2e/specs/run/run.ts @@ -56,7 +56,8 @@ export default function(tmpDir) { expect(viewerPage.verifyVariableName('sku').isPresent()).toBeTruthy(); expect(viewerPage.verifyStringName('442403950907').isPresent()).toBeTruthy(); expect(viewerPage.verifyVariableName('attachments').isPresent()).toBeTruthy(); - expect(viewerPage.verifyVariableName('null').isPresent()).toBeTruthy(); + //need to modify the verification as it's an atomic value now + //expect(viewerPage.verifyVariableName('null').isPresent()).toBeTruthy(); expect(viewerPage.verifyVariableName('opt1').isPresent()).toBeFalsy(); expect(viewerPage.verifyStringName('world').isPresent()).toBeFalsy(); //verfiy on dashboard page diff --git a/quick-start/package-lock.json b/quick-start/package-lock.json index e7e46eb3f4..adaa992d0a 100644 --- a/quick-start/package-lock.json +++ b/quick-start/package-lock.json @@ -5,19 +5,19 @@ "requires": true, "dependencies": { "@angular-devkit/architect": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.8.4.tgz", - "integrity": "sha512-Xg/HgFgE3zu1jwI6quCRaGQK0dWyaK2GOYp2n1a+yQ8E+yngQqFW1EsdQE9L8EV1XtVL8njunZ/oOEL/KI6Oxw==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.8.8.tgz", + "integrity": "sha512-tJEShCUGdNfCBtKhY1IFuE+BiHZLkC2yNlB//CXsvP74XQkKd7d6godF8VGKIZBd4hG6cVmJC/8nnP3aiTDUxQ==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", + "@angular-devkit/core": "0.8.8", "rxjs": "6.2.2" }, "dependencies": { "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.8.tgz", + "integrity": "sha512-FDt+ZrKT/pAR74YnbZJQ5Nza+1b5PxGjgvbUtyX63VNxgETTjPa7Oe9Hc6jqW0CekTxHzAFJn79VPRUwKQIocg==", "dev": true, "requires": { "ajv": "6.4.0", @@ -32,177 +32,316 @@ "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } } } }, "@angular-devkit/build-angular": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.8.4.tgz", - "integrity": "sha512-ff4MNIwcmDRcsrNrL9dURR/EAT04nUUfiqAz4LKF9Lyj0dnKkZNn1ff08PO/EVXlgFX97XEfSXv29OhlMSJ40A==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/build-optimizer": "0.8.4", - "@angular-devkit/build-webpack": "0.8.4", - "@angular-devkit/core": "0.8.4", - "@ngtools/webpack": "6.2.4", - "ajv": "6.4.0", - "autoprefixer": "8.6.5", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.11.3.tgz", + "integrity": "sha512-jFsCs4g0LLesd4bzbrwe4X7o38oo/xrLTrVeEuEPXSu5x/qEzWNhPsOAngJnXvcaILXdimXi6xr6DQazHsiuag==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.11.3", + "@angular-devkit/build-optimizer": "0.11.3", + "@angular-devkit/build-webpack": "0.11.3", + "@angular-devkit/core": "7.1.3", + "@ngtools/webpack": "7.1.3", + "ajv": "6.5.3", + "autoprefixer": "9.3.1", "circular-dependency-plugin": "5.0.2", "clean-css": "4.2.1", - "copy-webpack-plugin": "4.5.2", - "file-loader": "1.1.11", - "glob": "7.1.2", - "html-webpack-plugin": "3.2.0", + "copy-webpack-plugin": "4.5.4", + "file-loader": "2.0.0", + "glob": "7.1.3", "istanbul": "0.4.5", "istanbul-instrumenter-loader": "3.0.1", "karma-source-map-support": "1.3.0", "less": "3.8.1", "less-loader": "4.1.0", - "license-webpack-plugin": "1.5.0", + "license-webpack-plugin": "2.0.2", "loader-utils": "1.1.0", - "mini-css-extract-plugin": "0.4.3", + "mini-css-extract-plugin": "0.4.4", "minimatch": "3.0.4", - "node-sass": "4.9.3", + "node-sass": "4.10.0", "opn": "5.3.0", "parse5": "4.0.0", "portfinder": "1.0.17", - "postcss": "6.0.22", - "postcss-import": "11.1.0", - "postcss-loader": "2.1.6", - "postcss-url": "7.3.2", + "postcss": "7.0.5", + "postcss-import": "12.0.0", + "postcss-loader": "3.0.0", "raw-loader": "0.5.1", - "rxjs": "6.2.2", + "rxjs": "6.3.3", "sass-loader": "7.1.0", "semver": "5.5.1", "source-map-loader": "0.2.4", "source-map-support": "0.5.9", - "stats-webpack-plugin": "0.6.2", - "style-loader": "0.21.0", + "speed-measure-webpack-plugin": "1.2.3", + "stats-webpack-plugin": "0.7.0", + "style-loader": "0.23.1", "stylus": "0.54.5", "stylus-loader": "3.0.2", + "terser-webpack-plugin": "1.1.0", "tree-kill": "1.2.0", - "uglifyjs-webpack-plugin": "1.2.5", - "url-loader": "1.1.1", - "webpack": "4.20.2", + "webpack": "4.23.1", "webpack-dev-middleware": "3.4.0", - "webpack-dev-server": "3.1.9", + "webpack-dev-server": "3.1.10", "webpack-merge": "4.1.4", - "webpack-sources": "1.1.0", + "webpack-sources": "1.3.0", "webpack-subresource-integrity": "1.1.0-rc.6" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.11.3.tgz", + "integrity": "sha512-Y88itM+UZt7ZJqUa9i74SxC08nhqbrYUZLCztxt5LEOyr4umxBxNV4lRyhNW7iED5jFKifgDZ7dNvdS0F18sWw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.1.3", + "rxjs": "6.3.3" + } + }, "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.1.3.tgz", + "integrity": "sha512-pGBInxmuR5DAhZ1RSfIlkv7cdgh3EDNXXea9ZObEuI9MuFsIWUKODT5oKbRrsOWM6IqwNmx68VEW+xQm2DXyJw==", "dev": true, "requires": { - "ajv": "6.4.0", + "ajv": "6.5.3", "chokidar": "2.0.4", - "rxjs": "6.2.2", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" } }, - "postcss-loader": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", - "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "postcss": "6.0.22", - "postcss-load-config": "2.0.0", - "schema-utils": "0.4.5" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": 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" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node-sass": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz", + "integrity": "sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==", + "dev": true, + "optional": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.3", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.11.1", + "node-gyp": "3.8.0", + "npmlog": "4.1.2", + "request": "2.88.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.1", + "true-case-path": "1.0.3" + } + }, + "opn": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "tslib": "1.9.0" + "is-wsl": "1.1.0" } }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "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, + "optional": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "punycode": "2.1.1" } } } }, "@angular-devkit/build-optimizer": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.4.tgz", - "integrity": "sha512-pqfB2qrFz5ZEJEP1of8P+knwV/GqoP5trLx247E1nwb512P8aLdHqVbMNgUzZmKxfL2GXO6fmLuuT2aEX93Zbg==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.3.tgz", + "integrity": "sha512-CcRKITGpw1ALwLlU090ZcV1R18RTT4tCk5lP1abT3Hr+ql41HabS4GfRlCb16+ugpi4TWWibmBj3xehKGQaVYQ==", "dev": true, "requires": { "loader-utils": "1.1.0", - "source-map": "0.5.7", - "typescript": "2.9.2", - "webpack-sources": "1.1.0" + "source-map": "0.5.6", + "typescript": "3.1.6", + "webpack-sources": "1.2.0" }, "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", "dev": true + }, + "webpack-sources": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", + "dev": true, + "requires": { + "source-list-map": "2.0.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } } } }, "@angular-devkit/build-webpack": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.8.4.tgz", - "integrity": "sha512-T1RZusHSpVvorrYVySKDANQSP7vbpyQknpkL+xjiA8DG9Ep/TJbSRuETFFLdyYjPoXvQrXm8d3+twBrZposVdw==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.11.3.tgz", + "integrity": "sha512-Sm1WkuY9JKExEkfEd16DKQhq2LLNqiTTQMX9r+FSy0GF2WW/PG21+lj9/Wb00eNSZdNYTYkgxZGHcFtDGjwvMQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/core": "0.8.4", - "rxjs": "6.2.2" + "@angular-devkit/architect": "0.11.3", + "@angular-devkit/core": "7.1.3", + "rxjs": "6.3.3" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.11.3.tgz", + "integrity": "sha512-Y88itM+UZt7ZJqUa9i74SxC08nhqbrYUZLCztxt5LEOyr4umxBxNV4lRyhNW7iED5jFKifgDZ7dNvdS0F18sWw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.1.3", + "rxjs": "6.3.3" + } + }, "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.1.3.tgz", + "integrity": "sha512-pGBInxmuR5DAhZ1RSfIlkv7cdgh3EDNXXea9ZObEuI9MuFsIWUKODT5oKbRrsOWM6IqwNmx68VEW+xQm2DXyJw==", "dev": true, "requires": { - "ajv": "6.4.0", + "ajv": "6.5.3", "chokidar": "2.0.4", - "rxjs": "6.2.2", - "source-map": "0.5.7" + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" } }, - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "tslib": "1.9.0" + "punycode": "2.1.1" } } } @@ -220,19 +359,19 @@ } }, "@angular-devkit/schematics": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.8.4.tgz", - "integrity": "sha512-Wt2JE/PnwtJiy8yCPEKP//1FnCumXiXX3HU/FosWufDtMga3qc2MWFwrNWlm4GCbpfNbBXj0LuJwfcwi27Hhdg==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.8.8.tgz", + "integrity": "sha512-MXdjdG9KENur1Pu9etAfO5rbO0T5bk5tFWlCxdPr34a/EDy1rkz5taReTSV1Fc5ERWx3Brubws0EB2NrgPkRcw==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", + "@angular-devkit/core": "0.8.8", "rxjs": "6.2.2" }, "dependencies": { "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.8.tgz", + "integrity": "sha512-FDt+ZrKT/pAR74YnbZJQ5Nza+1b5PxGjgvbUtyX63VNxgETTjPa7Oe9Hc6jqW0CekTxHzAFJn79VPRUwKQIocg==", "dev": true, "requires": { "ajv": "6.4.0", @@ -247,7 +386,7 @@ "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } } } @@ -268,36 +407,36 @@ "integrity": "sha512-2njYmuAnmSmMDb60unpnFTLBdNA4gSiDV4U37ciLkbV93D5+EQCKomA92BKQ2BiE6HKfT0tjDLqpYH0AQCBQsA==" }, "@angular/animations": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.9.tgz", - "integrity": "sha512-bPl5fNn4ja1S2Bn4xRT93wYqx0KjvZrX1FjpQltkf9dMmAdVpYj7spy+eYgClAMfZMWv7pa70F+FtSDkWbgRsA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.10.tgz", + "integrity": "sha512-dd/lq7kw3uwfHPICan8psu2nthuUpp7PvMLuNIm0XxObZ4oNs0ls6uxKEDPnEkRKoGdiJpvmsyzZZN9ACMPEAA==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/cli": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.2.4.tgz", - "integrity": "sha512-Jl902wCgiV/tI3QM4W6aadEb2LPIS0t30wfAr+ikz7n2V3j3Ovf9iWM0ds4zZMreZfeoz4rCU/4FaKg1UbJvBA==", + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.2.8.tgz", + "integrity": "sha512-fKaagJJc9xykkj+vQNQy2hn5vvcZaskkvAwNW7FthW28CGb+h19uf6RHsRWpmKvuC5qTxSJQD+OCbIFG8aXADw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", - "@schematics/angular": "0.8.4", - "@schematics/update": "0.8.4", + "@angular-devkit/architect": "0.8.8", + "@angular-devkit/core": "0.8.8", + "@angular-devkit/schematics": "0.8.8", + "@schematics/angular": "0.8.8", + "@schematics/update": "0.8.8", "json-schema-traverse": "0.4.1", - "opn": "5.3.0", + "opn": "5.4.0", "rxjs": "6.2.2", - "semver": "5.5.1", + "semver": "5.6.0", "symbol-observable": "1.2.0", "yargs-parser": "10.1.0" }, "dependencies": { "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.8.tgz", + "integrity": "sha512-FDt+ZrKT/pAR74YnbZJQ5Nza+1b5PxGjgvbUtyX63VNxgETTjPa7Oe9Hc6jqW0CekTxHzAFJn79VPRUwKQIocg==", "dev": true, "requires": { "ajv": "6.4.0", @@ -306,6 +445,12 @@ "source-map": "0.5.7" } }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -318,31 +463,40 @@ "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" } } } }, "@angular/common": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.9.tgz", - "integrity": "sha512-i35FiFxHC/vBfyYEdprgbedxWuimCbqGSdSQpBUE4jNka80EifG2IAHIk/vAG98z7LSUyo6n7nf6iFDY3GrYZA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.10.tgz", + "integrity": "sha512-73xxTSYJNKfiJ7C1Ajg+sz5l8y+blb/vNgHYg7O3yem5zLBnfPpidJ1UGg4W4d2Y+jwUVJbZKh8SKJarqAJVUQ==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/compiler": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.9.tgz", - "integrity": "sha512-TY6axB1c7VvYXf+ebFDq3Ej+edgii3CDxew8HnyTFAWeDF2Gh8io1vTYwtdyDka6U53ASaheM1HpiUjzvYH0jQ==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.10.tgz", + "integrity": "sha512-FPIb2j3zfoBwb6vo/u0gQeu70h8InGlSisBr3xMACs/35/pwB6kbQR+JQiUr0D7k6QApg7AuMkvq8aFNelg0aw==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/compiler-cli": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.9.tgz", - "integrity": "sha512-/+Gh/I40KhwcLKiLpzYzZwPm78O2p6zxJxBmJA3gySCtl6iaxXq7wHvc63wa/6ESSvGWW0/WkZAr3m3GECx5Tg==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.10.tgz", + "integrity": "sha512-GCWdyeNQSnF4RfzO4A0+WHsNEgxKpl5arg4ldLSWMNkj/DrhMD4TnmxhR+IVY+7ieMkUBwpcuWRnjdOdnbmV+w==", "dev": true, "requires": { "chokidar": "1.7.0", @@ -384,7 +538,7 @@ "requires": { "expand-range": "1.8.2", "preserve": "0.2.0", - "repeat-element": "1.1.2" + "repeat-element": "1.1.3" } }, "chokidar": { @@ -401,7 +555,7 @@ "is-binary-path": "1.0.1", "is-glob": "2.0.1", "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "readdirp": "2.2.1" } }, "expand-brackets": { @@ -446,6 +600,15 @@ "is-extglob": "1.0.0" } }, + "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.6" + } + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -470,57 +633,57 @@ } }, "@angular/core": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.9.tgz", - "integrity": "sha512-V4XuBvQtS98guRV0Fq661hG9Ij0+4oWyHvIrnqZckuQ9D1G8NSJyZ/Lfh0kBB1cl+mnGe/J9XN1avW7liswDNQ==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.10.tgz", + "integrity": "sha512-61l3rIQTVdT45eOf6/fBJIeVmV10mcrxqS4N/1OWkuDT29YSJTZSxGcv8QjAyyutuhcqWWpO6gVRkN07rWmkPg==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/forms": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.9.tgz", - "integrity": "sha512-gNwTCA0nzUR4LlXWPdfYBA+chq4X9mvOBo46+M44TevNwEsip6iSZKp7no9O5dquALOZ2HpFRuRkPoH4lXuVYA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.10.tgz", + "integrity": "sha512-zAPx2kMV1/FbP5DrY472Sd/ze1m+GS6T5ullZCtP392r62p2RkwzDCXieR51YiRJjZj3M6c3AcRND7PWBdXT7A==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/http": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.1.9.tgz", - "integrity": "sha512-Tm6SA7QIKGT4Bb+xlyPG+ZXrwniNwF+/ejsKcBar8xaligW4+R9oo5Ql6t4HpjafkWIPLBEXyxaiVq1nWPyz7g==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.1.10.tgz", + "integrity": "sha512-LDsSqyexh8fj23y+G2oSGLWSZVhbxBBo2ehYHnRgH/jlp0pmZVLRaGgUMNSCVtZc1rxLzpEjZjtw+P+qlutAtw==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/language-service": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.1.9.tgz", - "integrity": "sha512-xm3lbJYelyq02iLdS4gpymuHc8WadoPRCYMHW5Ond7kD+05JGt8smYEGOAcjSt0NJrpmkPWnTzlFlXxWYLQNdw==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.1.10.tgz", + "integrity": "sha512-nN29Ovomg21eL8acwOSUFAYwWFI1TuFwUgUu37ZssfVQrYdaV+BFx3yv3P0nKU90h3Hp+oIkWHd8U34UYrvBCg==", "dev": true }, "@angular/platform-browser": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.9.tgz", - "integrity": "sha512-/OpLZxpAQW912DnY4/RX0VLYJJ+TaCWMVP/tg7CBYaPpeJve7GHXfZLSJ1p95RhnSyohTYtdtbHG0NDuG8dgqw==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.10.tgz", + "integrity": "sha512-CB7pqMwtgb7KjdHDAJlsXcs0rrU+2xQVaoOaqEfJtUrKhtGMLaZh8Qoic5l92SoGattkOw7SYarAOsWlAsVfvw==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/platform-browser-dynamic": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.9.tgz", - "integrity": "sha512-PGng7UCrWc5gCNxKo94VSWq0SRdN4jUeTCnX7tEI//Qu+dQPolJkUHPgD9A5UH1pSOEYl/2z+S2bayu+z+9o2w==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.10.tgz", + "integrity": "sha512-DmBSUyFPoyKqkmBXyJ2CrP1oXDioeoBlPA8lmWUDUv2yBuoHIzIkdY/OkTZbdyu/QYa1hK2Jl9OlfoeoenKddg==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@angular/router": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.1.9.tgz", - "integrity": "sha512-FQksj8DiiWiY9o/1Ppq335Lr3d5wW3Odzg3yWC3JgFN37GMdCQxX71TX5ls8JeVspTiOeP9Lty99vDgfIcl+9A==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.1.10.tgz", + "integrity": "sha512-tekI3dkdvd65oMoxjjgRA+16uDgPUBWHhYxids6pgO8vobZNtCo8VaVlcDyLUhdmtS5kONELx0iL5E2M0Y2Bag==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "@babel/code-frame": { @@ -532,58 +695,36 @@ } }, "@babel/core": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", - "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.0.tgz", + "integrity": "sha512-7pvAdC4B+iKjFFp9Ztj0QgBndJ++qaMeonT185wAqUnhipw8idm9Rv1UMyBuKtYjfl6ORNkgEgcsYLfHX/GpLw==", "requires": { "@babel/code-frame": "7.0.0", - "@babel/generator": "7.1.2", - "@babel/helpers": "7.1.2", - "@babel/parser": "7.1.2", + "@babel/generator": "7.2.0", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.0", "@babel/template": "7.1.2", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2", - "convert-source-map": "1.5.1", - "debug": "3.2.5", - "json5": "0.5.1", + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0", + "convert-source-map": "1.6.0", + "debug": "4.1.0", + "json5": "2.1.0", "lodash": "4.17.11", - "resolve": "1.5.0", - "semver": "5.5.1", + "resolve": "1.8.1", + "semver": "5.6.0", "source-map": "0.5.7" - }, - "dependencies": { - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", - "requires": { - "ms": "2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } } }, "@babel/generator": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.2.tgz", - "integrity": "sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.0.tgz", + "integrity": "sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==", "requires": { - "@babel/types": "7.1.2", - "jsesc": "2.5.1", + "@babel/types": "7.2.0", + "jsesc": "2.5.2", "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=" - } } }, "@babel/helper-annotate-as-pure": { @@ -592,7 +733,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -602,7 +743,7 @@ "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "7.1.0", - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-call-delegate": { @@ -612,8 +753,21 @@ "dev": true, "requires": { "@babel/helper-hoist-variables": "7.0.0", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2" + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.1.tgz", + "integrity": "sha512-EsEP7XLFmcJHjcuFYBxYD1FkP0irC8C9fsrt2tX/jrAi/eTnFI6DOPgVFb+WREeg1GboF+Ib+nCHbGBodyAXSg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.1.0" } }, "@babel/helper-define-map": { @@ -623,7 +777,7 @@ "dev": true, "requires": { "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.1.2", + "@babel/types": "7.2.0", "lodash": "4.17.11" } }, @@ -633,8 +787,8 @@ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "dev": true, "requires": { - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2" + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0" } }, "@babel/helper-function-name": { @@ -644,7 +798,7 @@ "requires": { "@babel/helper-get-function-arity": "7.0.0", "@babel/template": "7.1.2", - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-get-function-arity": { @@ -652,7 +806,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-hoist-variables": { @@ -661,7 +815,7 @@ "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "dev": true, "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-member-expression-to-functions": { @@ -670,7 +824,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-module-imports": { @@ -679,7 +833,7 @@ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "dev": true, "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-module-transforms": { @@ -692,7 +846,7 @@ "@babel/helper-simple-access": "7.1.0", "@babel/helper-split-export-declaration": "7.0.0", "@babel/template": "7.1.2", - "@babel/types": "7.1.2", + "@babel/types": "7.2.0", "lodash": "4.17.11" } }, @@ -702,7 +856,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-plugin-utils": { @@ -727,10 +881,10 @@ "dev": true, "requires": { "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-wrap-function": "7.1.0", + "@babel/helper-wrap-function": "7.2.0", "@babel/template": "7.1.2", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2" + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0" } }, "@babel/helper-replace-supers": { @@ -741,8 +895,8 @@ "requires": { "@babel/helper-member-expression-to-functions": "7.0.0", "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2" + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0" } }, "@babel/helper-simple-access": { @@ -752,7 +906,7 @@ "dev": true, "requires": { "@babel/template": "7.1.2", - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-split-export-declaration": { @@ -760,29 +914,29 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.1.2" + "@babel/types": "7.2.0" } }, "@babel/helper-wrap-function": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", - "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "dev": true, "requires": { "@babel/helper-function-name": "7.1.0", "@babel/template": "7.1.2", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2" + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0" } }, "@babel/helpers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", - "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { "@babel/template": "7.1.2", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2" + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0" } }, "@babel/highlight": { @@ -790,178 +944,127 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.2.2", + "chalk": "2.4.1", "esutils": "2.0.2", "js-tokens": "4.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - } } }, "@babel/parser": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.2.tgz", - "integrity": "sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.0.tgz", + "integrity": "sha512-M74+GvK4hn1eejD9lZ7967qAwvqTZayQa3g10ag4s9uewgR7TKjeaT0YMyoq+gVfKYABiWZ4MQD701/t5e1Jhg==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz", - "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", "@babel/helper-remap-async-to-generator": "7.1.0", - "@babel/plugin-syntax-async-generators": "7.0.0" + "@babel/plugin-syntax-async-generators": "7.2.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.1.0.tgz", - "integrity": "sha512-/PCJWN+CKt5v1xcGn4vnuu13QDoV+P7NcICP44BoonAJoPSGwVkgrXihFIQGiEjjPlUDBIw1cM7wYFLARS2/hw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.1.tgz", + "integrity": "sha512-/4FKFChkQ2Jgb8lBDsvFX496YTi7UWTetVgS8oJUpX1e/DlaoeEK57At27ug8Hu2zI2g8bzkJ+8k9qrHZRPGPA==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.1.0", - "@babel/plugin-syntax-class-properties": "7.0.0" + "@babel/helper-create-class-features-plugin": "7.2.1", + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", - "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-json-strings": "7.0.0" + "@babel/plugin-syntax-json-strings": "7.2.0" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", - "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-object-rest-spread": "7.0.0" + "@babel/plugin-syntax-object-rest-spread": "7.2.0" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz", - "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "7.0.0" + "@babel/plugin-syntax-optional-catch-binding": "7.2.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz", - "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", + "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.2.0" - }, - "dependencies": { - "regexpu-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", - "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.4.0", - "regjsparser": "0.3.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" - } - }, - "regjsgen": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", - "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", - "dev": true - }, - "regjsparser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", - "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - } + "regexpu-core": "4.4.0" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", - "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "7.0.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz", - "integrity": "sha512-cR12g0Qzn4sgkjrbrzWy2GE7m9vMl/sFkqZ3gIpAQdrvPDnLM8180i+ANDFIXfjHo9aqp0ccJlQ0QNZcFUbf9w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-json-strings": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", - "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", - "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz", - "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", - "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz", - "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", + "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "dev": true, "requires": { "@babel/helper-module-imports": "7.0.0", @@ -970,18 +1073,18 @@ } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", - "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", - "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", @@ -989,9 +1092,9 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", - "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.0.tgz", + "integrity": "sha512-aPCEkrhJYebDXcGTAP+cdUENkH7zqOlgbKwLbghjjHpJRJBWM/FSlCjMoPGA8oUdiMfOrk3+8EFPLLb5r7zj2w==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "7.0.0", @@ -1001,90 +1104,51 @@ "@babel/helper-plugin-utils": "7.0.0", "@babel/helper-replace-supers": "7.1.0", "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.8.0" - }, - "dependencies": { - "globals": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", - "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", - "dev": true - } + "globals": "11.9.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", - "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.2.tgz", - "integrity": "sha512-cvToXvp/OsYxtEn57XJu9BvsGSEYjAh9UeUuXpoi7x6QHB7YdWyQ4lRU/q0Fu1IJNT0o0u4FQ1DMQBzJ8/8vZg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", + "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz", - "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", + "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.2.0" - }, - "dependencies": { - "regexpu-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", - "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.4.0", - "regjsparser": "0.3.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" - } - }, - "regjsgen": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", - "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", - "dev": true - }, - "regjsparser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", - "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - } + "regexpu-core": "4.4.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", - "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", + "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz", - "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", @@ -1092,18 +1156,18 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", - "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz", - "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", + "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "dev": true, "requires": { "@babel/helper-function-name": "7.1.0", @@ -1111,18 +1175,18 @@ } }, "@babel/plugin-transform-literals": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", - "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz", - "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", + "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", "dev": true, "requires": { "@babel/helper-module-transforms": "7.1.0", @@ -1130,9 +1194,9 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz", - "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", + "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "dev": true, "requires": { "@babel/helper-module-transforms": "7.1.0", @@ -1141,9 +1205,9 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz", - "integrity": "sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", + "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==", "dev": true, "requires": { "@babel/helper-hoist-variables": "7.0.0", @@ -1151,9 +1215,9 @@ } }, "@babel/plugin-transform-modules-umd": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz", - "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", "dev": true, "requires": { "@babel/helper-module-transforms": "7.1.0", @@ -1170,9 +1234,9 @@ } }, "@babel/plugin-transform-object-super": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz", - "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", + "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", @@ -1180,9 +1244,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz", - "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", + "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "dev": true, "requires": { "@babel/helper-call-delegate": "7.1.0", @@ -1199,57 +1263,28 @@ "regenerator-transform": "0.13.3" } }, - "@babel/plugin-transform-runtime": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.1.0.tgz", - "integrity": "sha512-WFLMgzu5DLQEah0lKTJzYb14vd6UiES7PTnXcvrPZ1VrwFeJ+mTbvr65fFAsXYMt2bIoOoC0jk76zY1S7HZjUg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "resolve": "1.8.1", - "semver": "5.5.1" - }, - "dependencies": { - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", - "dev": true - } - } - }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", - "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", - "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.0.tgz", + "integrity": "sha512-7TtPIdwjS/i5ZBlNiQePQCovDh9pAhVbp/nGVRBZuUdBiVRThyyLend3OHobc0G+RLCPPAN70+z/MAMhsgJd/A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", - "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", @@ -1257,9 +1292,9 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", - "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", + "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "7.0.0", @@ -1267,134 +1302,78 @@ } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", - "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", - "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", + "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.2.0" - }, - "dependencies": { - "regexpu-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", - "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", - "dev": true, - "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.4.0", - "regjsparser": "0.3.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" - } - }, - "regjsgen": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", - "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", - "dev": true - }, - "regjsparser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", - "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", - "dev": true, - "requires": { - "jsesc": "0.5.0" - } - } + "regexpu-core": "4.4.0" } }, "@babel/preset-env": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", - "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.2.0.tgz", + "integrity": "sha512-haGR38j5vOGVeBatrQPr3l0xHbs14505DcM57cbJy48kgMFvvHHoYEhHuRV+7vi559yyAUAVbTWzbK/B/pzJng==", "dev": true, "requires": { "@babel/helper-module-imports": "7.0.0", "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-proposal-async-generator-functions": "7.1.0", - "@babel/plugin-proposal-json-strings": "7.0.0", - "@babel/plugin-proposal-object-rest-spread": "7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "7.0.0", - "@babel/plugin-syntax-async-generators": "7.0.0", - "@babel/plugin-syntax-object-rest-spread": "7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "7.0.0", - "@babel/plugin-transform-arrow-functions": "7.0.0", - "@babel/plugin-transform-async-to-generator": "7.1.0", - "@babel/plugin-transform-block-scoped-functions": "7.0.0", - "@babel/plugin-transform-block-scoping": "7.0.0", - "@babel/plugin-transform-classes": "7.1.0", - "@babel/plugin-transform-computed-properties": "7.0.0", - "@babel/plugin-transform-destructuring": "7.1.2", - "@babel/plugin-transform-dotall-regex": "7.0.0", - "@babel/plugin-transform-duplicate-keys": "7.0.0", - "@babel/plugin-transform-exponentiation-operator": "7.1.0", - "@babel/plugin-transform-for-of": "7.0.0", - "@babel/plugin-transform-function-name": "7.1.0", - "@babel/plugin-transform-literals": "7.0.0", - "@babel/plugin-transform-modules-amd": "7.1.0", - "@babel/plugin-transform-modules-commonjs": "7.1.0", - "@babel/plugin-transform-modules-systemjs": "7.0.0", - "@babel/plugin-transform-modules-umd": "7.1.0", + "@babel/plugin-proposal-async-generator-functions": "7.2.0", + "@babel/plugin-proposal-json-strings": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "7.2.0", + "@babel/plugin-syntax-async-generators": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-async-to-generator": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.0", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-dotall-regex": "7.2.0", + "@babel/plugin-transform-duplicate-keys": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-amd": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-modules-systemjs": "7.2.0", + "@babel/plugin-transform-modules-umd": "7.2.0", "@babel/plugin-transform-new-target": "7.0.0", - "@babel/plugin-transform-object-super": "7.1.0", - "@babel/plugin-transform-parameters": "7.1.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-shorthand-properties": "7.0.0", - "@babel/plugin-transform-spread": "7.0.0", - "@babel/plugin-transform-sticky-regex": "7.0.0", - "@babel/plugin-transform-template-literals": "7.0.0", - "@babel/plugin-transform-typeof-symbol": "7.0.0", - "@babel/plugin-transform-unicode-regex": "7.0.0", - "browserslist": "4.1.2", - "invariant": "2.2.2", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.0", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typeof-symbol": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "browserslist": "4.3.5", + "invariant": "2.2.4", "js-levenshtein": "1.1.4", - "semver": "5.5.1" - }, - "dependencies": { - "browserslist": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.2.tgz", - "integrity": "sha512-docXmVcYth9AiW5183dEe2IxnbmpXF4jiM6efGBVRAli/iDSS894Svvjenrv5NPqAJ4dEJULmT4MSvmLG9qoYg==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000888", - "electron-to-chromium": "1.3.73", - "node-releases": "1.0.0-alpha.12" - } - }, - "caniuse-lite": { - "version": "1.0.30000888", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz", - "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.73.tgz", - "integrity": "sha512-6PIg7v9zRoVGh6EheRF8h6Plti+3Yo/qtHobS4/Htyt53DNHmKKGFqSae1AIk0k1S4gCQvt7I2WgpbuZNcDY+g==", - "dev": true - } + "semver": "5.6.0" } }, "@babel/runtime": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", - "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "dev": true, "requires": { "regenerator-runtime": "0.12.1" @@ -1414,60 +1393,84 @@ "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", "requires": { "@babel/code-frame": "7.0.0", - "@babel/parser": "7.1.2", - "@babel/types": "7.1.2" + "@babel/parser": "7.2.0", + "@babel/types": "7.2.0" } }, "@babel/traverse": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", - "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.6.tgz", + "integrity": "sha512-CXedit6GpISz3sC2k2FsGCUpOhUqKdyL0lqNrImQojagnUMXf8hex4AxYFRuMkNGcvJX5QAFGzB5WJQmSv8SiQ==", "requires": { "@babel/code-frame": "7.0.0", - "@babel/generator": "7.1.2", + "@babel/generator": "7.2.0", "@babel/helper-function-name": "7.1.0", "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.1.2", - "@babel/types": "7.1.2", - "debug": "3.2.5", - "globals": "11.8.0", + "@babel/parser": "7.2.0", + "@babel/types": "7.2.0", + "debug": "4.1.0", + "globals": "11.9.0", "lodash": "4.17.11" + } + }, + "@babel/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.0.tgz", + "integrity": "sha512-b4v7dyfApuKDvmPb+O488UlGuR1WbwMXFsO/cyqMrnfvRAChZKJAYeeglWTjUO1b9UghKKgepAQM5tsvBJca6A==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" + } + }, + "@compodoc/ngd-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@compodoc/ngd-core/-/ngd-core-2.0.0.tgz", + "integrity": "sha512-6HpYvXRZBdIYFojWxW5EVNkhYPmblytCve62CNoYBSWfy++vTGH7Ypg2Bhjg2CsqeV8JOVxrPO7JM9M3MgWKEA==", + "requires": { + "ansi-colors": "1.1.0", + "fancy-log": "1.3.3", + "typescript": "2.9.2" }, "dependencies": { - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "ansi-colors": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ms": "2.1.1" + "ansi-wrap": "0.1.0" } - }, - "globals": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", - "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==" - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, - "@babel/types": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.2.tgz", - "integrity": "sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg==", + "@compodoc/ngd-transformer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@compodoc/ngd-transformer/-/ngd-transformer-2.0.0.tgz", + "integrity": "sha512-9J0KkmuuuvDHxH0oREgrgbqdEFqcltQXIBofeYdIyMKzI3A+pN1Ji4zfi7x1ql0Ax7qQKemp8XWP+cCpP0qY+w==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "@compodoc/ngd-core": "2.0.0", + "dot": "1.1.2", + "fs-extra": "4.0.3", + "viz.js": "1.8.2" }, "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "4.1.15" + } } } }, @@ -1598,56 +1601,122 @@ "integrity": "sha512-QsYGKdhhuDFNq7bjm2r44y0mp5xW3uO3csuTPDWZc0OIiMQv+AIY5Cqwd4mJiC5N8estVl7qlvOx1hbtOuUWbw==", "dev": true }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, "@ngtools/webpack": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-6.2.4.tgz", - "integrity": "sha512-DQLYU1P733eW6gmHKvIEXUOuqqrdrHrqIh3G2QwHQvhfPP5/TI0A9MKZbftb+jlTk6YeHsTYRfDGObPv8OlvxA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.1.3.tgz", + "integrity": "sha512-WQB4La834DyRjZxT15w9IuwohgOwpJWBI5V6jWl1vBn3/oBUW5sMhq1fx/iclOLJBw8xCOl7Ni57g+H2WlK6Mg==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", - "rxjs": "6.2.2", + "@angular-devkit/core": "7.1.3", + "enhanced-resolve": "4.1.0", + "rxjs": "6.3.3", "tree-kill": "1.2.0", - "webpack-sources": "1.1.0" + "webpack-sources": "1.2.0" }, "dependencies": { "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.1.3.tgz", + "integrity": "sha512-pGBInxmuR5DAhZ1RSfIlkv7cdgh3EDNXXea9ZObEuI9MuFsIWUKODT5oKbRrsOWM6IqwNmx68VEW+xQm2DXyJw==", "dev": true, "requires": { - "ajv": "6.4.0", + "ajv": "6.5.3", "chokidar": "2.0.4", - "rxjs": "6.2.2", - "source-map": "0.5.7" + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" } }, - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, + "webpack-sources": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", "dev": true, "requires": { - "tslib": "1.9.0" + "source-list-map": "2.0.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } } } }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, "@schematics/angular": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.8.4.tgz", - "integrity": "sha512-a85I7I7gYsmHRRnoNsCAa8ZlznIqnFjnOabVO6Z41XjUh57kOeWfLl7BQpd1CubvHu7q+juQXjBu1J+F4H/cOw==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.8.8.tgz", + "integrity": "sha512-9Br6gX6iZ4JRIVE4fN+Glt1KaiXxmPMBwhXWCjGJ1HFe2k3iG/6ejFtHfrSr5NIZqji/wiWS0SARCJDngq0dyQ==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", + "@angular-devkit/core": "0.8.8", + "@angular-devkit/schematics": "0.8.8", "typescript": "2.9.2" }, "dependencies": { "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.8.tgz", + "integrity": "sha512-FDt+ZrKT/pAR74YnbZJQ5Nza+1b5PxGjgvbUtyX63VNxgETTjPa7Oe9Hc6jqW0CekTxHzAFJn79VPRUwKQIocg==", "dev": true, "requires": { "ajv": "6.4.0", @@ -1662,35 +1731,29 @@ "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } - }, - "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", - "dev": true } } }, "@schematics/update": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.8.4.tgz", - "integrity": "sha512-iJkJZurP0FV1PPRUBmlrxxdp4JgDnzm573y4WAnleHb5IJlDME79WoGC8wNemxeuHQUMvZbZQrzgmdmzqU83GA==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.8.8.tgz", + "integrity": "sha512-Ir0DmhIRheTIohpPqOZ+90y80hkz/pHJwWvi+iTiVQFmenCN/vuNtZWwxsj6WqOA+POwWlIxqdVsOsqvgWZV0A==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", + "@angular-devkit/core": "0.8.8", + "@angular-devkit/schematics": "0.8.8", "npm-registry-client": "8.6.0", "rxjs": "6.2.2", - "semver": "5.5.1", + "semver": "5.6.0", "semver-intersect": "1.4.0" }, "dependencies": { "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.8.tgz", + "integrity": "sha512-FDt+ZrKT/pAR74YnbZJQ5Nza+1b5PxGjgvbUtyX63VNxgETTjPa7Oe9Hc6jqW0CekTxHzAFJn79VPRUwKQIocg==", "dev": true, "requires": { "ajv": "6.4.0", @@ -1705,87 +1768,77 @@ "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } } } }, "@storybook/addon-actions": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-4.0.0-alpha.23.tgz", - "integrity": "sha512-d1X6YvoilfR5xKx1/A48boQ4aZPkcMj4XrRxlNrMedlWygcOUz5siDb/HVNhza2rYLVnFgzNGLy3Y4hCpu/Ggw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-4.1.1.tgz", + "integrity": "sha512-lSPvoZbjg7o3l9UFCIPNkyGOXa8lgdq/bXcue02yTsYHp/luRLBNfQ4mn1J6hoIePcaYMLhReNbaApFhb5DHJQ==", "dev": true, "requires": { "@emotion/core": "0.13.1", "@emotion/provider": "0.11.2", "@emotion/styled": "0.10.6", - "@storybook/addons": "4.0.0-alpha.23", - "@storybook/components": "4.0.0-alpha.23", - "@storybook/core-events": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "@storybook/components": "4.1.1", + "@storybook/core-events": "4.1.1", + "core-js": "2.6.0", "deep-equal": "1.0.1", "global": "4.3.2", - "lodash.isequal": "4.5.0", + "lodash": "4.17.11", "make-error": "1.3.5", "prop-types": "15.6.2", - "react-inspector": "2.3.0", + "react-inspector": "2.3.1", "uuid": "3.3.2" - }, - "dependencies": { - "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } } }, "@storybook/addon-backgrounds": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-4.0.0-alpha.23.tgz", - "integrity": "sha512-TMCUqirAEiXugH6fhHtoCnU20fAxoC32OsSS5meO2WYeE7eSHbMRQMA2CAqjG/XcczTCyRCfT9paPj9iHn4gWA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-4.1.1.tgz", + "integrity": "sha512-XHelGSXNlw3PFWHtjevwHV+PRd2TMFSuNmUSz3qfRn62ttdCty/vn5Xxfsg57zc2fvadpU6hVAbMsUdJuKjaBQ==", "dev": true, "requires": { "@emotion/styled": "0.10.6", - "@storybook/addons": "4.0.0-alpha.23", - "@storybook/core-events": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "@storybook/core-events": "4.1.1", + "core-js": "2.6.0", + "eventemitter3": "3.1.0", "global": "4.3.2", "prop-types": "15.6.2", "util-deprecate": "1.0.2" } }, "@storybook/addon-centered": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-centered/-/addon-centered-4.0.0-alpha.23.tgz", - "integrity": "sha512-2U2IPopBZdks5ZOOidzYZIQF6dAWAdE3rZsNN+fr7Atzr4qlPTyj+KfVTWYb1Ip2J4CO8Zl27ngEQbT3Wq+FyA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-centered/-/addon-centered-4.1.1.tgz", + "integrity": "sha512-3Ea0ML2GSOyklC1hpUAY3VF7LpYijnD9L0bDpVDr2mEnq7lecs1Ts3qWyusPilcYbpXK03VIee20H6dPVMUxJA==", "dev": true, "requires": { + "core-js": "2.6.0", "global": "4.3.2" } }, "@storybook/addon-knobs": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-4.0.0-alpha.23.tgz", - "integrity": "sha512-hXRsB3YonSFQIPdpJ8H0j2O5TW3xF8ES5FxZ807lOvcoB+XKahFqbKphv+sgmriNK4E9PiDisPcJGBxz6CBduw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-4.1.1.tgz", + "integrity": "sha512-SmXdN8YTGkWijKZeQw/0IkfP7pkLaywlKmrb/6eyb6fCqwhdY9pPmAxiWPBwmBjozQPYcYkAzWi8lANuehDt2g==", "dev": true, "requires": { "@emotion/styled": "0.10.6", - "@storybook/addons": "4.0.0-alpha.23", - "@storybook/components": "4.0.0-alpha.23", - "@storybook/core-events": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "@storybook/components": "4.1.1", + "@storybook/core-events": "4.1.1", "copy-to-clipboard": "3.0.8", + "core-js": "2.6.0", "escape-html": "1.0.3", "fast-deep-equal": "2.0.1", "global": "4.3.2", "prop-types": "15.6.2", "qs": "6.5.2", "react-color": "2.14.1", - "react-datetime": "2.15.0", "react-lifecycles-compat": "3.0.4", "util-deprecate": "1.0.2" }, @@ -1799,1559 +1852,308 @@ } }, "@storybook/addon-links": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-4.0.0-alpha.23.tgz", - "integrity": "sha512-4pxjfenKzT4eZ1wjfOe4bV3DOz27tHfoHW88Tv6a21MzZ+OIlLxFsGSdalk6dwjT84rOan+cgrHKlkXLM2qPSw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-4.1.1.tgz", + "integrity": "sha512-3CXymEawhm1IoDLBj8eK01mPyuyy4T3sNBNsvxmXRJTT6qm7iZX18QBFGWOOX99RHcyadBA5d8B9OGSeL9WpgQ==", "dev": true, "requires": { - "@storybook/addons": "4.0.0-alpha.23", - "@storybook/components": "4.0.0-alpha.23", - "@storybook/core-events": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "@storybook/components": "4.1.1", + "@storybook/core-events": "4.1.1", + "core-js": "2.6.0", "global": "4.3.2", "prop-types": "15.6.2" } }, "@storybook/addon-notes": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-notes/-/addon-notes-4.0.0-alpha.23.tgz", - "integrity": "sha512-g5yZiDXhYqtaoIXTVIWrlOdjvUJfxlq9IUD/4i2pCff0G9vAthyPM2gHDAbaFV59V89GYa4wELw5Q1mEj2NoTQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-notes/-/addon-notes-4.1.1.tgz", + "integrity": "sha512-s6KMYLkpFEp63IwSI40m7rY/72Jsh49YCBRb+VU3R/jmPRlnVZG/ayhCfp9M3zcQOmLkohG99I5A55TqjiRqjw==", "dev": true, "requires": { "@emotion/styled": "0.10.6", - "@storybook/addons": "4.0.0-alpha.23", - "marked": "0.5.1", + "@storybook/addons": "4.1.1", + "core-js": "2.6.0", + "marked": "0.5.2", "prop-types": "15.6.2" } }, "@storybook/addon-options": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-options/-/addon-options-4.0.0-alpha.23.tgz", - "integrity": "sha512-QDUE+yuKr6iSoKOGG8WJWZ7jJW1sJmTtpuGGpFXGcJjDV/q2CS4qvVigWYf3+cuvQisUusxG9+cX/gcIDFgA/A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-options/-/addon-options-4.1.1.tgz", + "integrity": "sha512-ZZlKQs2Z4vipgUqzSBfL1XBRJCnkCpuwGTkQgYJdQotnKJyCALpCxofXtYtWyDRIDXP+dBXEtio7SQM+cHO2Mw==", "dev": true, "requires": { - "@storybook/addons": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "core-js": "2.6.0", "util-deprecate": "1.0.2" } }, "@storybook/addon-storysource": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-4.0.0-alpha.23.tgz", - "integrity": "sha512-+VRMy8WKO9QF5uDN9/5aCc0MD9F2XoVdIA5sZhffZKJ7JdD3zbyJX+5RJqhZm44NU4BDQqc7/Er3ZBmGjCN6cA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-storysource/-/addon-storysource-4.1.1.tgz", + "integrity": "sha512-pSBOsjT+MLUmMrgaZc477TAamH9F5NHUifSbhEtaioeu4BmsKx4N3nKEshpkpOzmpRMP7WTHEb5MMqIuU+d+zA==", "dev": true, "requires": { - "@babel/runtime": "7.1.2", - "@storybook/addons": "4.0.0-alpha.23", - "@storybook/components": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "@storybook/components": "4.1.1", + "core-js": "2.6.0", "estraverse": "4.2.0", "loader-utils": "1.1.0", - "prettier": "1.14.3", + "prettier": "1.15.3", "prop-types": "15.6.2", - "react-syntax-highlighter": "8.0.1" + "react-syntax-highlighter": "10.1.2", + "regenerator-runtime": "0.12.1" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", + "dev": true + } } }, "@storybook/addons": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-4.0.0-alpha.23.tgz", - "integrity": "sha512-gYEQ31bg8/vEb/Pijzogzd4Z2pJoE0PD+rS7ywGWVjDCIb8PUJ8TL++bN3G6BDGwZVYGh7BKwDUS4l031NBaCg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-4.1.1.tgz", + "integrity": "sha512-Q6d754uRHBEf2aUCyAgIfL4JF0RZ6Yf/FcZYXKG1MsKVLonbRVSGjsm+R4wsndjvnZF3Ts37WhpZ/1fGP78Zzg==", "dev": true, "requires": { - "@storybook/channels": "4.0.0-alpha.23", - "@storybook/components": "4.0.0-alpha.23", + "@storybook/channels": "4.1.1", + "@storybook/components": "4.1.1", "global": "4.3.2", "util-deprecate": "1.0.2" } }, "@storybook/angular": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-4.0.0-alpha.23.tgz", - "integrity": "sha512-SdJI7YVxirjvLgQV9yDXlk1jPe3hrrz5x/7rJpNAjN2EbYrT1oO5dPtQ0MvrGTSIuoVNgiALXM1ICFAPHBVwfw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-4.1.1.tgz", + "integrity": "sha512-73aEiyRWX8b19a00Ms/UdeTCxr2RQRlkp3VP2+IBHHBL0lWXKxhsdyLAp/FvV0ltsCnDYt1iWE9BkqRHT3vuPg==", "dev": true, "requires": { - "@babel/runtime": "7.1.2", - "@storybook/core": "4.0.0-alpha.23", - "@storybook/node-logger": "4.0.0-alpha.23", + "@storybook/core": "4.1.1", + "@storybook/node-logger": "4.1.1", "angular2-template-loader": "0.6.2", - "core-js": "2.5.7", - "fork-ts-checker-webpack-plugin": "0.4.9", + "core-js": "2.6.0", + "fork-ts-checker-webpack-plugin": "0.4.15", "global": "4.3.2", - "react": "16.5.2", - "react-dom": "16.5.2", + "react": "16.6.3", + "react-dom": "16.6.3", + "regenerator-runtime": "0.12.1", "sass-loader": "7.1.0", - "ts-loader": "4.5.0", - "webpack": "4.20.2", - "zone.js": "0.8.26" + "ts-loader": "5.3.1", + "tsconfig-paths-webpack-plugin": "3.2.0", + "webpack": "4.23.1" }, "dependencies": { - "@webassemblyjs/ast": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", - "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", - "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", - "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", - "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.7.8" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", - "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", - "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==", + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", - "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8" - } - }, - "@webassemblyjs/leb128": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", - "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.1" - } - }, - "@webassemblyjs/wasm-edit": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", - "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/helper-wasm-section": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-opt": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "@webassemblyjs/wast-printer": "1.7.8" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", - "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", - "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", - "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", - "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/floating-point-hex-parser": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-code-frame": "1.7.8", - "@webassemblyjs/helper-fsm": "1.7.8", - "@xtuc/long": "4.2.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", - "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8", - "@xtuc/long": "4.2.1" - } - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "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.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "1.9.0" - } - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", - "dev": true - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "tapable": "1.1.0" - } - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", - "dev": true, - "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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.6" - } - } - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", - "dev": true, - "requires": { - "clone-deep": "2.0.2", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "neo-async": "2.5.1", - "pify": "3.0.0", - "semver": "5.5.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", - "dev": true - }, - "webpack": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz", - "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/wasm-edit": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "acorn": "5.7.3", - "acorn-dynamic-import": "3.0.0", - "ajv": "6.4.0", - "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.1.0", - "eslint-scope": "4.0.0", - "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "neo-async": "2.5.1", - "node-libs-browser": "2.1.0", - "schema-utils": "0.4.5", - "tapable": "1.1.0", - "uglifyjs-webpack-plugin": "1.2.5", - "watchpack": "1.6.0", - "webpack-sources": "1.3.0" - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" - } } } }, "@storybook/channel-postmessage": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-4.0.0-alpha.23.tgz", - "integrity": "sha512-ieUhtQ9Kh7VNzW4l2ka8A+EyIPfCocpqnzy9lLcAYO8v3mIN6F/UrPDb3e/yxU7JSDFAnCZNLJpIcXDKehLifw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-4.1.1.tgz", + "integrity": "sha512-wCw0ZH4UHq+noC6LQz/9FvjIak0f2jMvrj8c+RchERR1IbpXqMPQ6MQbdRTnG/HPbGu2+DMB+XikK8k7ZSSVpg==", "dev": true, "requires": { - "@storybook/channels": "4.0.0-alpha.23", + "@storybook/channels": "4.1.1", "global": "4.3.2", "json-stringify-safe": "5.0.1" } }, "@storybook/channels": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-4.0.0-alpha.23.tgz", - "integrity": "sha512-2INU0L6SEQgQCbZkiieORkVE/0W0gXVv/9CdGEGFPi/KrE0rxYL1Qi6Qr6fT2T8lfy9HFXalcgPHI7VaeWaN9g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-4.1.1.tgz", + "integrity": "sha512-ILOi+y9wtqOP7cYcVNBCx8vYTXsObz6O9jFKxQKL55lbnlUqyRVTEf4qlA1ilkZqPBM7PwtZs+zX31hgJfWYog==", "dev": true }, "@storybook/client-logger": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-4.0.0-alpha.23.tgz", - "integrity": "sha512-jTTHU0m0oiYyZqvKVQ9N6S4yO32le2xvWYOxICwYLEtOw5bDtcfLu1gifoKRECEZGc3xINjFlFnBDmihrDHbLg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-4.1.1.tgz", + "integrity": "sha512-NrxQGqrNL2vQjDhkvcMIhDte/FNkAziBdeY1tt5WB9fOZMHxruPamp/lag3XW7G1AiHLk3R4M07kLqBExXZZGQ==", "dev": true }, "@storybook/components": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-4.0.0-alpha.23.tgz", - "integrity": "sha512-z1gWhMujEd6XizV/yXLsqHzWYEPtrHnPsaASJU6BXVLHnueiIKuZuJolDBKSAbK4vRgoiMsEHnxrKxHEliNtgQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-4.1.1.tgz", + "integrity": "sha512-dJE1vKg8NOiWt/FpQ60ym7xn+WcVkoiUeXG8vXPFxOqcI00yZizHtwJexWT6ltX8u7i2ODF6IU9dyUI3L2nOyQ==", "dev": true, "requires": { "@emotion/core": "0.13.1", "@emotion/provider": "0.11.2", "@emotion/styled": "0.10.6", "global": "4.3.2", - "lodash.pick": "4.4.0", - "lodash.throttle": "4.1.1", + "lodash": "4.17.11", "prop-types": "15.6.2", - "react-inspector": "2.3.0", - "react-split-pane": "0.1.84", - "react-textarea-autosize": "7.0.4", + "react-inspector": "2.3.1", + "react-split-pane": "0.1.85", + "react-textarea-autosize": "7.1.0", "render-fragment": "0.1.1" } }, "@storybook/core": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-4.0.0-alpha.23.tgz", - "integrity": "sha512-3yHHcDQD3VDfxEJ+CfZzNWj29frHRfF2hbSFQQQYtT9rUubu9JRRqEOLY543ZiMnWICdut5tBVVp3y+clE3ojA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-4.1.1.tgz", + "integrity": "sha512-rTAliMTFzWuNxcDBxK776A8ko2Z2FuSY4WHTQG3+aCYzRJdML7Td6u1HK11GpiMmjXi7duePIvrm+4Ljlpm/kQ==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "7.1.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.1.0", - "@babel/preset-env": "7.1.0", - "@babel/runtime": "7.1.2", + "@babel/plugin-proposal-class-properties": "7.2.1", + "@babel/preset-env": "7.2.0", "@emotion/core": "0.13.1", "@emotion/provider": "0.11.2", "@emotion/styled": "0.10.6", - "@storybook/addons": "4.0.0-alpha.23", - "@storybook/channel-postmessage": "4.0.0-alpha.23", - "@storybook/client-logger": "4.0.0-alpha.23", - "@storybook/core-events": "4.0.0-alpha.23", - "@storybook/node-logger": "4.0.0-alpha.23", - "@storybook/ui": "4.0.0-alpha.23", + "@storybook/addons": "4.1.1", + "@storybook/channel-postmessage": "4.1.1", + "@storybook/client-logger": "4.1.1", + "@storybook/core-events": "4.1.1", + "@storybook/node-logger": "4.1.1", + "@storybook/ui": "4.1.1", "airbnb-js-shims": "2.1.1", - "autoprefixer": "9.1.5", + "autoprefixer": "9.3.1", "babel-plugin-macros": "2.4.2", "babel-preset-minify": "0.5.0", + "boxen": "2.0.0", "case-sensitive-paths-webpack-plugin": "2.1.2", "chalk": "2.4.1", - "commander": "2.18.0", - "core-js": "2.5.7", - "css-loader": "1.0.0", - "detect-port": "1.2.3", + "child-process-promise": "2.2.1", + "cli-table3": "0.5.1", + "commander": "2.19.0", + "common-tags": "1.8.0", + "core-js": "2.6.0", + "css-loader": "1.0.1", + "detect-port": "1.3.0", "dotenv-webpack": "1.5.7", "ejs": "2.6.1", - "express": "4.16.3", + "eventemitter3": "3.1.0", + "express": "4.16.4", "file-loader": "2.0.0", + "file-system-cache": "1.0.5", "find-cache-dir": "2.0.0", - "generate-page-webpack-plugin": "1.1.1", + "fs-extra": "7.0.1", "global": "4.3.2", - "inquirer": "6.2.0", + "html-webpack-plugin": "4.0.0-beta.5", + "inquirer": "6.2.1", "interpret": "1.1.0", + "ip": "1.1.5", "json5": "2.1.0", - "opn": "5.3.0", + "lazy-universal-dotenv": "2.0.0", + "node-fetch": "2.3.0", + "opn": "5.4.0", "postcss-flexbugs-fixes": "4.1.0", "postcss-loader": "3.0.0", + "pretty-hrtime": "1.0.3", "prop-types": "15.6.2", "qs": "6.5.2", "raw-loader": "0.5.1", - "react-dev-utils": "6.0.0-next.2150693d", - "redux": "4.0.0", + "react-dev-utils": "6.1.1", + "redux": "4.0.1", + "regenerator-runtime": "0.12.1", "resolve": "1.8.1", - "semver": "5.5.1", + "semver": "5.6.0", "serve-favicon": "2.5.0", - "shelljs": "0.8.2", - "style-loader": "0.23.0", + "shelljs": "0.8.3", + "spawn-promise": "0.1.8", + "style-loader": "0.23.1", "svg-url-loader": "2.3.2", - "universal-dotenv": "1.9.1", - "url-loader": "1.1.1", - "webpack": "4.20.2", + "terser-webpack-plugin": "1.1.0", + "url-loader": "1.1.2", + "webpack": "4.23.1", "webpack-dev-middleware": "3.4.0", - "webpack-hot-middleware": "2.24.2" + "webpack-hot-middleware": "2.24.3" }, "dependencies": { - "@webassemblyjs/ast": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", - "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", - "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", - "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", - "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.7.8" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", - "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", - "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==", + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", - "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8" - } - }, - "@webassemblyjs/leb128": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", - "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", + "find-cache-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", + "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", "dev": true, "requires": { - "@xtuc/long": "4.2.1" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "3.0.0" } }, - "@webassemblyjs/wasm-edit": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", - "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/helper-wasm-section": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-opt": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "@webassemblyjs/wast-printer": "1.7.8" + "locate-path": "3.0.0" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", - "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "p-locate": "3.0.0", + "path-exists": "3.0.0" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", - "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8" + "p-try": "2.0.0" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", - "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "p-limit": "2.0.0" } }, - "@webassemblyjs/wast-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", - "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/floating-point-hex-parser": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-code-frame": "1.7.8", - "@webassemblyjs/helper-fsm": "1.7.8", - "@xtuc/long": "4.2.1" - } + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true }, - "@webassemblyjs/wast-printer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", - "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8", - "@xtuc/long": "4.2.1" + "find-up": "3.0.0" } }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", "dev": true - }, - "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 - }, - "autoprefixer": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.5.tgz", - "integrity": "sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw==", - "dev": true, - "requires": { - "browserslist": "4.1.2", - "caniuse-lite": "1.0.30000888", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "7.0.5", - "postcss-value-parser": "3.3.0" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "browserslist": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.2.tgz", - "integrity": "sha512-docXmVcYth9AiW5183dEe2IxnbmpXF4jiM6efGBVRAli/iDSS894Svvjenrv5NPqAJ4dEJULmT4MSvmLG9qoYg==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000888", - "electron-to-chromium": "1.3.73", - "node-releases": "1.0.0-alpha.12" - } - }, - "caniuse-lite": { - "version": "1.0.30000888", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz", - "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" - } - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "1.9.0" - } - }, - "commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", - "dev": true - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", - "dev": true - }, - "cosmiconfig": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", - "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", - "dev": true, - "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.12.0", - "parse-json": "4.0.0", - "require-from-string": "2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.73.tgz", - "integrity": "sha512-6PIg7v9zRoVGh6EheRF8h6Plti+3Yo/qtHobS4/Htyt53DNHmKKGFqSae1AIk0k1S4gCQvt7I2WgpbuZNcDY+g==", - "dev": true - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "tapable": "1.1.0" - } - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", - "dev": true, - "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "file-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", - "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "schema-utils": "1.0.0" - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "3.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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.6" - } - } - } - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.1" - } - }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "1.2.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.2" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "3.0.0" - } - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.5.0" - } - }, - "postcss-load-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", - "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", - "dev": true, - "requires": { - "cosmiconfig": "4.0.0", - "import-cwd": "2.1.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "postcss": "7.0.5", - "postcss-load-config": "2.0.0", - "schema-utils": "1.0.0" - } - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" - } - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "style-loader": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.0.tgz", - "integrity": "sha512-uCcN7XWHkqwGVt7skpInW6IGO1tG6ReyFQ1Cseh0VcN6VdcFQi62aG/2F3Y9ueA8x4IVlfaSUxpmQXQD9QrEuQ==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.7" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - }, - "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", - "dev": true - }, - "url-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.1.tgz", - "integrity": "sha512-vugEeXjyYFBCUOpX+ZuaunbK3QXMKaQ3zUnRfIpRBlGkY7QizCnzyyn2ASfcxsvyU3ef+CJppVywnl3Kgf13Gg==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "2.3.1", - "schema-utils": "1.0.0" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "webpack": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz", - "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/wasm-edit": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "acorn": "5.7.3", - "acorn-dynamic-import": "3.0.0", - "ajv": "6.4.0", - "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.1.0", - "eslint-scope": "4.0.0", - "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "micromatch": "3.1.10", - "mkdirp": "0.5.1", - "neo-async": "2.5.1", - "node-libs-browser": "2.1.0", - "schema-utils": "0.4.7", - "tapable": "1.1.0", - "uglifyjs-webpack-plugin": "1.2.5", - "watchpack": "1.6.0", - "webpack-sources": "1.3.0" - }, - "dependencies": { - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", - "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "2.3.1", - "range-parser": "1.2.0", - "webpack-log": "2.0.0" - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "3.1.0", - "uuid": "3.3.2" - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" - } } } }, "@storybook/core-events": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-4.0.0-alpha.23.tgz", - "integrity": "sha512-mCraQOY7CyVH+0d2eFPpVlYmUyXYiJJI//Sc7eYMwCTU9K/5OnXRcmXmkU3eXPyjwtYTbdle9FnPBAdOfTrX7g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-4.1.1.tgz", + "integrity": "sha512-XEEjzXjteTtRy6A/jzZkQmldFFmYsoFM2lz0KTTXdFtUvW4rcjqhR9GuicALqRh0c25T9QtGKf0BLCsK4WAtSw==", "dev": true }, "@storybook/mantra-core": { @@ -3360,19 +2162,30 @@ "integrity": "sha512-GD4OYJ8GsayVhIg306sfgcKDk9j8YfuSKIAWvdB/g7IDlw0pDgueONALVEEE2XWJtCwcsUyDtCYzXFgCBWLEjA==", "dev": true, "requires": { - "@storybook/react-komposer": "2.0.4", + "@storybook/react-komposer": "2.0.5", "@storybook/react-simple-di": "1.3.0", "babel-runtime": "6.26.0" } }, "@storybook/node-logger": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-4.0.0-alpha.23.tgz", - "integrity": "sha512-JDgWzzt8LyHMZkYMeL7wWnpYdsBYXnfMTyhZmBVI/CU0kfe1bNMbFr0QPieu2GGPyZ/8bEKcmuMV57hqo9Cl3w==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-4.1.1.tgz", + "integrity": "sha512-jXccUlqgp6OK1O5Gr66qfefq984MipY8LKDE75y7UO+AQdNR5bwIy69XXr1mp9H5C2dpIS8cBaSoFuZouuTHnw==", "dev": true, "requires": { - "@babel/runtime": "7.1.2", - "npmlog": "4.1.2" + "chalk": "2.4.1", + "core-js": "2.6.0", + "npmlog": "4.1.2", + "pretty-hrtime": "1.0.3", + "regenerator-runtime": "0.12.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", + "dev": true + } } }, "@storybook/podda": { @@ -3386,16 +2199,16 @@ } }, "@storybook/react-komposer": { - "version": "2.0.4", - "resolved": "http://registry.npmjs.org/@storybook/react-komposer/-/react-komposer-2.0.4.tgz", - "integrity": "sha1-wsDUp12bSpwMa0bxSrBQ9FitS7A=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@storybook/react-komposer/-/react-komposer-2.0.5.tgz", + "integrity": "sha512-zX5UITgAh37tmD0MWnUFR29S5YM8URMHc/9iwczX/P1f3tM4nPn8VAzxG/UWQecg1xZVphmqkZoux+SDrtTZOQ==", "dev": true, "requires": { "@storybook/react-stubber": "1.0.1", "babel-runtime": "6.26.0", "hoist-non-react-statics": "1.2.0", - "lodash.pick": "4.4.0", - "shallowequal": "0.2.2" + "lodash": "4.17.11", + "shallowequal": "1.1.0" } }, "@storybook/react-simple-di": { @@ -3420,86 +2233,88 @@ } }, "@storybook/ui": { - "version": "4.0.0-alpha.23", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-4.0.0-alpha.23.tgz", - "integrity": "sha512-f/bWytrQ+ZV4TXRDT8yq7gIlWnaa7ZVAvqBFrOoN+XCC3Phq/XD+xm6l7u8NSyTi/DztgedpP8Hkz9cFgSemwg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-4.1.1.tgz", + "integrity": "sha512-qcYhTm2VHOg3jkR1hTo0j7cfx8Ks7YvdhJ73aszVEUwDJKG7tZWHs1ymn0waOk+NBzFltoo9kloSTpULRql+0g==", "dev": true, "requires": { "@emotion/core": "0.13.1", "@emotion/provider": "0.11.2", "@emotion/styled": "0.10.6", - "@storybook/components": "4.0.0-alpha.23", - "@storybook/core-events": "4.0.0-alpha.23", + "@storybook/components": "4.1.1", + "@storybook/core-events": "4.1.1", "@storybook/mantra-core": "1.7.2", "@storybook/podda": "1.2.3", - "@storybook/react-komposer": "2.0.4", + "@storybook/react-komposer": "2.0.5", "deep-equal": "1.0.1", - "events": "3.0.0", - "fuse.js": "3.2.1", + "eventemitter3": "3.1.0", + "fuse.js": "3.3.0", "global": "4.3.2", "keycode": "2.2.0", - "lodash.debounce": "4.0.8", - "lodash.pick": "4.4.0", - "lodash.sortby": "4.7.0", - "lodash.throttle": "4.1.1", + "lodash": "4.17.11", "prop-types": "15.6.2", "qs": "6.5.2", "react-fuzzy": "0.5.2", "react-lifecycles-compat": "3.0.4", - "react-modal": "3.6.1", + "react-modal": "3.7.1", "react-treebeard": "3.1.0" - }, - "dependencies": { - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true - } } }, + "@types/clipboard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/clipboard/-/clipboard-2.0.1.tgz", + "integrity": "sha512-gJJX9Jjdt3bIAePQRRjYWG20dIhAgEqonguyHxXuqALxsoDsDLimihqrSg8fXgVTJ4KZCzkfglKtwsh/8dLfbA==", + "dev": true + }, "@types/codemirror": { - "version": "0.0.61", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.61.tgz", - "integrity": "sha512-LGqLfMyT2RKvo3JHQn7MTZ2uoMKuTFhRZ0MYR0YD3H/sZ81jOjBw8fzJ/6FXHSALXgGuoiZN7FH1Bx6PARdkBQ==" + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.70.tgz", + "integrity": "sha512-NHpD8C5J9P+6M/Swm+jIkOs8EywFMeSYzX9c1917QBNfvj2fuS0djROLoLNzSYEMHUWWaEVPLYJ8zDR2M6qaaQ==", + "dev": true }, "@types/jasmine": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz", - "integrity": "sha512-OJSUxLaxXsjjhob2DBzqzgrkLmukM3+JMpRp0r0E4HTdT1nwDCWhaswjYxazPij6uOdzHCJfNbDjmQ1/rnNbCg==", + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.12.tgz", + "integrity": "sha512-eE+xeiGBPgQsNcyg61JBqQS6NtxC+s2yfOikMCnc0Z4NqKujzmSahmtjLCKVQU/AyrTEQ76TOwQBnr8wGP2bmA==", "dev": true }, "@types/jasminewd2": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.4.tgz", - "integrity": "sha512-G83fHoholqR7pmsY7ojHJqMAl4zD6ylKNaKCx7zH+GisCBQpnI5a7aUTFWVzv2wppIuWd+mJxyRqTASPfqcQ2w==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.6.tgz", + "integrity": "sha512-2ZOKrxb8bKRmP/po5ObYnRDgFE4i+lQiEB27bAMmtMWLgJSqlIDqlLx6S0IRorpOmOPRQ6O80NujTmQAtBkeNw==", "dev": true, "requires": { - "@types/jasmine": "2.8.8" + "@types/jasmine": "2.8.12" } }, + "@types/json5": { + "version": "0.0.29", + "resolved": "http://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, "@types/lodash": { - "version": "4.14.116", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.116.tgz", - "integrity": "sha512-lRnAtKnxMXcYYXqOiotTmJd74uawNWuPnsnPrrO7HiFuE3npE2iQhfABatbYDyxTNqZNuXzcKGhw37R7RjBFLg==", + "version": "4.14.119", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.119.tgz", + "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==", "dev": true }, "@types/node": { - "version": "10.11.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.3.tgz", - "integrity": "sha512-3AvcEJAh9EMatxs+OxAlvAEs7OTy6AG94mcH1iqyVDwVVndekLxzwkWQ/Z4SDbY6GO2oyUXyWW8tQ4rENSSQVQ==", + "version": "10.12.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", + "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==", "dev": true }, "@types/q": { "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "resolved": "http://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", "dev": true }, "@types/selenium-webdriver": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.10.tgz", - "integrity": "sha512-ikB0JHv6vCR1KYUQAzTO4gi/lXLElT4Tx+6De2pc/OZwizE9LRNiTa+U8TBFKBD/nntPnr/MPSHSnOTybjhqNA==", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.14.tgz", + "integrity": "sha512-4GbNCDs98uHCT/OMv40qQC/OpoPbYn9XdXeTiFwHBBFO6eJhYEPUu2zDKirXSbHlvDV8oZ9l8EQ+HrEx/YS9DQ==", "dev": true }, "@types/semver": { @@ -3510,7 +2325,7 @@ }, "@types/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", "dev": true }, @@ -3521,174 +2336,174 @@ "dev": true }, "@webassemblyjs/ast": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", - "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz", + "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8" + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", - "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz", + "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz", - "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz", + "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", - "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz", + "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", - "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz", + "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/wast-printer": "1.7.10" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", - "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz", + "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz", - "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz", + "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==", "dev": true }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", - "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz", + "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", - "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz", + "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8" + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10" } }, "@webassemblyjs/ieee754": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz", - "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz", + "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==", "dev": true, "requires": { "@xtuc/ieee754": "1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", - "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz", + "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==", "dev": true, "requires": { "@xtuc/long": "4.2.1" } }, "@webassemblyjs/utf8": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz", - "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz", + "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", - "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz", + "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/helper-wasm-section": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-opt": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/helper-wasm-section": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-opt": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "@webassemblyjs/wast-printer": "1.7.10" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", - "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz", + "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", - "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz", + "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8" + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", - "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz", + "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", - "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz", + "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/floating-point-hex-parser": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-code-frame": "1.7.8", - "@webassemblyjs/helper-fsm": "1.7.8", + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/floating-point-hex-parser": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-code-frame": "1.7.10", + "@webassemblyjs/helper-fsm": "1.7.10", "@xtuc/long": "4.2.1" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", - "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz", + "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8", + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10", "@xtuc/long": "4.2.1" } }, @@ -3714,33 +2529,15 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "dev": true, "requires": { - "mime-types": "2.1.18", + "mime-types": "2.1.21", "negotiator": "0.6.1" - }, - "dependencies": { - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dev": true, - "requires": { - "mime-db": "1.33.0" - } - } } }, "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true }, "acorn-dynamic-import": { @@ -3749,7 +2546,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "5.5.3" + "acorn": "5.7.3" } }, "address": { @@ -3759,9 +2556,9 @@ "dev": true }, "adm-zip": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", - "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", "dev": true }, "after": { @@ -3789,14 +2586,14 @@ "array.prototype.flat": "1.2.1", "array.prototype.flatmap": "1.2.1", "es5-shim": "4.5.12", - "es6-shim": "0.35.3", + "es6-shim": "0.35.4", "function.prototype.name": "1.1.0", "object.entries": "1.0.4", "object.fromentries": "1.0.0", "object.getownpropertydescriptors": "2.0.3", "object.values": "1.0.4", "promise.prototype.finally": "3.1.0", - "string.prototype.matchall": "3.0.0", + "string.prototype.matchall": "3.0.1", "string.prototype.padend": "3.0.0", "string.prototype.padstart": "3.0.0", "symbol.prototype.description": "1.0.0" @@ -3804,7 +2601,7 @@ }, "ajv": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "resolved": "http://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { @@ -3815,9 +2612,9 @@ } }, "ajv-errors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", - "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true }, "ajv-keywords": { @@ -3841,32 +2638,88 @@ "loader-utils": "0.2.17" }, "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, "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.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" } } } }, "ansi-colors": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.1.0.tgz", - "integrity": "sha512-hTv1qPdi+sVEk3jYsdjox5nQI0C9HTbjKShbCdYLKb1LOfNbb7wsF4d7OEKIZoxIHx02tSp3m94jcPW2EfMjmA==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true }, "ansi-escapes": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -3876,27 +2729,43 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "1.9.3" } }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, "requires": { "micromatch": "3.1.10", "normalize-path": "2.1.1" } }, + "apache-crypt": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/apache-crypt/-/apache-crypt-1.2.1.tgz", + "integrity": "sha1-1vxyqm0n2ZyVqU/RiNcx7v/6Zjw=", + "requires": { + "unix-crypt-td-js": "1.0.0" + } + }, + "apache-md5": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/apache-md5/-/apache-md5-1.1.2.tgz", + "integrity": "sha1-7klza2ObTxCLbp5ibG2pkwa0FpI=" + }, "app-root-dir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", @@ -3925,19 +2794,19 @@ "dev": true }, "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { "delegates": "1.0.0", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "1.0.3" @@ -3946,20 +2815,22 @@ "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 + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "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 + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" }, "array-filter": { "version": "0.0.1", @@ -3974,9 +2845,9 @@ "dev": true }, "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, "array-includes": { @@ -3985,8 +2856,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0" + "define-properties": "1.1.3", + "es-abstract": "1.12.0" } }, "array-map": { @@ -4019,14 +2890,12 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, "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 + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "array.prototype.flat": { "version": "1.2.1", @@ -4034,8 +2903,8 @@ "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1" } }, @@ -4045,8 +2914,8 @@ "integrity": "sha512-i18e2APdsiezkcqDyZor78Pbfjfds3S94dG6dgIV2ZASJaUf1N0dz2tGdrmwrmlZuNUgxH+wz6Z0zYVH2c5xzQ==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1" } }, @@ -4069,10 +2938,13 @@ "dev": true }, "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } }, "asn1.js": { "version": "4.10.1", @@ -4082,7 +2954,7 @@ "requires": { "bn.js": "4.11.8", "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "assert": { @@ -4092,6 +2964,23 @@ "dev": true, "requires": { "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, "assert-plus": { @@ -4103,23 +2992,18 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", - "dev": true, - "requires": { - "lodash": "4.17.11" - } + "version": "1.5.2", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true }, "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" }, "async-foreach": { "version": "0.1.3", @@ -4140,59 +3024,22 @@ "dev": true }, "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", - "dev": true + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { - "version": "8.6.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", - "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz", + "integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==", "dev": true, "requires": { - "browserslist": "3.2.8", - "caniuse-lite": "1.0.30000888", + "browserslist": "4.3.5", + "caniuse-lite": "1.0.30000921", "normalize-range": "0.1.2", "num2fraction": "1.2.2", - "postcss": "6.0.23", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "caniuse-lite": { - "version": "1.0.30000888", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz", - "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "postcss": "7.0.5", + "postcss-value-parser": "3.3.1" } }, "aws-sign2": { @@ -4226,7 +3073,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -4237,6 +3084,12 @@ "supports-color": "2.0.0" } }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -4246,9 +3099,9 @@ } }, "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { "babel-messages": "6.23.0", @@ -4263,7 +3116,7 @@ "dependencies": { "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true } @@ -4338,55 +3191,31 @@ "integrity": "sha512-NBVpEWN4OQ/bHnu1fyDaAaTPAjnhXCEPqr1RwqxrU7b6tZ2hypp+zX4hlNfmVGfClD5c3Sl6Hfj5TJNF5VG5aA==", "dev": true, "requires": { - "cosmiconfig": "5.0.6", + "cosmiconfig": "5.0.7", "resolve": "1.8.1" }, "dependencies": { "cosmiconfig": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz", - "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", + "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "dev": true, "requires": { + "import-fresh": "2.0.0", "is-directory": "0.3.1", "js-yaml": "3.12.0", "parse-json": "4.0.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.1" - } - }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", + "error-ex": "1.3.2", "json-parse-better-errors": "1.0.2" } - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } } } }, @@ -4591,7 +3420,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", + "core-js": "2.6.0", "regenerator-runtime": "0.11.1" } }, @@ -4621,8 +3450,31 @@ "babylon": "6.18.0", "debug": "2.6.9", "globals": "9.18.0", - "invariant": "2.2.2", + "invariant": "2.2.4", "lodash": "4.17.11" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "babel-types": { @@ -4635,12 +3487,20 @@ "esutils": "2.0.2", "lodash": "4.17.11", "to-fast-properties": "1.0.3" + }, + "dependencies": { + "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 + } } }, "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "backo2": { @@ -4652,14 +3512,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "requires": { "cache-base": "1.0.1", "class-utils": "0.3.6", @@ -4674,7 +3532,6 @@ "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.2" } @@ -4683,7 +3540,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -4692,7 +3548,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -4701,18 +3556,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "1.0.0", "is-data-descriptor": "1.0.0", "kind-of": "6.0.2" } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, @@ -4723,9 +3571,9 @@ "dev": true }, "base64-js": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", - "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", "dev": true }, "base64id": { @@ -4734,22 +3582,38 @@ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "optional": true, "requires": { "tweetnacl": "0.14.5" } }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" + }, "better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", @@ -4766,15 +3630,14 @@ "dev": true }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" }, "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, "block-stream": { @@ -4796,9 +3659,9 @@ } }, "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, "bn.js": { @@ -4808,27 +3671,36 @@ "dev": true }, "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "dev": true, "requires": { "bytes": "3.0.0", "content-type": "1.0.4", "debug": "2.6.9", - "depd": "1.1.1", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", "on-finished": "2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "1.6.15" + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "1.6.16" }, "dependencies": { - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -4839,7 +3711,7 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "2.1.1", + "array-flatten": "2.1.2", "deep-equal": "1.0.1", "dns-equal": "1.0.0", "dns-txt": "2.0.2", @@ -4850,20 +3722,66 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, - "bowser": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz", - "integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==", - "dev": true + "boxen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-2.0.0.tgz", + "integrity": "sha512-9DK9PQqcOpsvlKOK3f3lVK+vQsqH4JDGMX73FCWcHRxQQtop1U8urn4owrt5rnc2NgZAJ6wWjTDBc7Fhv+vz/w==", + "dev": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "5.0.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } }, "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, + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -4873,14 +3791,13 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "requires": { "arr-flatten": "1.1.0", "array-unique": "0.3.2", "extend-shallow": "2.0.1", "fill-range": "4.0.0", "isobject": "3.0.1", - "repeat-element": "1.1.2", + "repeat-element": "1.1.3", "snapdragon": "0.8.2", "snapdragon-node": "2.1.1", "split-string": "3.1.0", @@ -4891,7 +3808,6 @@ "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" } @@ -4905,44 +3821,45 @@ "dev": true }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", "evp_bytestokey": "1.0.3" } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", - "inherits": "2.0.3" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -4958,11 +3875,11 @@ "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", "inherits": "2.0.3", - "parse-asn1": "5.1.0" + "parse-asn1": "5.1.1" } }, "browserify-zlib": { @@ -4971,25 +3888,18 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "1.0.7" } }, "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.5.tgz", + "integrity": "sha512-z9ZhGc3d9e/sJ9dIx5NFXkKoaiQTnrvrMsN3R1fGb1tkWWNSz12UewJn9TNxGo1l7J23h0MRaPmk7jfeTZYs1w==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000888", - "electron-to-chromium": "1.3.47" - }, - "dependencies": { - "caniuse-lite": { - "version": "1.0.30000888", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz", - "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", - "dev": true - } + "caniuse-lite": "1.0.30000921", + "electron-to-chromium": "1.3.92", + "node-releases": "1.1.1" } }, "browserstack": { @@ -5003,12 +3913,12 @@ }, "buffer": { "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", + "base64-js": "1.3.0", + "ieee754": "1.1.12", "isarray": "1.0.0" } }, @@ -5078,22 +3988,22 @@ }, "cacache": { "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { - "bluebird": "3.5.1", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.2", + "bluebird": "3.5.3", + "chownr": "1.1.1", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "lru-cache": "4.1.5", "mississippi": "2.0.0", "mkdirp": "0.5.1", "move-concurrently": "1.0.1", "promise-inflight": "1.0.1", "rimraf": "2.6.2", "ssri": "5.3.0", - "unique-filename": "1.1.0", + "unique-filename": "1.1.1", "y18n": "4.0.0" } }, @@ -5101,7 +4011,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, "requires": { "collection-visit": "1.0.0", "component-emitter": "1.2.1", @@ -5114,12 +4023,42 @@ "unset-value": "1.0.0" } }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "2.0.0" + } + }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, + "callsites": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, "camel-case": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", @@ -5131,33 +4070,25 @@ } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", "dev": true }, "camelcase-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { "camelcase": "2.1.1", "map-obj": "1.0.1" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } } }, "caniuse-lite": { - "version": "1.0.30000842", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000842.tgz", - "integrity": "sha512-juspQHLwQRgptEM03HN66SpM/ggZUB+m49NAgJIaIS11aXVNeRB57sEY1X6tEzeK2THGvYWKZZu1wIbh+W7YTA==", + "version": "1.0.30000921", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000921.tgz", + "integrity": "sha512-Bu09ciy0lMWLgpYC77I0YGuI8eFRBPPzaSOYJK1jTI64txCphYCqnWbxJYjHABYVt/TYX/p3jNjLBR87u1Bfpw==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -5173,28 +4104,13 @@ "dev": true }, "chalk": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.2.2.tgz", - "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "requires": { - "has-flag": "2.0.0" - } - } + "supports-color": "5.5.0" } }, "character-entities": { @@ -5221,11 +4137,89 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "cheerio": { + "version": "0.22.0", + "resolved": "http://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.2", + "htmlparser2": "3.10.0", + "lodash.assignin": "4.2.0", + "lodash.bind": "4.2.1", + "lodash.defaults": "4.2.0", + "lodash.filter": "4.6.0", + "lodash.flatten": "4.4.0", + "lodash.foreach": "4.5.0", + "lodash.map": "4.6.0", + "lodash.merge": "4.6.1", + "lodash.pick": "4.4.0", + "lodash.reduce": "4.6.0", + "lodash.reject": "4.6.0", + "lodash.some": "4.6.0" + }, + "dependencies": { + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1.3.1" + } + }, + "htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "requires": { + "domelementtype": "1.3.1", + "domhandler": "2.4.2", + "domutils": "1.5.1", + "entities": "1.1.2", + "inherits": "2.0.3", + "readable-stream": "3.1.0" + } + }, + "readable-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.0.tgz", + "integrity": "sha512-vpydAvIJvPODZNagCPuHG87O9JNPtvFEtjHHRVwNVsVVRBqemvPJkc2SYbxJsiZXawJdtZNmkmnsPuE3IgsG0A==", + "requires": { + "inherits": "2.0.3", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + } + } + }, + "child-process-promise": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz", + "integrity": "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=", + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "node-version": "1.2.0", + "promise-polyfill": "6.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "requires": { + "lru-cache": "4.1.5", + "which": "1.3.1" + } + } + } + }, "chokidar": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, "requires": { "anymatch": "2.0.0", "async-each": "1.0.1", @@ -5238,14 +4232,14 @@ "lodash.debounce": "4.0.8", "normalize-path": "2.1.1", "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", + "readdirp": "2.2.1", "upath": "1.1.0" } }, "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", "dev": true }, "chrome-trace-event": { @@ -5254,7 +4248,7 @@ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "cipher-base": { @@ -5264,7 +4258,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "circular-dependency-plugin": { @@ -5274,16 +4268,15 @@ "dev": true }, "circular-json": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.7.tgz", - "integrity": "sha512-/pXoV1JA847qRKPrHbBK6YIBGFF8GOP4wzSgUOA7q0ew0vAv0iJswP+2/nZQ9uzA3Azi7eTrg9L2yzXc/7ZMIA==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", + "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", "dev": true }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "3.1.0", "define-property": "0.2.5", @@ -5295,7 +4288,6 @@ "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.6" } @@ -5330,6 +4322,12 @@ } } }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -5339,6 +4337,50 @@ "restore-cursor": "2.0.0" } }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "1.3.3", + "object-assign": "4.1.1", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", @@ -5346,9 +4388,9 @@ "dev": true }, "clipboard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz", - "integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", "requires": { "good-listener": "1.2.2", "select": "1.1.2", @@ -5382,16 +4424,13 @@ "is-plain-object": "2.0.4", "kind-of": "6.0.2", "shallow-clone": "1.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } } }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -5405,46 +4444,45 @@ "dev": true }, "codelyzer": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.4.4.tgz", - "integrity": "sha512-JgFMudx0n50IuE/ydAfnkksCwQkWSVWgYvhDPHZgDUbmsiYC22VuEXKu5l8Hhx9UJsLgjWDLjTAFGj2WaW5DUA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.5.0.tgz", + "integrity": "sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ==", "dev": true, "requires": { "app-root-path": "2.1.0", - "css-selector-tokenizer": "0.7.0", + "css-selector-tokenizer": "0.7.1", "cssauron": "1.4.0", "semver-dsl": "1.0.1", "source-map": "0.5.7", - "sprintf-js": "1.1.1" + "sprintf-js": "1.1.2" }, "dependencies": { "sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true } } }, "codemirror": { - "version": "5.40.2", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.40.2.tgz", - "integrity": "sha512-yoWuvEiD3v5vTwdoMc/wu/Ld6dh9K/yEiEBTKOPGM+/pN0gTAqFNtrLHv1IJ1UJvzFpNRvMi92XCi3+8/iIaEw==" + "version": "5.42.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.42.0.tgz", + "integrity": "sha512-pbApC8zDzItP3HRphD6kQVwS976qB5Qi0hU3MZMixLk+AyugOW1RF+8XJEjeyl5yWsHNe88tDUxzeRh5AOxPRw==" }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "1.0.0", "object-visit": "1.0.1" } }, "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" } @@ -5454,11 +4492,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" }, "combine-lists": { "version": "1.0.1", @@ -5490,7 +4532,12 @@ "commander": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", "dev": true }, "commondir": { @@ -5505,6 +4552,61 @@ "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", "dev": true }, + "compodoc": { + "version": "0.0.41", + "resolved": "https://registry.npmjs.org/compodoc/-/compodoc-0.0.41.tgz", + "integrity": "sha1-p2vCyh/YKny+CoLXJQyj6Qu8I3k=", + "requires": { + "@compodoc/ngd-core": "2.0.0", + "@compodoc/ngd-transformer": "2.0.0", + "cheerio": "0.22.0", + "colors": "1.3.3", + "commander": "2.17.1", + "fs-extra": "2.1.2", + "glob": "7.1.3", + "gulp-util": "3.0.8", + "handlebars": "4.0.12", + "highlight.js": "9.12.0", + "html-entities": "1.2.1", + "live-server": "1.2.1", + "lodash": "4.17.11", + "lunr": "0.7.2", + "marked": "0.3.19", + "shelljs": "0.7.8", + "typescript": "2.2.0" + }, + "dependencies": { + "fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "2.4.0" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "http://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "requires": { + "glob": "7.1.3", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, + "typescript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.2.0.tgz", + "integrity": "sha1-Ym8vxwCH0kgPIeuxLBiIKIyGFOM=" + } + } + }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", @@ -5514,8 +4616,7 @@ "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 + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "component-inherit": { "version": "0.0.3", @@ -5529,15 +4630,7 @@ "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", "dev": true, "requires": { - "mime-db": "1.36.0" - }, - "dependencies": { - "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", - "dev": true - } + "mime-db": "1.37.0" } }, "compression": { @@ -5555,10 +4648,19 @@ "vary": "1.1.2" }, "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -5566,17 +4668,17 @@ "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 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { + "buffer-from": "1.1.1", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "typedarray": "0.0.6" } }, @@ -5584,7 +4686,6 @@ "version": "3.6.6", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", - "dev": true, "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", @@ -5592,11 +4693,18 @@ "utils-merge": "1.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, "finalhandler": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "1.0.2", @@ -5606,6 +4714,16 @@ "statuses": "1.3.1", "unpipe": "1.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" } } }, @@ -5645,13 +4763,16 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "5.1.2" + } }, "cookie": { "version": "0.3.1", @@ -5682,8 +4803,7 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-to-clipboard": { "version": "3.0.8", @@ -5695,9 +4815,9 @@ } }, "copy-webpack-plugin": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz", - "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", + "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", "dev": true, "requires": { "cacache": "10.0.4", @@ -5706,20 +4826,28 @@ "is-glob": "4.0.0", "loader-utils": "1.1.0", "minimatch": "3.0.4", - "p-limit": "1.2.0", + "p-limit": "1.3.0", "serialize-javascript": "1.5.0" } }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", + "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==" }, "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 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "4.1.1", + "vary": "1.1.2" + } }, "cosmiconfig": { "version": "4.0.0", @@ -5739,46 +4867,47 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", + "error-ex": "1.3.2", "json-parse-better-errors": "1.0.2" } } } }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { "bn.js": "4.11.8", - "elliptic": "6.4.0" + "elliptic": "6.4.1" } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "md5.js": "1.3.5", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "1.0.4", - "create-hash": "1.1.3", + "create-hash": "1.2.0", "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "create-react-class": { @@ -5788,7 +4917,7 @@ "dev": true, "requires": { "fbjs": "0.8.17", - "loose-envify": "1.3.1", + "loose-envify": "1.4.0", "object-assign": "4.1.1" } }, @@ -5798,8 +4927,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.2", - "which": "1.3.0" + "lru-cache": "4.1.5", + "which": "1.3.1" } }, "crypto-browserify": { @@ -5808,60 +4937,39 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.0", + "browserify-cipher": "1.0.1", "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", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", "randombytes": "2.0.6", "randomfill": "1.0.4" } }, - "css-in-js-utils": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", - "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", - "dev": true, - "requires": { - "hyphenate-style-name": "1.0.2", - "isobject": "3.0.1" - } - }, "css-loader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", - "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", "dev": true, "requires": { "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", + "css-selector-tokenizer": "0.7.1", "icss-utils": "2.1.0", "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", + "lodash": "4.17.11", "postcss": "6.0.23", - "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-extract-imports": "1.2.1", "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": "2.0.0" + "postcss-value-parser": "3.3.1", + "source-list-map": "2.0.1" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, "postcss": { "version": "6.0.23", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", @@ -5870,7 +4978,7 @@ "requires": { "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, "source-map": { @@ -5889,32 +4997,64 @@ }, "css-select": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, "requires": { "boolbase": "1.0.0", - "css-what": "2.1.0", + "css-what": "2.1.2", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "1.0.2" } }, "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=", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", "dev": true, "requires": { "cssesc": "0.1.0", - "fastparse": "1.1.1", + "fastparse": "1.1.2", "regexpu-core": "1.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + } } }, "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", - "dev": true + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", + "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==" }, "cssauron": { "version": "1.4.0", @@ -5931,12 +5071,6 @@ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", "dev": true }, - "cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", - "dev": true - }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -5965,20 +5099,12 @@ "dev": true, "requires": { "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha1-EuYJzcuTUScxHQTTMzTilgoqVOY=" + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" }, "date-format": { "version": "1.2.0", @@ -5992,12 +5118,17 @@ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", "dev": true }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" + }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "requires": { - "ms": "2.0.0" + "ms": "2.1.1" } }, "decamelize": { @@ -6009,8 +5140,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "deep-equal": { "version": "1.0.1", @@ -6024,6 +5154,12 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true + }, "default-gateway": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", @@ -6052,20 +5188,18 @@ } }, "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "object-keys": "1.0.12" } }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "1.0.2", "isobject": "3.0.1" @@ -6075,7 +5209,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -6084,7 +5217,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -6093,18 +5225,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "1.0.0", "is-data-descriptor": "1.0.0", "kind-of": "6.0.2" } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, @@ -6116,7 +5241,7 @@ "requires": { "globby": "6.1.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "p-map": "1.2.0", "pify": "3.0.0", "rimraf": "2.6.2" @@ -6124,12 +5249,12 @@ "dependencies": { "globby": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { "array-union": "1.0.2", - "glob": "7.1.2", + "glob": "7.1.3", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1" @@ -6137,7 +5262,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -6154,7 +5279,7 @@ "delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=" + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, "delegates": { "version": "1.0.0", @@ -6163,10 +5288,9 @@ "dev": true }, "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { "version": "1.0.0", @@ -6175,14 +5299,13 @@ "dev": true, "requires": { "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detect-indent": { "version": "4.0.0", @@ -6200,13 +5323,30 @@ "dev": true }, "detect-port": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.2.3.tgz", - "integrity": "sha512-IDbrX6PxqnYy8jV4wSHBaJlErYKTJvW8OQb9F7xivl1iQLqiUYHGa+nZ61Do6+N5uuOn/pReXKNqI9rUn04vug==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", "dev": true, "requires": { "address": "1.0.3", "debug": "2.6.9" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "di": { @@ -6222,9 +5362,9 @@ "dev": true }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -6255,7 +5395,7 @@ "dev": true, "requires": { "ip": "1.1.5", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "dns-txt": { @@ -6277,10 +5417,13 @@ } }, "dom-helpers": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", - "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==", - "dev": true + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dev": true, + "requires": { + "@babel/runtime": "7.2.0" + } }, "dom-serialize": { "version": "2.2.1", @@ -6290,7 +5433,7 @@ "requires": { "custom-event": "1.0.1", "ent": "2.2.0", - "extend": "3.0.1", + "extend": "3.0.2", "void-elements": "2.0.1" } }, @@ -6298,17 +5441,15 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, "requires": { "domelementtype": "1.1.3", - "entities": "1.1.1" + "entities": "1.1.2" }, "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" } } }, @@ -6325,10 +5466,9 @@ "dev": true }, "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "domhandler": { "version": "2.1.0", @@ -6336,19 +5476,23 @@ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1.3.1" } }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, "requires": { "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "domelementtype": "1.3.1" } }, + "dot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/dot/-/dot-1.1.2.tgz", + "integrity": "sha1-xzdwGfxOVQeYkosrmv62ar+h8vk=" + }, "dotenv": { "version": "5.0.1", "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", @@ -6373,36 +5517,65 @@ "duplexer": { "version": "0.1.1", "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "requires": { + "readable-stream": "1.1.14" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } }, "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", "dev": true, "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "stream-shift": "1.0.0" } }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "ejs": { "version": "2.6.1", @@ -6411,23 +5584,23 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.47", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.47.tgz", - "integrity": "sha1-dk6IfKkQTQGgrI6r7n38DizhQQQ=", + "version": "1.3.92", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.92.tgz", + "integrity": "sha512-En051LMzMl3/asMWGZEtU808HOoVWIpmmZx1Ep8N+TT9e7z/X8RcLeBU2kLSNLGQ+5SuKELzMx+MVuTBXk6Q9w==", "dev": true }, "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", - "hash.js": "1.1.3", + "hash.js": "1.1.7", "hmac-drbg": "1.0.1", "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", + "minimalistic-assert": "1.0.1", "minimalistic-crypto-utils": "1.0.1" } }, @@ -6440,8 +5613,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "encoding": { "version": "0.1.12", @@ -6449,7 +5621,7 @@ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "0.4.23" } }, "end-of-stream": { @@ -6462,16 +5634,16 @@ } }, "engine.io": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz", - "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", "dev": true, "requires": { "accepts": "1.3.5", "base64id": "1.0.0", "cookie": "0.3.1", "debug": "3.1.0", - "engine.io-parser": "2.1.2", + "engine.io-parser": "2.1.3", "ws": "3.3.3" }, "dependencies": { @@ -6483,19 +5655,25 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, "engine.io-client": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", "dev": true, "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", "debug": "3.1.0", - "engine.io-parser": "2.1.2", + "engine.io-parser": "2.1.3", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", @@ -6513,31 +5691,37 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, "engine.io-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dev": true, "requires": { "after": "0.8.2", "arraybuffer.slice": "0.0.7", "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", + "blob": "0.0.5", "has-binary2": "1.0.3" } }, "enhanced-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", - "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "memory-fs": "0.4.1", - "tapable": "1.0.0" + "tapable": "1.1.1" } }, "ent": { @@ -6547,10 +5731,9 @@ "dev": true }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, "errno": { "version": "0.1.7", @@ -6562,36 +5745,36 @@ } }, "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "0.2.1" } }, "es-abstract": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz", - "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", + "es-to-primitive": "1.2.0", "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", + "has": "1.0.3", + "is-callable": "1.1.4", "is-regex": "1.0.4" } }, "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "1.1.3", + "is-callable": "1.1.4", "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-symbol": "1.0.2" } }, "es5-shim": { @@ -6601,39 +5784,30 @@ "dev": true }, "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", "dev": true }, "es6-promisify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { - "es6-promise": "4.2.4" - }, - "dependencies": { - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - } + "es6-promise": "4.2.5" } }, "es6-shim": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.3.tgz", - "integrity": "sha1-m/tzY/7//4emzbbNk+QF7DxLbyY=", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.4.tgz", + "integrity": "sha512-oJidbXjN/VWXZJs41E9JEqWzcFbjt43JupimIoVX82Thzt5qy1CiYezdhRmWkj3KOuwJ106IG/ZZrcFC6fgIUQ==", "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 + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "escape-string-regexp": { "version": "1.0.5", @@ -6653,15 +5827,9 @@ "source-map": "0.2.0" }, "dependencies": { - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, "source-map": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, "optional": true, @@ -6679,6 +5847,14 @@ "requires": { "esrecurse": "4.2.1", "estraverse": "4.2.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } } }, "esprima": { @@ -6694,12 +5870,20 @@ "dev": true, "requires": { "estraverse": "4.2.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", "dev": true }, "esutils": { @@ -6710,8 +5894,21 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-stream": { + "version": "3.3.4", + "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "requires": { + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.1.0", + "pause-stream": "0.0.11", + "split": "0.3.3", + "stream-combiner": "0.0.4", + "through": "2.3.8" + } }, "eventemitter3": { "version": "3.1.0", @@ -6721,15 +5918,14 @@ }, "events": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", "requires": { "original": "1.0.2" } @@ -6740,8 +5936,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" + "md5.js": "1.3.5", + "safe-buffer": "5.1.2" } }, "execa": { @@ -6767,9 +5963,9 @@ "requires": { "nice-try": "1.0.5", "path-key": "2.0.1", - "semver": "5.5.1", + "semver": "5.6.0", "shebang-command": "1.2.0", - "which": "1.3.0" + "which": "1.3.1" } } } @@ -6814,7 +6010,7 @@ }, "expand-range": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "requires": { @@ -6840,7 +6036,6 @@ "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.9", "define-property": "0.2.5", @@ -6851,11 +6046,18 @@ "to-regex": "3.0.2" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, "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.6" } @@ -6864,16 +6066,20 @@ "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" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { @@ -6888,8 +6094,8 @@ "requires": { "is-number": "2.1.0", "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", + "randomatic": "3.1.1", + "repeat-element": "1.1.3", "repeat-string": "1.6.1" } }, @@ -6910,6 +6116,15 @@ "requires": { "isarray": "1.0.0" } + }, + "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.6" + } } } }, @@ -6923,14 +6138,14 @@ } }, "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", "dev": true, "requires": { "accepts": "1.3.5", "array-flatten": "1.1.1", - "body-parser": "1.18.2", + "body-parser": "1.18.3", "content-disposition": "0.5.2", "content-type": "1.0.4", "cookie": "0.3.1", @@ -6947,10 +6162,10 @@ "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", - "qs": "6.5.1", + "proxy-addr": "2.0.4", + "qs": "6.5.2", "range-parser": "1.2.0", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", @@ -6962,66 +6177,37 @@ "dependencies": { "array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "mime-db": "1.33.0" + "ms": "2.0.0" } }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.18" - } } } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "1.0.0", "is-extendable": "1.0.1" @@ -7031,7 +6217,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "2.0.4" } @@ -7064,7 +6249,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "requires": { "array-unique": "0.3.2", "define-property": "1.0.0", @@ -7080,7 +6264,6 @@ "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.2" } @@ -7089,7 +6272,6 @@ "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" } @@ -7098,7 +6280,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -7107,7 +6288,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -7116,18 +6296,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "1.0.0", "is-data-descriptor": "1.0.0", "kind-of": "6.0.2" } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, @@ -7137,12 +6310,37 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "requires": { + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "parse-node-version": "1.0.0", + "time-stamp": "1.1.0" + } + }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, + "fast-glob": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.4.tgz", + "integrity": "sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "2.2.1", + "@nodelib/fs.stat": "1.1.3", + "glob-parent": "3.1.0", + "is-glob": "4.0.0", + "merge2": "1.2.3", + "micromatch": "3.1.10" + } + }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -7156,9 +6354,9 @@ "dev": true }, "fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, "fault": { @@ -7186,21 +6384,27 @@ "requires": { "core-js": "1.2.7", "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", + "loose-envify": "1.4.0", "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "ua-parser-js": "0.7.19" }, "dependencies": { "core-js": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", "dev": true } } }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -7211,13 +6415,39 @@ } }, "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "1.0.0" + } + }, + "file-system-cache": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz", + "integrity": "sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.5" + "bluebird": "3.5.3", + "fs-extra": "0.30.0", + "ramda": "0.21.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" + } + } } }, "filename-regex": { @@ -7232,7 +6462,7 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", + "glob": "7.1.3", "minimatch": "3.0.4" } }, @@ -7246,7 +6476,6 @@ "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", @@ -7258,7 +6487,6 @@ "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" } @@ -7267,7 +6495,7 @@ }, "finalhandler": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -7280,10 +6508,19 @@ "unpipe": "1.0.0" }, "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -7314,6 +6551,12 @@ "locate-path": "2.0.0" } }, + "flatted": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", + "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", + "dev": true + }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", @@ -7321,13 +6564,13 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "follow-redirects": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.8.tgz", - "integrity": "sha512-sy1mXPmv7kLAMKW/8XofG7o9T+6gAjzdZK4AJF6ryqQYUa/hnzgiypoeUecZ53x7XiqKNEpNqLtS97MshW2nxg==", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", "dev": true, "requires": { "debug": "3.1.0" @@ -7341,6 +6584,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -7352,8 +6601,7 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "for-own": { "version": "1.0.0", @@ -7364,12 +6612,6 @@ "for-in": "1.0.2" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -7377,376 +6619,30 @@ "dev": true }, "fork-ts-checker-webpack-plugin": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.9.tgz", - "integrity": "sha512-uoUSu2qo8GpoonMrKtPlpIqPfRTO0vVLA1Gh2bPaDSyZ2zoUukrXCc38pJtYYNVLpvlv+g0PNr/9SheFyVAR4w==", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.15.tgz", + "integrity": "sha512-qNYuygh2GxXehBvQZ5rI5YlQFn+7ZV6kmkyD9Sgs33dWl73NZdUOB5aCp8v0EXJn176AhPrZP8YCMT3h01fs+g==", "dev": true, "requires": { "babel-code-frame": "6.26.0", "chalk": "2.4.1", "chokidar": "2.0.4", - "lodash.endswith": "4.2.1", - "lodash.isfunction": "3.0.9", - "lodash.isstring": "4.0.1", - "lodash.startswith": "4.2.1", + "lodash": "4.17.11", + "micromatch": "3.1.10", "minimatch": "3.0.4", - "resolve": "1.5.0", - "tapable": "1.0.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" - } - }, - "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.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "fsevents": "1.2.4", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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.6" - } - } - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } + "resolve": "1.8.1", + "tapable": "1.1.1" } }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.17" - }, - "dependencies": { - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - } + "combined-stream": "1.0.7", + "mime-types": "2.1.21" } }, "format": { @@ -7765,7 +6661,6 @@ "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" } @@ -7773,8 +6668,12 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" }, "from2": { "version": "2.3.0", @@ -7783,7 +6682,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "fs": { @@ -7794,7 +6693,7 @@ }, "fs-access": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", "dev": true, "requires": { @@ -7802,14 +6701,25 @@ } }, "fs-extra": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", - "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "jsonfile": "4.0.0", "universalify": "0.1.2" + }, + "dependencies": { + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15" + } + } } }, "fs-write-stream-atomic": { @@ -7818,26 +6728,24 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "iferr": "0.1.5", "imurmurhash": "0.1.4", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, "optional": true, "requires": { - "nan": "2.10.0", + "nan": "2.11.1", "node-pre-gyp": "0.10.0" }, "dependencies": { @@ -7845,27 +6753,23 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, "optional": 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 + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, "optional": true, "requires": { "delegates": "1.0.0", @@ -7875,14 +6779,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -7892,39 +6794,33 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "dev": true, "optional": true }, "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 + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "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 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "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, "optional": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -7934,28 +6830,24 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", - "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, "optional": true, "requires": { "minipass": "2.2.4" @@ -7965,14 +6857,12 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, "optional": true, "requires": { "aproba": "1.2.0", @@ -7989,7 +6879,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, "optional": true, "requires": { "fs.realpath": "1.0.0", @@ -8004,14 +6893,12 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", - "dev": true, "optional": true, "requires": { "safer-buffer": "2.1.2" @@ -8021,7 +6908,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, "optional": true, "requires": { "minimatch": "3.0.4" @@ -8031,7 +6917,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "optional": true, "requires": { "once": "1.4.0", @@ -8041,21 +6926,18 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true, "optional": 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" } @@ -8064,14 +6946,12 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "1.1.11" } @@ -8079,14 +6959,12 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", - "dev": true, "requires": { "safe-buffer": "5.1.1", "yallist": "3.0.2" @@ -8096,7 +6974,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", - "dev": true, "optional": true, "requires": { "minipass": "2.2.4" @@ -8106,7 +6983,6 @@ "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" } @@ -8115,21 +6991,12 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "optional": true - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, "optional": true }, "needle": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", - "dev": true, "optional": true, "requires": { "debug": "2.6.9", @@ -8141,7 +7008,6 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", - "dev": true, "optional": true, "requires": { "detect-libc": "1.0.3", @@ -8160,7 +7026,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, "optional": true, "requires": { "abbrev": "1.1.1", @@ -8171,14 +7036,12 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", - "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", - "dev": true, "optional": true, "requires": { "ignore-walk": "3.0.1", @@ -8189,7 +7052,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, "optional": true, "requires": { "are-we-there-yet": "1.1.4", @@ -8201,21 +7063,18 @@ "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 + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "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, "optional": true }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -8224,21 +7083,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, "optional": true, "requires": { "os-homedir": "1.0.2", @@ -8249,21 +7105,18 @@ "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, "optional": true }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true, "optional": true }, "rc": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", - "dev": true, "optional": true, "requires": { "deep-extend": "0.5.1", @@ -8276,7 +7129,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, "optional": true } } @@ -8285,7 +7137,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, "optional": true, "requires": { "core-util-is": "1.0.2", @@ -8301,7 +7152,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, "optional": true, "requires": { "glob": "7.1.2" @@ -8310,49 +7160,42 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, "optional": true }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, "optional": true }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true, "optional": 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, "optional": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, "optional": 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", @@ -8363,7 +7206,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "optional": true, "requires": { "safe-buffer": "5.1.1" @@ -8373,7 +7215,6 @@ "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" } @@ -8382,14 +7223,12 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, "optional": true }, "tar": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", - "dev": true, "optional": true, "requires": { "chownr": "1.0.1", @@ -8405,14 +7244,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, "optional": true, "requires": { "string-width": "1.0.2" @@ -8421,14 +7258,12 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "yallist": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "dev": true + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, @@ -8438,7 +7273,7 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "inherits": "2.0.3", "mkdirp": "0.5.1", "rimraf": "2.6.2" @@ -8456,15 +7291,15 @@ "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", "dev": true, "requires": { - "define-properties": "1.1.2", + "define-properties": "1.1.3", "function-bind": "1.1.1", - "is-callable": "1.1.3" + "is-callable": "1.1.4" } }, "fuse.js": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.2.1.tgz", - "integrity": "sha1-YyDLlM5W7JdVyJred1vNuwNY1CU=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.3.0.tgz", + "integrity": "sha512-ESBRkGLWMuVkapqYCcNO1uqMg5qbCKkgb+VS6wsy17Rix0/cMS9kSOZoYkjH8Ko//pgJ/EEGu0GTjk2mjX2LGQ==", "dev": true }, "gauge": { @@ -8480,7 +7315,7 @@ "signal-exit": "3.0.2", "string-width": "1.0.2", "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "wide-align": "1.1.3" } }, "gaze": { @@ -8492,16 +7327,10 @@ "globule": "1.2.1" } }, - "generate-page-webpack-plugin": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/generate-page-webpack-plugin/-/generate-page-webpack-plugin-1.1.1.tgz", - "integrity": "sha512-b782eo6JiJ06jYn4mcOtR/wkACN6eGRwAElM5djb/JCgbGbSzrPsnPTlX2Aa91sXe5pNszAQP6MRE1fVSGIz4g==", - "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=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, "get-stdin": { @@ -8512,15 +7341,14 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "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 + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getpass": { "version": "0.1.7", @@ -8529,21 +7357,12 @@ "dev": true, "requires": { "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -8593,7 +7412,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, "requires": { "is-glob": "3.1.0", "path-dirname": "1.0.2" @@ -8603,13 +7421,18 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, "requires": { "is-extglob": "2.1.1" } } } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", @@ -8649,14 +7472,13 @@ "homedir-polyfill": "1.0.1", "ini": "1.3.5", "is-windows": "1.0.2", - "which": "1.3.0" + "which": "1.3.1" } }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", - "dev": true + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" }, "globby": { "version": "7.1.1", @@ -8666,7 +7488,7 @@ "requires": { "array-union": "1.0.2", "dir-glob": "2.0.0", - "glob": "7.1.2", + "glob": "7.1.3", "ignore": "3.3.10", "pify": "3.0.0", "slash": "1.0.0" @@ -8678,11 +7500,19 @@ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "7.1.2", + "glob": "7.1.3", "lodash": "4.17.11", "minimatch": "3.0.4" } }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "requires": { + "sparkles": "1.0.1" + } + }, "good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -8692,15 +7522,76 @@ } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.2.0", + "fancy-log": "1.3.3", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.5", + "vinyl": "0.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "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" + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "requires": { + "glogg": "1.0.2" + } }, "gzip-size": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", - "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", + "integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==", "dev": true, "requires": { "duplexer": "0.1.1", @@ -8709,7 +7600,7 @@ }, "handle-thing": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "resolved": "http://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", "dev": true }, @@ -8717,19 +7608,25 @@ "version": "4.0.12", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", - "dev": true, "requires": { - "async": "2.6.0", + "async": "2.6.1", "optimist": "0.6.1", "source-map": "0.6.1", "uglify-js": "3.4.9" }, "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "requires": { + "lodash": "4.17.11" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -8740,33 +7637,54 @@ "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "5.5.2", + "ajv": "6.6.1", "har-schema": "2.0.0" }, "dependencies": { "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", + "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", + "fast-deep-equal": "2.0.1", "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" } } } }, "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "1.1.1" @@ -8776,7 +7694,6 @@ "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" } @@ -8807,8 +7724,15 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "requires": { + "sparkles": "1.0.1" + } }, "has-symbols": { "version": "1.0.0", @@ -8826,7 +7750,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "2.0.6", "has-values": "1.0.0", @@ -8837,37 +7760,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "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.6" - } - } - } - }, "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.6" } @@ -8875,39 +7776,40 @@ } }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "hast-util-parse-selector": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.0.tgz", - "integrity": "sha512-trw0pqZN7+sH9k7hPWCJNZUbWW2KroSIM/XpIy3G5ZMtx9LSabCyoSp4skJZ4q/eZ5UOBPtvWh4W9c+RE3HRoQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz", + "integrity": "sha512-Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw==", "dev": true }, "hastscript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-4.0.0.tgz", - "integrity": "sha512-zrN3fborQZT6+DJZOCKpeafzYIjs3y4ymzHGExBmUFSqwjqrRbH8DYDDbPsNLkVW0YDvoKdQ1c6wMLcZuoZDmg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.0.0.tgz", + "integrity": "sha512-xJtuJ8D42Xtq5yJrnDg/KAIxl2cXBXKoiIJwmWX9XMf8113qHTGl/Bf7jEsxmENJ4w6q4Tfl8s/Y6mEZo8x8qw==", "dev": true, "requires": { "comma-separated-tokens": "1.0.5", - "hast-util-parse-selector": "2.2.0", - "property-information": "4.2.0", + "hast-util-parse-selector": "2.2.1", + "property-information": "5.0.1", "space-separated-tokens": "1.1.2" } }, @@ -8918,16 +7820,15 @@ "dev": true }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, "highlight.js": { "version": "9.12.0", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=", - "dev": true + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" }, "hmac-drbg": { "version": "1.0.1", @@ -8935,14 +7836,14 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", + "hash.js": "1.1.7", + "minimalistic-assert": "1.0.1", "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", + "resolved": "http://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=", "dev": true }, @@ -8956,9 +7857,9 @@ } }, "hosted-git-info": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, "hpack.js": { @@ -8969,67 +7870,51 @@ "requires": { "inherits": "2.0.3", "obuf": "1.1.2", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "wbuf": "1.7.3" } }, "html-entities": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" }, "html-minifier": { - "version": "3.5.20", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.20.tgz", - "integrity": "sha512-ZmgNLaTp54+HFKkONyLFEfs5dd/ZOtlquKaTnqIWFmx3Av5zG6ZPcV2d0o9XM2fXOTxxIf6eDcwzFFotke/5zA==", + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", "dev": true, "requires": { "camel-case": "3.0.0", "clean-css": "4.2.1", "commander": "2.17.1", - "he": "1.1.1", + "he": "1.2.0", "param-case": "2.1.1", "relateurl": "0.2.7", "uglify-js": "3.4.9" } }, "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz", + "integrity": "sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ==", "dev": true, "requires": { - "html-minifier": "3.5.20", - "loader-utils": "0.2.17", + "html-minifier": "3.5.21", + "loader-utils": "1.1.0", "lodash": "4.17.11", "pretty-error": "2.1.1", - "tapable": "1.0.0", - "toposort": "1.0.7", + "tapable": "1.1.1", "util.promisify": "1.0.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.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - } } }, "htmlparser2": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { - "domelementtype": "1.3.0", + "domelementtype": "1.3.1", "domhandler": "2.1.0", "domutils": "1.1.6", "readable-stream": "1.0.34" @@ -9041,7 +7926,7 @@ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1.3.1" } }, "isarray": { @@ -9052,7 +7937,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -9064,12 +7949,23 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } } }, + "http-auth": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz", + "integrity": "sha1-lFz63WZSHq+PfISRPTd9exXyTjE=", + "requires": { + "apache-crypt": "1.2.1", + "apache-md5": "1.1.2", + "bcryptjs": "2.4.3", + "uuid": "3.3.2" + } + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -9077,29 +7973,20 @@ "dev": true }, "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "1.1.1", + "depd": "1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.3.1" - }, - "dependencies": { - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } + "setprototypeof": "1.1.0", + "statuses": "1.4.0" } }, "http-parser-js": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==" }, "http-proxy": { "version": "1.17.0", @@ -9108,13 +7995,13 @@ "dev": true, "requires": { "eventemitter3": "3.1.0", - "follow-redirects": "1.5.8", + "follow-redirects": "1.5.10", "requires-port": "1.0.0" } }, "http-proxy-middleware": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { @@ -9132,7 +8019,7 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.14.1" + "sshpk": "1.15.2" } }, "https-browserify": { @@ -9148,37 +8035,28 @@ "dev": true, "requires": { "agent-base": "4.2.1", - "debug": "3.2.4" + "debug": "3.2.6" }, "dependencies": { "debug": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.4.tgz", - "integrity": "sha512-fCEG5fOr7m/fhgOD3KurdAov706JbXZJYXAsAOEJ7GgasGr0GO4N+1NsIcrjlIUcyvJ9oZlnelTzN3Ix8z1ecw==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "2.1.1" } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true } } }, - "hyphenate-style-name": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz", - "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=", - "dev": true - }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=", - "dev": true + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } }, "icss-replace-symbols": { "version": "1.1.0", @@ -9192,13 +8070,32 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "6.0.22" + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", "dev": true }, "iferr": { @@ -9226,6 +8123,12 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, + "immer": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.7.2.tgz", + "integrity": "sha512-4Urocwu9+XLDJw4Tc6ZCg7APVjjLInCFvO4TwGsAYV5zT6YYSor14dsZR0+0tHlDIN92cFUOq+i7fC00G5vTxA==", + "dev": true + }, "immutable": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", @@ -9238,7 +8141,17 @@ "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "dev": true, "requires": { - "import-from": "2.1.0" + "import-from": "2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "2.0.0", + "resolve-from": "3.0.0" } }, "import-from": { @@ -9345,7 +8258,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -9362,24 +8274,14 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "inline-style-prefixer": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz", - "integrity": "sha1-hVG45bTVcyROZqNLBPfTIHaitTQ=", - "dev": true, - "requires": { - "bowser": "1.9.4", - "css-in-js-utils": "2.0.1" - } - }, "inquirer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", - "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", + "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", "dev": true, "requires": { "ansi-escapes": "3.1.0", - "chalk": "2.2.2", + "chalk": "2.4.1", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "3.0.3", @@ -9389,7 +8291,7 @@ "run-async": "2.3.0", "rxjs": "6.3.3", "string-width": "2.1.1", - "strip-ansi": "4.0.0", + "strip-ansi": "5.0.0", "through": "2.3.8" }, "dependencies": { @@ -9413,15 +8315,34 @@ "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true + } } } } @@ -9433,22 +8354,21 @@ "dev": true, "requires": { "default-gateway": "2.7.2", - "ipaddr.js": "1.6.0" + "ipaddr.js": "1.8.0" } }, "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -9470,18 +8390,27 @@ "dev": true }, "ipaddr.js": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", - "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "http://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" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } } }, "is-alphabetical": { @@ -9510,20 +8439,18 @@ "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.11.0" + "binary-extensions": "1.12.0" } }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -9531,18 +8458,27 @@ } }, "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "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=", + "requires": { + "is-buffer": "1.1.6" + } + } } }, "is-date-object": { @@ -9561,7 +8497,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "0.1.6", "is-data-descriptor": "0.1.4", @@ -9571,8 +8506,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, @@ -9606,14 +8540,12 @@ "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 + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "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 + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.0.2", @@ -9637,7 +8569,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, "requires": { "is-extglob": "2.1.1" } @@ -9652,25 +8583,17 @@ "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-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "dev": true, - "requires": { - "is-number": "4.0.0" }, "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } } } }, @@ -9681,9 +8604,9 @@ "dev": true }, "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { "is-path-inside": "1.0.1" @@ -9702,7 +8625,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "3.0.1" } @@ -9731,13 +8653,13 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "1.0.3" } }, "is-root": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz", - "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.0.0.tgz", + "integrity": "sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg==", "dev": true }, "is-stream": { @@ -9747,10 +8669,13 @@ "dev": true }, "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "1.0.0" + } }, "is-typedarray": { "version": "1.0.0", @@ -9766,20 +8691,17 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isbinaryfile": { "version": "3.0.3", @@ -9799,8 +8721,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isomorphic-fetch": { "version": "2.2.1", @@ -9810,6 +8731,18 @@ "requires": { "node-fetch": "1.7.3", "whatwg-fetch": "3.0.0" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + } } }, "isstream": { @@ -9836,16 +8769,10 @@ "once": "1.4.0", "resolve": "1.1.7", "supports-color": "3.2.3", - "which": "1.3.0", + "which": "1.3.1", "wordwrap": "1.0.0" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, "glob": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", @@ -9867,7 +8794,7 @@ }, "resolve": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, @@ -9879,12 +8806,6 @@ "requires": { "has-flag": "1.0.0" } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true } } }, @@ -9929,13 +8850,13 @@ "integrity": "sha512-eQY9vN9elYjdgN9Iv6NS/00bptm02EBBk70lRMaVjeA6QYocQgenVrSgC28TJurdnZa80AGO3ASdFN+w/njGiQ==", "dev": true, "requires": { - "@babel/generator": "7.1.2", - "@babel/parser": "7.1.2", + "@babel/generator": "7.2.0", + "@babel/parser": "7.2.0", "@babel/template": "7.1.2", - "@babel/traverse": "7.1.0", - "@babel/types": "7.1.2", + "@babel/traverse": "7.1.6", + "@babel/types": "7.2.0", "istanbul-lib-coverage": "2.0.1", - "semver": "5.5.1" + "semver": "5.6.0" } } } @@ -9946,7 +8867,7 @@ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", "dev": true, "requires": { - "convert-source-map": "1.5.1", + "convert-source-map": "1.6.0", "istanbul-lib-instrument": "1.10.2", "loader-utils": "1.1.0", "schema-utils": "0.3.0" @@ -9996,13 +8917,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "6.26.0", + "babel-generator": "6.26.1", "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", "istanbul-lib-coverage": "1.2.1", - "semver": "5.5.1" + "semver": "5.6.0" } }, "istanbul-lib-report": { @@ -10013,7 +8934,7 @@ "requires": { "istanbul-lib-coverage": "2.0.1", "make-dir": "1.3.0", - "supports-color": "5.4.0" + "supports-color": "5.5.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -10030,7 +8951,7 @@ "integrity": "sha512-30l40ySg+gvBLcxTrLzR4Z2XTRj3HgRCA/p2rnbs/3OiTaoj054gAbuP5DcLOtwqmy4XW8qXBHzrmP2/bQ9i3A==", "dev": true, "requires": { - "debug": "3.2.5", + "debug": "3.2.6", "istanbul-lib-coverage": "2.0.1", "make-dir": "1.3.0", "rimraf": "2.6.2", @@ -10038,9 +8959,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "2.1.1" @@ -10052,12 +8973,6 @@ "integrity": "sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA==", "dev": true }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -10082,16 +8997,8 @@ "dev": true, "requires": { "exit": "0.1.2", - "glob": "7.1.2", + "glob": "7.1.3", "jasmine-core": "2.8.0" - }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } } }, "jasmine-core": { @@ -10126,6 +9033,14 @@ "dev": true, "requires": { "colors": "1.1.2" + }, + "dependencies": { + "colors": { + "version": "1.1.2", + "resolved": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + } } }, "jasminewd2": { @@ -10147,10 +9062,9 @@ "dev": true }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.12.0", @@ -10158,7 +9072,7 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.9", + "argparse": "1.0.10", "esprima": "4.0.1" }, "dependencies": { @@ -10174,14 +9088,12 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "json-parse-better-errors": { "version": "1.0.2", @@ -10213,17 +9125,19 @@ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" }, "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "1.2.0" + } }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "4.1.15" } }, "jsonify": { @@ -10242,14 +9156,6 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "jszip": { @@ -10261,19 +9167,31 @@ "core-js": "2.3.0", "es6-promise": "3.0.2", "lie": "3.1.1", - "pako": "1.0.6", + "pako": "1.0.7", "readable-stream": "2.0.6" }, "dependencies": { "core-js": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", "dev": true }, + "es6-promise": { + "version": "3.0.2", + "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "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 + }, "readable-stream": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { @@ -10287,51 +9205,52 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } } }, "karma": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/karma/-/karma-3.0.0.tgz", - "integrity": "sha512-ZTjyuDXVXhXsvJ1E4CnZzbCjSxD6sEdzEsFYogLuZM0yqvg/mgz+O+R1jb0J7uAQeuzdY8kJgx6hSNXLwFuHIQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.3.tgz", + "integrity": "sha512-JU4FYUtFEGsLZd6ZJzLrivcPj0TkteBiIRDcXWFsltPMGgZMDtby/MIzNOzgyZv/9dahs9vHpSxerC/ZfeX9Qw==", "dev": true, "requires": { - "bluebird": "3.5.1", - "body-parser": "1.18.2", + "bluebird": "3.5.3", + "body-parser": "1.18.3", "chokidar": "2.0.4", - "colors": "1.1.2", + "colors": "1.3.3", "combine-lists": "1.0.1", "connect": "3.6.6", - "core-js": "2.5.7", + "core-js": "2.6.0", "di": "0.0.1", "dom-serialize": "2.2.1", "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", + "flatted": "2.0.0", + "glob": "7.1.3", + "graceful-fs": "4.1.15", "http-proxy": "1.17.0", "isbinaryfile": "3.0.3", "lodash": "4.17.11", - "log4js": "3.0.5", - "mime": "2.3.1", + "log4js": "3.0.6", + "mime": "2.4.0", "minimatch": "3.0.4", "optimist": "0.6.1", "qjobs": "1.2.0", "range-parser": "1.2.0", "rimraf": "2.6.2", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "socket.io": "2.1.1", "source-map": "0.6.1", "tmp": "0.0.33", - "useragent": "2.2.1" + "useragent": "2.3.0" }, "dependencies": { "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", + "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", "dev": true }, "source-map": { @@ -10345,20 +9264,20 @@ "karma-chrome-launcher": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", - "integrity": "sha1-zxudBxNswY/iOTJ9JGVMPbw2is8=", + "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", "dev": true, "requires": { "fs-access": "1.0.1", - "which": "1.3.0" + "which": "1.3.1" } }, "karma-cli": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz", "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=", "dev": true, "requires": { - "resolve": "1.5.0" + "resolve": "1.8.1" } }, "karma-coverage-istanbul-reporter": { @@ -10374,7 +9293,7 @@ "karma-firefox-launcher": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz", - "integrity": "sha1-LEcDBFLwRTHrfRPU/HZpYwu5Mzk=", + "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==", "dev": true }, "karma-jasmine": { @@ -10385,7 +9304,7 @@ }, "karma-jasmine-html-reporter": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-0.2.2.tgz", + "resolved": "http://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-0.2.2.tgz", "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=", "dev": true, "requires": { @@ -10399,24 +9318,6 @@ "dev": true, "requires": { "source-map-support": "0.5.9" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" - } - } } }, "keycode": { @@ -10432,13 +9333,9 @@ "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.6" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "klaw": { "version": "1.3.1", @@ -10446,7 +9343,37 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "4.1.15" + } + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15" + } + }, + "lazy-universal-dotenv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-2.0.0.tgz", + "integrity": "sha512-1Wi0zgZMfRLaRAK21g3odYuU+HE1d85Loe2tb44YhcNwIzhmD49mTPR9aKckpB9Q9Q9mA+hUMLI2xlkcCAe3yw==", + "dev": true, + "requires": { + "@babel/runtime": "7.2.0", + "app-root-dir": "1.0.2", + "core-js": "2.6.0", + "dotenv": "6.2.0", + "dotenv-expand": "4.2.0" + }, + "dependencies": { + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + } } }, "lcid": { @@ -10466,7 +9393,7 @@ "requires": { "clone": "2.1.2", "errno": "0.1.7", - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "image-size": "0.5.5", "mime": "1.6.0", "mkdirp": "0.5.1", @@ -10506,12 +9433,12 @@ } }, "license-webpack-plugin": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.5.0.tgz", - "integrity": "sha512-Of/H79rZqm2aeg4RnP9SMSh19qkKemoLT5VaJV58uH5AxeYWEcBgGFs753JEJ/Hm6BPvQVfIlrrjoBwYj8p7Tw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.2.tgz", + "integrity": "sha512-GsomZw5VoT20ST8qH2tOjBgbyhn6Pgs9M94g0mbvfBIV1VXufm1iKY+4dbgfTObj1Mp6nSRE3Zf74deOZr0KwA==", "dev": true, "requires": { - "ejs": "2.6.1" + "webpack-sources": "1.3.0" } }, "lie": { @@ -10523,13 +9450,91 @@ "immediate": "3.0.6" } }, + "live-server": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz", + "integrity": "sha512-Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==", + "requires": { + "chokidar": "2.0.4", + "colors": "1.3.3", + "connect": "3.6.6", + "cors": "2.8.5", + "event-stream": "3.3.4", + "faye-websocket": "0.11.1", + "http-auth": "3.1.3", + "morgan": "1.9.1", + "object-assign": "4.1.1", + "opn": "5.4.0", + "proxy-middleware": "0.15.0", + "send": "0.16.2", + "serve-index": "1.9.1" + }, + "dependencies": { + "colors": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "requires": { + "is-wsl": "1.1.0" + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + } + } + } + }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "parse-json": "2.2.0", "pify": "2.3.0", "pinkie-promise": "2.0.1", @@ -10538,16 +9543,16 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", + "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", "dev": true }, "loader-utils": { @@ -10559,6 +9564,14 @@ "big.js": "3.2.0", "emojis-list": "2.1.0", "json5": "0.5.1" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } } }, "locate-path": { @@ -10576,11 +9589,50 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" + }, "lodash._getnative": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" }, "lodash.assign": { "version": "4.2.0", @@ -10588,11 +9640,15 @@ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", "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.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" }, "lodash.clonedeep": { "version": "4.5.0", @@ -10603,38 +9659,45 @@ "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" }, - "lodash.endswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", - "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", - "dev": true + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "requires": { + "lodash._root": "3.0.1" + } + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" }, "lodash.isarray": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" }, "lodash.isplainobject": { "version": "4.0.6", @@ -10642,23 +9705,26 @@ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", "dev": true }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, "requires": { "lodash._getnative": "3.9.1", "lodash.isarguments": "3.1.0", "lodash.isarray": "3.0.4" } }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", @@ -10668,26 +9734,27 @@ "lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", - "dev": true + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" }, - "lodash.some": { + "lodash.reduce": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", - "dev": true + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" }, - "lodash.startswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", - "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=", - "dev": true + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" }, "lodash.tail": { "version": "4.1.1", @@ -10695,39 +9762,52 @@ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", "dev": true }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", - "dev": true + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } }, "log4js": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.5.tgz", - "integrity": "sha512-IX5c3G/7fuTtdr0JjOT2OIR12aTESVhsH6cEsijloYwKgcPRlO6DgOU72v0UFhWcoV1HN6+M3dwT89qVPLXm0w==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", + "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", "dev": true, "requires": { - "circular-json": "0.5.7", + "circular-json": "0.5.9", "date-format": "1.2.0", - "debug": "3.2.5", + "debug": "3.2.6", "rfdc": "1.1.2", "streamroller": "0.7.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "2.1.1" } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true } } }, @@ -10738,12 +9818,12 @@ "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=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "4.0.0" } }, "loud-rejection": { @@ -10773,15 +9853,20 @@ } }, "lru-cache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", - "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" } }, + "lunr": { + "version": "0.7.2", + "resolved": "http://registry.npmjs.org/lunr/-/lunr-0.7.2.tgz", + "integrity": "sha1-eaMOky4hbLoWNUHuN6NgfBLNcoE=" + }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", @@ -10798,9 +9883,9 @@ "dev": true }, "map-age-cleaner": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", - "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", "dev": true, "requires": { "p-defer": "1.0.0" @@ -10809,8 +9894,7 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-obj": { "version": "1.0.1", @@ -10818,19 +9902,23 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, + "map-stream": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "1.0.1" } }, "marked": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.1.tgz", - "integrity": "sha512-iUkBZegCZou4AdwbKTwSW/lNDcz5OuRSl3qdcl31Ia0B2QPG0Jn+tKblh/9/eP9/6+4h27vpoh8wel/vQOV0vw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.2.tgz", + "integrity": "sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA==", "dev": true }, "material-colors": { @@ -10841,7 +9929,7 @@ }, "material-design-icons-iconfont": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/material-design-icons-iconfont/-/material-design-icons-iconfont-3.0.3.tgz", + "resolved": "http://registry.npmjs.org/material-design-icons-iconfont/-/material-design-icons-iconfont-3.0.3.tgz", "integrity": "sha1-FUoQhAR9Ticjf6f1o34Qdc7qbfI=" }, "material-design-lite": { @@ -10856,25 +9944,14 @@ "dev": true }, "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "3.0.4", - "inherits": "2.0.3" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - } + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "mdi": { @@ -10884,7 +9961,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, @@ -10894,7 +9971,7 @@ "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", "dev": true, "requires": { - "map-age-cleaner": "0.1.2", + "map-age-cleaner": "0.1.3", "mimic-fn": "1.2.0", "p-is-promise": "1.1.0" } @@ -10906,12 +9983,12 @@ "dev": true, "requires": { "errno": "0.1.7", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "meow": { "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -10933,6 +10010,12 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge2": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -10943,7 +10026,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", @@ -10953,19 +10035,11 @@ "extglob": "2.0.4", "fragment-cache": "0.2.1", "kind-of": "6.0.2", - "nanomatch": "1.2.9", + "nanomatch": "1.2.13", "object.pick": "1.3.0", "regex-not": "1.0.2", "snapdragon": "0.8.2", "to-regex": "3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } } }, "miller-rabin": { @@ -10982,21 +10056,20 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true + "dev": true, + "optional": true }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "1.30.0" + "mime-db": "1.37.0" } }, "mimic-fn": { @@ -11015,33 +10088,20 @@ } }, "mini-css-extract-plugin": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.3.tgz", - "integrity": "sha512-Mxs0nxzF1kxPv4TRi2NimewgXlJqh0rGE30vviCU2WHrpbta6wklnUV9dr9FUtoAHmB3p3LeXEC+ZjgHvB0Dzg==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.4.tgz", + "integrity": "sha512-o+Jm+ocb0asEngdM6FsZWtZsRzA8koFUudIDwYUfl94M3PejPHG7Vopw5hN9V8WsMkSFpm3tZP3Fesz89EyrfQ==", "dev": true, "requires": { "loader-utils": "1.1.0", "schema-utils": "1.0.0", - "webpack-sources": "1.1.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" - } - } + "webpack-sources": "1.3.0" } }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { @@ -11053,17 +10113,15 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mississippi": { "version": "2.0.0", @@ -11071,23 +10129,22 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "1.6.1", - "duplexify": "3.6.0", + "concat-stream": "1.6.2", + "duplexify": "3.6.1", "end-of-stream": "1.4.1", "flush-write-stream": "1.0.3", "from2": "2.3.0", "parallel-transform": "1.1.0", "pump": "2.0.1", "pumpify": "1.5.1", - "stream-each": "1.2.2", - "through2": "2.0.3" + "stream-each": "1.2.3", + "through2": "2.0.5" } }, "mixin-deep": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, "requires": { "for-in": "1.0.2", "is-extendable": "1.0.1" @@ -11097,7 +10154,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "2.0.4" } @@ -11124,7 +10180,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -11133,16 +10189,43 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } } }, "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz", + "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==" + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "2.0.1", + "debug": "2.6.9", + "depd": "1.1.2", + "on-finished": "2.3.0", + "on-headers": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } }, "move-concurrently": { "version": "1.0.1", @@ -11159,9 +10242,9 @@ } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "multicast-dns": { "version": "6.2.3", @@ -11170,7 +10253,7 @@ "dev": true, "requires": { "dns-packet": "1.3.1", - "thunky": "1.0.2" + "thunky": "1.0.3" } }, "multicast-dns-service-types": { @@ -11179,6 +10262,14 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "multipipe": { + "version": "0.1.2", + "resolved": "http://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "requires": { + "duplexer2": "0.0.2" + } + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", @@ -11191,55 +10282,32 @@ "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==" }, "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "dev": true, + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { "arr-diff": "4.0.0", "array-unique": "0.3.2", "define-property": "2.0.2", "extend-shallow": "3.0.2", "fragment-cache": "0.2.1", - "is-odd": "2.0.0", "is-windows": "1.0.2", "kind-of": "6.0.2", "object.pick": "1.3.0", "regex-not": "1.0.2", "snapdragon": "0.8.2", "to-regex": "3.0.2" - }, - "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 - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } } }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "neo-async": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", - "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, "ng2-device-detector": { @@ -11248,9 +10316,9 @@ "integrity": "sha512-Xk6peAl8dzBM5OFLK6pTThA0bk4YZ4xgyNRbLUTmc2aeDeH6VYwCx9AA2DGvI4rilGp01GNEzHrA84nY5dpwCQ==" }, "ngx-bootstrap": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-3.0.1.tgz", - "integrity": "sha512-ni91yYtn8ldgf/pxrlwl9lkVcLURGzopSpJnEbbgG1v1EZWTobI8y7J3mx4Kxptkn0EeiQwnLel67G7XJSox4A==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-3.1.3.tgz", + "integrity": "sha512-fZZbOt7xBPnz6i2x9T1Ys4HPBPNQ21NGd3nFj6Lbr+J9olQjQ69I49wU4gnSQBpuv+CM1r/gSVGXdI/4MRCHqw==" }, "nice-try": { "version": "1.0.5", @@ -11268,14 +10336,10 @@ } }, "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==", + "dev": true }, "node-forge": { "version": "0.7.5", @@ -11290,8 +10354,8 @@ "dev": true, "requires": { "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", + "glob": "7.1.3", + "graceful-fs": "4.1.15", "mkdirp": "0.5.1", "nopt": "3.0.6", "npmlog": "4.1.2", @@ -11300,12 +10364,12 @@ "rimraf": "2.6.2", "semver": "5.3.0", "tar": "2.2.1", - "which": "1.3.0" + "which": "1.3.1" }, "dependencies": { "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true } @@ -11331,30 +10395,38 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", "url": "0.11.0", - "util": "0.10.3", + "util": "0.10.4", "vm-browserify": "0.0.4" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "node-releases": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.12.tgz", - "integrity": "sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.1.tgz", + "integrity": "sha512-2UXrBr6gvaebo5TNF84C66qyJJ6r0kxBObgZIDX3D3/mt1ADKiHux3NJPWisq0wxvJJdkjECH+9IIKYViKj71Q==", "dev": true, "requires": { - "semver": "5.5.1" + "semver": "5.6.0" } }, "node-sass": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", - "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", + "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", "dev": true, "requires": { "async-foreach": "0.1.3", @@ -11362,7 +10434,7 @@ "cross-spawn": "3.0.1", "gaze": "1.1.3", "get-stdin": "4.0.1", - "glob": "7.1.2", + "glob": "7.1.3", "in-publish": "2.0.0", "lodash.assign": "4.2.0", "lodash.clonedeep": "4.5.0", @@ -11372,7 +10444,7 @@ "nan": "2.11.1", "node-gyp": "3.8.0", "npmlog": "4.1.2", - "request": "2.87.0", + "request": "2.88.0", "sass-graph": "2.2.4", "stdout-stream": "1.4.1", "true-case-path": "1.0.3" @@ -11386,7 +10458,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -11397,34 +10469,6 @@ "supports-color": "2.0.0" } }, - "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", - "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.1", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -11442,6 +10486,12 @@ "find-parent-dir": "0.3.0" } }, + "node-version": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz", + "integrity": "sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -11457,17 +10507,16 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", + "hosted-git-info": "2.7.1", "is-builtin-module": "1.0.0", - "semver": "5.5.1", - "validate-npm-package-license": "3.0.3" + "semver": "5.6.0", + "validate-npm-package-license": "3.0.4" } }, "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.1.0" } @@ -11484,9 +10533,9 @@ "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", + "hosted-git-info": "2.7.1", "osenv": "0.1.5", - "semver": "5.5.1", + "semver": "5.6.0", "validate-npm-package-name": "3.0.0" } }, @@ -11496,16 +10545,16 @@ "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==", "dev": true, "requires": { - "concat-stream": "1.6.1", - "graceful-fs": "4.1.11", + "concat-stream": "1.6.2", + "graceful-fs": "4.1.15", "normalize-package-data": "2.4.0", "npm-package-arg": "6.1.0", "npmlog": "4.1.2", "once": "1.4.0", "request": "2.88.0", "retry": "0.10.1", - "safe-buffer": "5.1.1", - "semver": "5.5.1", + "safe-buffer": "5.1.2", + "semver": "5.6.0", "slide": "1.1.6", "ssri": "5.3.0" } @@ -11525,17 +10574,16 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", + "are-we-there-yet": "1.1.5", "console-control-strings": "1.1.0", "gauge": "2.7.4", "set-blocking": "2.0.0" } }, "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "requires": { "boolbase": "1.0.0" } @@ -11559,16 +10607,15 @@ "dev": true }, "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "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 + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-component": { "version": "0.0.3", @@ -11580,7 +10627,6 @@ "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", @@ -11591,24 +10637,30 @@ "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.6" } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } } } }, "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", "dev": true }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "3.0.1" } @@ -11619,10 +10671,10 @@ "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1", - "has": "1.0.1" + "has": "1.0.3" } }, "object.fromentries": { @@ -11631,10 +10683,10 @@ "integrity": "sha512-F7XUm84lg0uNXNzrRAC5q8KJe0yYaxgLU9hTSqWYM6Rfnh0YjP24EG3xq7ncj2Wu1AdfueNHKCOlamIonG4UHQ==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1", - "has": "1.0.1" + "has": "1.0.3" } }, "object.getownpropertydescriptors": { @@ -11643,8 +10695,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0" + "define-properties": "1.1.3", + "es-abstract": "1.12.0" } }, "object.omit": { @@ -11672,7 +10724,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "3.0.1" } @@ -11683,10 +10734,10 @@ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1", - "has": "1.0.1" + "has": "1.0.3" } }, "obuf": { @@ -11699,7 +10750,6 @@ "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" } @@ -11707,14 +10757,12 @@ "on-headers": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1.0.2" } @@ -11729,9 +10777,9 @@ } }, "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", "dev": true, "requires": { "is-wsl": "1.1.0" @@ -11741,17 +10789,20 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, "requires": { "minimist": "0.0.10", - "wordwrap": "0.0.2" + "wordwrap": "0.0.3" }, "dependencies": { "minimist": { "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" } } }, @@ -11767,14 +10818,6 @@ "prelude-ls": "1.1.2", "type-check": "0.3.2", "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } } }, "original": { @@ -11782,7 +10825,7 @@ "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "requires": { - "url-parse": "1.4.3" + "url-parse": "1.4.4" } }, "os-browserify": { @@ -11793,13 +10836,13 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -11808,7 +10851,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -11841,9 +10884,9 @@ "dev": true }, "p-limit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "1.0.0" @@ -11855,7 +10898,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "1.3.0" } }, "p-map": { @@ -11871,9 +10914,9 @@ "dev": true }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==", "dev": true }, "parallel-transform": { @@ -11884,7 +10927,7 @@ "requires": { "cyclist": "0.2.2", "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "param-case": { @@ -11897,16 +10940,16 @@ } }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.1", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "pbkdf2": "3.0.17" } }, "parse-entities": { @@ -11958,9 +11001,14 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "1.3.2" } }, + "parse-node-version": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.0.tgz", + "integrity": "sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg==" + }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -11994,14 +11042,12 @@ "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path": { "version": "0.12.7", @@ -12010,20 +11056,19 @@ "dev": true, "requires": { "process": "0.11.10", - "util": "0.10.3" + "util": "0.10.4" } }, "path-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "resolved": "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", "dev": true }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", @@ -12033,9 +11078,8 @@ }, "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 + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -12050,9 +11094,9 @@ "dev": true }, "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-to-regexp": { "version": "0.1.7", @@ -12069,17 +11113,25 @@ "pify": "3.0.0" } }, + "pause-stream": { + "version": "0.0.11", + "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "requires": { + "through": "2.3.8" + } + }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "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.10" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "performance-now": { @@ -12138,10 +11190,19 @@ "mkdirp": "0.5.1" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -12149,31 +11210,19 @@ "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 + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", + "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", "dev": true, "requires": { "chalk": "2.4.1", "source-map": "0.6.1", - "supports-color": "5.4.0" + "supports-color": "5.5.0" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -12189,57 +11238,18 @@ "dev": true, "requires": { "postcss": "7.0.5" - }, - "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" - } - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.5.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } } }, "postcss-import": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz", - "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.0.tgz", + "integrity": "sha512-3KqKRZcaZAvxbY8DVLdd81tG5uKzbUQuiWIvy0o0fzEC42bKacqPYFWbfCQyw6L4LWUaqPz/idvIdbhpgQ32eQ==", "dev": true, "requires": { - "postcss": "6.0.22", - "postcss-value-parser": "3.3.0", + "postcss": "7.0.5", + "postcss-value-parser": "3.3.1", "read-cache": "1.0.0", - "resolve": "1.5.0" + "resolve": "1.8.1" } }, "postcss-load-config": { @@ -12259,26 +11269,15 @@ "dev": true, "requires": { "loader-utils": "1.1.0", - "postcss": "7.0.5", + "postcss": "7.0.6", "postcss-load-config": "2.0.0", "schema-utils": "1.0.0" }, "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" - } - }, "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz", + "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==", "dev": true, "requires": { "chalk": "2.4.1", @@ -12293,7 +11292,7 @@ "dev": true, "requires": { "ajv": "6.4.0", - "ajv-errors": "1.0.0", + "ajv-errors": "1.0.1", "ajv-keywords": "3.2.0" } }, @@ -12302,25 +11301,35 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } } } }, "postcss-modules-extract-imports": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", - "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", "dev": true, "requires": { - "postcss": "6.0.22" + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "postcss-modules-local-by-default": { @@ -12329,8 +11338,27 @@ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.22" + "css-selector-tokenizer": "0.7.1", + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "postcss-modules-scope": { @@ -12339,8 +11367,27 @@ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.22" + "css-selector-tokenizer": "0.7.1", + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "postcss-modules-values": { @@ -12350,26 +11397,32 @@ "dev": true, "requires": { "icss-replace-symbols": "1.1.0", - "postcss": "6.0.22" - } - }, - "postcss-url": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.2.tgz", - "integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==", - "dev": true, - "requires": { - "mime": "1.6.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "postcss": "6.0.22", - "xxhashjs": "0.2.2" + "postcss": "6.0.23" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "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=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "prelude-ls": { @@ -12385,9 +11438,9 @@ "dev": true }, "prettier": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.3.tgz", - "integrity": "sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.3.tgz", + "integrity": "sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==", "dev": true }, "pretty-error": { @@ -12400,27 +11453,19 @@ "utila": "0.4.0" } }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, "prismjs": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.15.0.tgz", "integrity": "sha512-Lf2JrFYx8FanHrjoV5oL8YHCclLQgbJcVZR+gikGGMqz6ub5QVWDTM6YIwm3BuPxM/LOV+rKns3LssXNLIf+DA==", "dev": true, "requires": { - "clipboard": "2.0.1" - }, - "dependencies": { - "clipboard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz", - "integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==", - "dev": true, - "optional": true, - "requires": { - "good-listener": "1.2.2", - "select": "1.1.2", - "tiny-emitter": "2.0.2" - } - } + "clipboard": "2.0.4" } }, "private": { @@ -12436,10 +11481,9 @@ "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 + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "promise": { "version": "7.3.1", @@ -12456,14 +11500,20 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "promise-polyfill": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc=", + "dev": true + }, "promise.prototype.finally": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz", "integrity": "sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ==", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1" } }, @@ -12473,14 +11523,14 @@ "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "dev": true, "requires": { - "loose-envify": "1.3.1", + "loose-envify": "1.4.0", "object-assign": "4.1.1" } }, "property-information": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz", - "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.0.1.tgz", + "integrity": "sha512-nAtBDVeSwFM3Ot/YxT7s4NqZmqXI7lLzf46BThvotEtYf2uk2yH0ACYuWQkJ7gxKs49PPtKVY0UlDGkyN9aJlw==", "dev": true, "requires": { "xtend": "4.0.1" @@ -12492,13 +11542,13 @@ "integrity": "sha512-ORey5ewQMYiXQxcQohsqEiKYOg/r5yJoJbt0tuROmmgajdg/CA3gTOZNIFJncUVMAJIk5YFqBBLUjKVmQO6tfA==", "dev": true, "requires": { - "@types/node": "6.0.117", + "@types/node": "6.14.2", "@types/q": "0.0.32", - "@types/selenium-webdriver": "3.0.10", + "@types/selenium-webdriver": "3.0.14", "blocking-proxy": "1.0.1", "browserstack": "1.5.1", "chalk": "1.1.3", - "glob": "7.1.2", + "glob": "7.1.3", "jasmine": "2.8.0", "jasminewd2": "2.2.0", "optimist": "0.6.1", @@ -12511,50 +11561,20 @@ }, "dependencies": { "@types/node": { - "version": "6.0.117", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.117.tgz", - "integrity": "sha512-sihk0SnN8PpiS5ihu5xJQ5ddnURNq4P+XPmW+nORlKkHy21CoZO/IVHK/Wq/l3G8fFW06Fkltgnqx229uPlnRg==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.2.tgz", + "integrity": "sha512-JWB3xaVfsfnFY8Ofc9rTB/op0fqqTSqy4vBcVk1LuRJvta7KTX+D//fCkiTMeLGhdr2EbFZzQjC97gvmPilk9Q==", "dev": true }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -12565,15 +11585,6 @@ "supports-color": "2.0.0" } }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", @@ -12582,164 +11593,64 @@ "requires": { "globby": "5.0.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", "rimraf": "2.6.2" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.20" - } - }, "globby": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "resolved": "http://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { "array-union": "1.0.2", "arrify": "1.0.1", - "glob": "7.1.2", + "glob": "7.1.3", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1" } }, - "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } - }, - "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", - "dev": true - }, - "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", - "dev": true, - "requires": { - "mime-db": "1.36.0" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.1.0", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.20", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "source-map": "0.5.7" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "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 }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "1.1.29", - "punycode": "1.4.1" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, "webdriver-manager": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.0.tgz", "integrity": "sha512-oEc5fmkpz6Yh6udhwir5m0eN5mgRPq9P/NU5YWuT3Up5slt6Zz+znhLU7q4+8rwCZz/Qq3Fgpr/4oao7NPCm2A==", "dev": true, "requires": { - "adm-zip": "0.4.11", + "adm-zip": "0.4.13", "chalk": "1.1.3", "del": "2.2.2", - "glob": "7.1.2", + "glob": "7.1.3", "ini": "1.3.5", "minimist": "1.2.0", "q": "1.4.1", "request": "2.88.0", "rimraf": "2.6.2", - "semver": "5.5.1", + "semver": "5.6.0", "xml2js": "0.4.19" } } @@ -12760,49 +11671,81 @@ "dependencies": { "fs-extra": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "jsonfile": "2.4.0", "klaw": "1.3.1" } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + } + } + }, + "protractor-jasmine2-html-reporter": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/protractor-jasmine2-html-reporter/-/protractor-jasmine2-html-reporter-0.0.7.tgz", + "integrity": "sha1-RS2pyFPpw5hctSamqZM/XJerXYw=", + "dev": true, + "requires": { + "async": "2.6.1", + "hat": "0.0.3", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "string.prototype.startswith": "0.2.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "lodash": "4.17.11" } } } }, - "protractor-jasmine2-html-reporter": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/protractor-jasmine2-html-reporter/-/protractor-jasmine2-html-reporter-0.0.7.tgz", - "integrity": "sha1-RS2pyFPpw5hctSamqZM/XJerXYw=", + "protractor-screenshoter-plugin": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/protractor-screenshoter-plugin/-/protractor-screenshoter-plugin-0.10.3.tgz", + "integrity": "sha512-OF9kGe1rMxBQY4uXzXQUFT14EB83rz8DlDcxmH5HcOHPBpUhGh+Nwo7+K87w1LoLcTuGdG7Bz+/hGwoGguDfsA==", "dev": true, "requires": { - "async": "2.6.0", - "hat": "0.0.3", + "circular-json": "0.5.9", + "fs-extra": "7.0.1", + "klaw-sync": "6.0.0", "lodash": "4.17.11", "mkdirp": "0.5.1", - "string.prototype.startswith": "0.2.0" + "moment": "2.23.0", + "q": "1.5.1", + "screenshoter-report-analyzer": "0.6.0", + "uuid": "3.3.2" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + } } }, "proxy-addr": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", - "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", "dev": true, "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.6.0" + "ipaddr.js": "1.8.0" } }, + "proxy-middleware": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", + "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=" + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -12816,22 +11759,23 @@ "dev": true }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.6" + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "pump": { @@ -12850,15 +11794,15 @@ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { - "duplexify": "3.6.0", + "duplexify": "3.6.1", "inherits": "2.0.3", "pump": "2.0.1" } }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "q": { @@ -12892,14 +11836,20 @@ "dev": true }, "querystringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", - "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", + "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==" + }, + "ramda": { + "version": "0.21.0", + "resolved": "http://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=", + "dev": true }, "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "requires": { "is-number": "4.0.0", @@ -12912,12 +11862,6 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, @@ -12927,7 +11871,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "randomfill": { @@ -12937,43 +11881,42 @@ "dev": true, "requires": { "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", "dev": true, "requires": { "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", "unpipe": "1.0.0" } }, "raw-loader": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", "dev": true }, "react": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/react/-/react-16.5.2.tgz", - "integrity": "sha512-FDCSVd3DjVTmbEAjUNX6FgfAmQ+ypJfHUsqUJOYNCBUp1h8lqmtC+0mXJ+JjsWx4KAVTkk1vKd1hLQPvEviSuw==", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", + "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "dev": true, "requires": { - "loose-envify": "1.3.1", + "loose-envify": "1.4.0", "object-assign": "4.1.1", "prop-types": "15.6.2", - "schedule": "0.5.0" + "scheduler": "0.11.3" } }, "react-color": { @@ -12989,47 +11932,31 @@ "tinycolor2": "1.4.1" } }, - "react-datetime": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/react-datetime/-/react-datetime-2.15.0.tgz", - "integrity": "sha512-RP5OqXVfrhdoFALJzMU8tKxRFaIZzJZqZEpf5oK7pvwG80a/bET/TdJ7jT7W9lyAf1nKNo6zyYkvHW3ZJ/ypvg==", - "dev": true, - "requires": { - "create-react-class": "15.6.3", - "object-assign": "3.0.0", - "prop-types": "15.6.2", - "react-onclickoutside": "6.7.1" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - } - } - }, "react-dev-utils": { - "version": "6.0.0-next.2150693d", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-6.0.0-next.2150693d.tgz", - "integrity": "sha512-mErObh6vUCdVeTus1An4r8OAfiKWNA3RNrt7o1M4Gn6BEgfpXxxBGhs38Tg7AW7cDh1/CdsDBavVKDNFe0lkJQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-6.1.1.tgz", + "integrity": "sha512-ThbJ86coVd6wV/QiTo8klDTvdAJ1WsFCGQN07+UkN+QN9CtCSsl/+YuDJToKGeG8X4j9HMGXNKbk2QhPAZr43w==", "dev": true, "requires": { "@babel/code-frame": "7.0.0", "address": "1.0.3", - "browserslist": "3.2.6", + "browserslist": "4.1.1", "chalk": "2.4.1", "cross-spawn": "6.0.5", "detect-port-alt": "1.1.6", "escape-string-regexp": "1.0.5", "filesize": "3.6.1", + "find-up": "3.0.0", "global-modules": "1.0.0", - "gzip-size": "4.1.0", - "inquirer": "5.1.0", - "is-root": "1.0.0", - "opn": "5.3.0", + "globby": "8.0.1", + "gzip-size": "5.0.0", + "immer": "1.7.2", + "inquirer": "6.2.0", + "is-root": "2.0.0", + "loader-utils": "1.1.0", + "opn": "5.4.0", "pkg-up": "2.0.0", - "react-error-overlay": "5.0.0-next.2150693d", + "react-error-overlay": "5.1.0", "recursive-readdir": "2.2.2", "shell-quote": "1.6.1", "sockjs-client": "1.1.5", @@ -13044,32 +11971,16 @@ "dev": true }, "browserslist": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.6.tgz", - "integrity": "sha512-XCsMSg9V4S1VRdcp265dJ+8kBRjfuFXcavbisY7G6T9QI0H1Z24PP53vvs0WDYWqm38Mco1ILDtafcS8ZR4xiw==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000842", - "electron-to-chromium": "1.3.47" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.1.tgz", + "integrity": "sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "caniuse-lite": "1.0.30000921", + "electron-to-chromium": "1.3.92", + "node-releases": "1.1.1" } }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -13078,9 +11989,18 @@ "requires": { "nice-try": "1.0.5", "path-key": "2.0.1", - "semver": "5.5.1", + "semver": "5.6.0", "shebang-command": "1.2.0", - "which": "1.3.0" + "which": "1.3.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" } }, "detect-port-alt": { @@ -13093,33 +12013,55 @@ "debug": "2.6.9" } }, - "external-editor": { - "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.2" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "3.0.0" + } + }, + "globby": { + "version": "8.0.1", + "resolved": "http://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.2.4", + "glob": "7.1.3", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" } }, "inquirer": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.1.0.tgz", - "integrity": "sha512-kn7N70US1MSZHZHSGJLiZ7iCwwncc7b0gc68YtlX29OjI3Mp0tSVV+snVXpZ1G+ONS3Ac9zd1m6hve2ibLDYfA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", "dev": true, "requires": { "ansi-escapes": "3.1.0", "chalk": "2.4.1", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.2.0", + "external-editor": "3.0.3", "figures": "2.0.0", "lodash": "4.17.11", "mute-stream": "0.0.7", "run-async": "2.3.0", - "rxjs": "5.5.12", + "rxjs": "6.3.3", "string-width": "2.1.1", "strip-ansi": "4.0.0", "through": "2.3.8" @@ -13131,15 +12073,46 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "3.0.0", + "path-exists": "3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "symbol-observable": "1.0.1" + "p-limit": "2.0.0" } }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, "sockjs-client": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", @@ -13151,7 +12124,7 @@ "faye-websocket": "0.11.1", "inherits": "2.0.3", "json3": "3.3.2", - "url-parse": "1.4.3" + "url-parse": "1.4.4" } }, "string-width": { @@ -13172,31 +12145,25 @@ "requires": { "ansi-regex": "3.0.0" } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true } } }, "react-dom": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.5.2.tgz", - "integrity": "sha512-RC8LDw8feuZOHVgzEf7f+cxBr/DnKdqp56VU0lAs1f4UfKc4cU8wU4fTq/mgnvynLQo8OtlPC19NUFh/zjZPuA==", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz", + "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==", "dev": true, "requires": { - "loose-envify": "1.3.1", + "loose-envify": "1.4.0", "object-assign": "4.1.1", "prop-types": "15.6.2", - "schedule": "0.5.0" + "scheduler": "0.11.3" } }, "react-error-overlay": { - "version": "5.0.0-next.2150693d", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.0.0-next.2150693d.tgz", - "integrity": "sha512-vHHbn/o3QDN/p+8hmc9mf3XDINREwLKTuECg9kRJHWYqwzOAuUupnH6SYFrt4RNJZrMu/Ov+R/AK+YqQvfeiYA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.0.tgz", + "integrity": "sha512-akMy/BQT5m1J3iJIHkSb4qycq2wzllWsmmolaaFVnb+LPV9cIJ/nTud40ZsiiT0H3P+/wXIdbjx2fzF61OaeOQ==", "dev": true }, "react-fuzzy": { @@ -13207,18 +12174,19 @@ "requires": { "babel-runtime": "6.26.0", "classnames": "2.2.6", - "fuse.js": "3.2.1", + "fuse.js": "3.3.0", "prop-types": "15.6.2" } }, "react-inspector": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-2.3.0.tgz", - "integrity": "sha512-aIcbWb0fKFhEMB+RadoOYawlr1JoMMfrQ1oRgPUG/f/e4zERVJ6nYcIaQmrQmdHCZ63BOqe2cEkoeY0kyLBzNg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-2.3.1.tgz", + "integrity": "sha512-tUUK7t3KWgZEIUktOYko5Ic/oYwvjEvQUFAGC1UeMeDaQ5za2yZFtItJa2RTwBJB//NxPr000WQK6sEbqC6y0Q==", "dev": true, "requires": { "babel-runtime": "6.26.0", - "is-dom": "1.0.9" + "is-dom": "1.0.9", + "prop-types": "15.6.2" } }, "react-lifecycles-compat": { @@ -13228,9 +12196,9 @@ "dev": true }, "react-modal": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.6.1.tgz", - "integrity": "sha512-vAhnawahH1fz8A5x/X/1X20KHMe6Q0mkfU5BKPgKSVPYhMhsxtRbNHSitsoJ7/oP27xZo3naZZlwYuuzuSO1xw==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.7.1.tgz", + "integrity": "sha512-eSgotXkqOCXi0b27AwLCoJ8yqLepKnbZdMp/zfUmZPnMNoe39pDT0mbAPq9rp+TToqM5GUTv8C36Cuja+ThbhA==", "dev": true, "requires": { "exenv": "1.2.2", @@ -13239,20 +12207,15 @@ "warning": "3.0.0" } }, - "react-onclickoutside": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz", - "integrity": "sha512-p84kBqGaMoa7VYT0vZ/aOYRfJB+gw34yjpda1Z5KeLflg70HipZOT+MXQenEhdkPAABuE2Astq4zEPdMqUQxcg==", - "dev": true - }, "react-split-pane": { - "version": "0.1.84", - "resolved": "https://registry.npmjs.org/react-split-pane/-/react-split-pane-0.1.84.tgz", - "integrity": "sha512-rso1dRAXX/WETyqF5C0fomIYzpF71Nothfr1R7pFkrJCPVJ20ok2e6wqF+JvUTyE/meiBvsbNPT1loZjyU+53w==", + "version": "0.1.85", + "resolved": "https://registry.npmjs.org/react-split-pane/-/react-split-pane-0.1.85.tgz", + "integrity": "sha512-3GhaYs6+eVNrewgN4eQKJoNMQ4pcegNMTMhR5bO/NFO91K6/98qdD1sCuWPpsefCjzxNTjkvVYWQC0bMaC45mA==", "dev": true, "requires": { - "inline-style-prefixer": "3.0.8", "prop-types": "15.6.2", + "react": "16.6.3", + "react-dom": "16.6.3", "react-lifecycles-compat": "3.0.4", "react-style-proptype": "3.2.2" } @@ -13267,48 +12230,38 @@ } }, "react-syntax-highlighter": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-8.0.1.tgz", - "integrity": "sha512-en/fS7a1eFvEVnAFZ60agglGgH9jRsNrgWpijeFCn4KE39PH7/RWt2wF2HaV47C+FlZW757agCtCgmpxT6MSzg==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-10.1.2.tgz", + "integrity": "sha512-p/xy9rb13Cr+SaErdOvJWTYH8moDrlszv4LPDd314pk5PmT6OTWQYFy66tBZFWhM2xk6bh4BttTU9SYje5c75g==", "dev": true, "requires": { - "babel-runtime": "6.26.0", + "@babel/runtime": "7.2.0", "highlight.js": "9.12.0", "lowlight": "1.9.2", "prismjs": "1.15.0", - "refractor": "2.6.0" + "refractor": "2.6.2" } }, "react-textarea-autosize": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.0.4.tgz", - "integrity": "sha512-1cC8pFSrIVH92aE+UKxGQ2Gqq43qdIcMscJKScEFeBNemn6gHa+NwKqdXkHxxg5H6uuvW+cPpJPTes6zh90M+A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-7.1.0.tgz", + "integrity": "sha512-c2FlR/fP0qbxmlrW96SdrbgP/v0XZMTupqB90zybvmDVDutytUgPl7beU35klwcTeMepUIQEpQUn3P3bdshGPg==", "dev": true, "requires": { + "@babel/runtime": "7.2.0", "prop-types": "15.6.2" } }, "react-transition-group": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.0.tgz", - "integrity": "sha512-qYB3JBF+9Y4sE4/Mg/9O6WFpdoYjeeYqx0AFb64PTazVy8RPMiE3A47CG9QmM4WJ/mzDiZYslV+Uly6O1Erlgw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.1.tgz", + "integrity": "sha512-8x/CxUL9SjYFmUdzsBPTgtKeCxt7QArjNSte0wwiLtF/Ix/o1nWNJooNy5o9XbHIKS31pz7J5VF2l41TwlvbHQ==", "dev": true, "requires": { - "dom-helpers": "3.3.1", + "dom-helpers": "3.4.0", "loose-envify": "1.4.0", "prop-types": "15.6.2", "react-lifecycles-compat": "3.0.4" - }, - "dependencies": { - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "3.0.2" - } - } } }, "react-treebeard": { @@ -13317,21 +12270,13 @@ "integrity": "sha512-u4OEzwZk1Xcxp2s55Ny/Ofp8fHRwlabKOAeGbzQ7XUE9YXFbPj8ajl0FInbXEP4Ys9+E1vHCtgqJ6VBsgbCPVg==", "dev": true, "requires": { - "@babel/runtime": "7.1.2", + "@babel/runtime": "7.2.0", "@emotion/core": "0.13.1", "@emotion/styled": "0.10.6", "deep-equal": "1.0.1", "prop-types": "15.6.2", "shallowequal": "1.1.0", "velocity-react": "1.4.1" - }, - "dependencies": { - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "dev": true - } } }, "reactcss": { @@ -13354,7 +12299,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -13377,14 +12322,14 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", + "graceful-fs": "4.1.15", "pify": "2.3.0", "pinkie-promise": "2.0.1" } }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -13422,39 +12367,35 @@ } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", - "dev": true, + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "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", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", "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, + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" + "graceful-fs": "4.1.15", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" } }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, "requires": { - "resolve": "1.5.0" + "resolve": "1.8.1" } }, "recursive-readdir": { @@ -13477,12 +12418,12 @@ } }, "redux": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", - "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz", + "integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==", "dev": true, "requires": { - "loose-envify": "1.3.1", + "loose-envify": "1.4.0", "symbol-observable": "1.2.0" } }, @@ -13493,12 +12434,12 @@ "dev": true }, "refractor": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.6.0.tgz", - "integrity": "sha512-ZkziLxSnkGmcFd9gVtMPqWyuA9nLzQCJqIjma03UvS2kw3gU+JQhCz8bWpbXtQX0e5XurZb/1wglrxpkYTJalQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-2.6.2.tgz", + "integrity": "sha512-AMNEGkhaXfhoa0/0mW0bHdfizDJnuHDK29/D5oQaKICf6DALQ+kDEHW/36oDHCdfva4XrZ+cdMhRvPsTI4OIjA==", "dev": true, "requires": { - "hastscript": "4.0.0", + "hastscript": "5.0.0", "parse-entities": "1.2.0", "prismjs": "1.15.0" } @@ -13521,7 +12462,7 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regenerator-transform": { @@ -13546,7 +12487,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "requires": { "extend-shallow": "3.0.2", "safe-regex": "1.1.0" @@ -13558,33 +12498,44 @@ "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", "dev": true, "requires": { - "define-properties": "1.1.2" + "define-properties": "1.1.3" } }, "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "dev": true, "requires": { "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate-unicode-properties": "7.0.0", + "regjsgen": "0.5.0", + "regjsparser": "0.6.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.0.2" } }, "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", "dev": true }, "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "dev": true, "requires": { "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } } }, "relateurl": { @@ -13596,8 +12547,7 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "render-fragment": { "version": "0.1.1", @@ -13619,16 +12569,14 @@ } }, "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" }, "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 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "2.0.1", @@ -13639,120 +12587,37 @@ "is-finite": "1.0.2" } }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.1.0", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.20", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" - }, - "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" - } - }, - "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", - "dev": true - }, - "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", - "dev": true, - "requires": { - "mime-db": "1.36.0" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "1.1.29", - "punycode": "1.4.1" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "oauth-sign": "0.9.0", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.4.3", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { @@ -13779,11 +12644,11 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "1.0.5" + "path-parse": "1.0.6" } }, "resolve-cwd": { @@ -13814,8 +12679,7 @@ "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 + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "restore-cursor": { "version": "2.0.0", @@ -13830,8 +12694,7 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retry": { "version": "0.10.1", @@ -13848,19 +12711,19 @@ "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "7.1.3" } }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "2.0.2", + "hash-base": "3.0.4", "inherits": "2.0.3" } }, @@ -13887,7 +12750,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "rxjs-compat": { @@ -13896,16 +12759,14 @@ "integrity": "sha512-caGN7ixiabHpOofginKEquuHk7GgaCrC7UpUQ9ZqGp80tMc68msadOeP/2AKy2R4YJsT1+TX5GZCtxO82qWkyA==" }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", - "dev": true + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "0.1.15" } @@ -13922,7 +12783,7 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "7.1.2", + "glob": "7.1.3", "lodash": "4.17.11", "scss-tokenizer": "0.2.3", "yargs": "7.1.0" @@ -13937,9 +12798,9 @@ "clone-deep": "2.0.2", "loader-utils": "1.1.0", "lodash.tail": "4.1.1", - "neo-async": "2.5.1", + "neo-async": "2.6.0", "pify": "3.0.0", - "semver": "5.5.1" + "semver": "5.6.0" } }, "saucelabs": { @@ -13952,30 +12813,38 @@ } }, "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "0.5.8", + "resolved": "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", "dev": true }, - "schedule": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.5.0.tgz", - "integrity": "sha512-HUcJicG5Ou8xfR//c2rPT0lPIRR09vVvN81T9fqfVgBmhERUbDEQoYKjpBxbueJnCPpSu2ujXzOnRQt6x9o/jw==", + "scheduler": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", + "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "dev": true, "requires": { + "loose-envify": "1.4.0", "object-assign": "4.1.1" } }, "schema-utils": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", - "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "6.4.0", + "ajv-errors": "1.0.1", "ajv-keywords": "3.2.0" } }, + "screenshoter-report-analyzer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/screenshoter-report-analyzer/-/screenshoter-report-analyzer-0.6.0.tgz", + "integrity": "sha1-Cm+I1fXRrBa2z3Ji7/ujH+5I7RI=", + "dev": true + }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", @@ -13988,7 +12857,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { @@ -14032,18 +12901,18 @@ } }, "selfsigned": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", - "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", + "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", "dev": true, "requires": { "node-forge": "0.7.5" } }, "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "semver-dsl": { "version": "1.0.1", @@ -14051,7 +12920,7 @@ "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", "dev": true, "requires": { - "semver": "5.5.1" + "semver": "5.6.0" } }, "semver-intersect": { @@ -14060,7 +12929,7 @@ "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", "dev": true, "requires": { - "semver": "5.5.1" + "semver": "5.6.0" } }, "send": { @@ -14076,7 +12945,7 @@ "escape-html": "1.0.3", "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", "on-finished": "2.3.0", @@ -14084,11 +12953,14 @@ "statuses": "1.4.0" }, "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } }, "mime": { "version": "1.4.1", @@ -14096,10 +12968,10 @@ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", "dev": true }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -14123,10 +12995,10 @@ "safe-buffer": "5.1.1" }, "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true } } @@ -14135,15 +13007,29 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, "requires": { "accepts": "1.3.5", "batch": "0.6.1", "debug": "2.6.9", "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.17", + "http-errors": "1.6.3", + "mime-types": "2.1.21", "parseurl": "1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, "serve-static": { @@ -14164,17 +13050,10 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "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": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, "requires": { "extend-shallow": "2.0.1", "is-extendable": "0.1.1", @@ -14186,7 +13065,6 @@ "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" } @@ -14202,17 +13080,16 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "shallow-clone": { @@ -14235,13 +13112,10 @@ } }, "shallowequal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-0.2.2.tgz", - "integrity": "sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4=", - "dev": true, - "requires": { - "lodash.keys": "3.1.2" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "dev": true }, "shebang-command": { "version": "1.2.0", @@ -14271,12 +13145,12 @@ } }, "shelljs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", - "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", "dev": true, "requires": { - "glob": "7.1.2", + "glob": "7.1.3", "interpret": "1.1.0", "rechoir": "0.6.2" } @@ -14303,7 +13177,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "0.11.2", "debug": "2.6.9", @@ -14312,14 +13185,21 @@ "map-cache": "0.2.2", "source-map": "0.5.7", "source-map-resolve": "0.5.2", - "use": "3.1.0" + "use": "3.1.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, "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.6" } @@ -14328,10 +13208,14 @@ "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" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -14339,7 +13223,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, "requires": { "define-property": "1.0.0", "isobject": "3.0.1", @@ -14350,7 +13233,6 @@ "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.2" } @@ -14359,7 +13241,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -14368,7 +13249,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "6.0.2" } @@ -14377,18 +13257,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "1.0.0", "is-data-descriptor": "1.0.0", "kind-of": "6.0.2" } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true } } }, @@ -14396,9 +13269,18 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "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=", + "requires": { + "is-buffer": "1.1.6" + } + } } }, "socket.io": { @@ -14408,7 +13290,7 @@ "dev": true, "requires": { "debug": "3.1.0", - "engine.io": "3.2.0", + "engine.io": "3.2.1", "has-binary2": "1.0.3", "socket.io-adapter": "1.1.1", "socket.io-client": "2.1.1", @@ -14423,6 +13305,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -14462,12 +13350,18 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, "socket.io-parser": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", "dev": true, "requires": { @@ -14490,6 +13384,12 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -14500,7 +13400,7 @@ "dev": true, "requires": { "faye-websocket": "0.10.0", - "uuid": "3.1.0" + "uuid": "3.3.2" }, "dependencies": { "faye-websocket": { @@ -14519,41 +13419,28 @@ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", "requires": { - "debug": "3.2.5", + "debug": "3.2.6", "eventsource": "1.0.7", "faye-websocket": "0.11.1", "inherits": "2.0.3", "json3": "3.3.2", - "url-parse": "1.4.3" + "url-parse": "1.4.4" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { "ms": "2.1.1" } - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "requires": { - "original": "1.0.2" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { @@ -14567,17 +13454,27 @@ "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", "dev": true, "requires": { - "async": "2.6.0", + "async": "2.6.1", "loader-utils": "1.1.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + } } }, "source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, "requires": { - "atob": "2.1.1", + "atob": "2.1.2", "decode-uri-component": "0.2.0", "resolve-url": "0.2.1", "source-map-url": "0.4.0", @@ -14585,19 +13482,27 @@ } }, "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "source-map": "0.5.7" + "buffer-from": "1.1.1", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "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 + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "space-separated-tokens": { "version": "1.1.2", @@ -14608,20 +13513,34 @@ "trim": "0.0.1" } }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" + }, + "spawn-promise": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/spawn-promise/-/spawn-promise-0.1.8.tgz", + "integrity": "sha512-pTkEOFxvYLq9SaI1d8bwepj0yD9Yyz65+4e979YZLv/L3oYPxZpDTabcm6e+KIZniGK9mQ+LGrwB5s1v2z67nQ==", + "dev": true, + "requires": { + "co": "4.6.0" + } + }, "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "dev": true, "requires": { "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-license-ids": "3.0.2" } }, "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", "dev": true }, "spdx-expression-parse": { @@ -14630,14 +13549,14 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "2.2.0", + "spdx-license-ids": "3.0.2" } }, "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", + "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", "dev": true }, "spdy": { @@ -14649,63 +13568,106 @@ "debug": "2.6.9", "handle-thing": "1.2.5", "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "select-hose": "2.0.0", - "spdy-transport": "2.1.0" + "spdy-transport": "2.1.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "spdy-transport": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", - "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.1.tgz", + "integrity": "sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==", "dev": true, "requires": { "debug": "2.6.9", "detect-node": "2.0.4", "hpack.js": "2.1.6", "obuf": "1.1.2", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2", "wbuf": "1.7.3" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "speed-measure-webpack-plugin": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.2.3.tgz", + "integrity": "sha512-p+taQ69VkRUXYMoZOx2nxV/Tz8tt79ahctoZJyJDHWP7fEYvwFNf5Pd73k5kZ6auu0pTsPNLEUwWpM8mCk85Zw==", + "dev": true, + "requires": { + "chalk": "2.4.1" + } + }, + "split": { + "version": "0.3.3", + "resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "requires": { + "through": "2.3.8" } }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "requires": { "extend-shallow": "3.0.2" } }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", - "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", "dev": true, "requires": { - "asn1": "0.2.3", + "asn1": "0.2.4", "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", + "bcrypt-pbkdf": "1.0.2", "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", + "ecc-jsbn": "0.1.2", "getpass": "0.1.7", "jsbn": "0.1.1", + "safer-buffer": "2.1.2", "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "ssri": { @@ -14714,14 +13676,13 @@ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "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" @@ -14731,7 +13692,6 @@ "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.6" } @@ -14739,19 +13699,18 @@ } }, "stats-webpack-plugin": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.6.2.tgz", - "integrity": "sha1-LFlJtTHgf4eojm6k3PrFOqjHWis=", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz", + "integrity": "sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ==", "dev": true, "requires": { "lodash": "4.17.11" } }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, "stdout-stream": { "version": "1.4.1", @@ -14759,7 +13718,7 @@ "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" } }, "stompjs": { @@ -14770,6 +13729,21 @@ "websocket": "1.0.28" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "optional": true + }, "websocket": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.28.tgz", @@ -14780,41 +13754,32 @@ "nan": "2.11.1", "typedarray-to-buffer": "3.1.5", "yaeti": "0.0.6" - }, - "dependencies": { - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "optional": true, - "requires": { - "is-typedarray": "1.0.0" - } - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", - "optional": true - } } } } }, "stream-browserify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "http://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.3" + "readable-stream": "2.3.6" + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "requires": { + "duplexer": "0.1.1" } }, "stream-each": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", - "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "requires": { "end-of-stream": "1.4.1", @@ -14822,14 +13787,14 @@ } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } @@ -14847,25 +13812,19 @@ "dev": true, "requires": { "date-format": "1.2.0", - "debug": "3.2.5", + "debug": "3.2.6", "mkdirp": "0.5.1", - "readable-stream": "2.3.3" + "readable-stream": "2.3.6" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "2.1.1" } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true } } }, @@ -14881,31 +13840,16 @@ } }, "string.prototype.matchall": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-3.0.0.tgz", - "integrity": "sha512-/g0YW/cEfXASRHAaLR7VZbTUlxgP14fmCsfSRFG2gvlG2S1q9rBpjYnEy/EIIzY+bjzs2nTfAHJYXmQ+zTnXSQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-3.0.1.tgz", + "integrity": "sha512-NSiU0ILQr9PQ1SZmM1X327U5LsM+KfDTassJfqN1al1+0iNpKzmQ4BfXOJwRnTEqv8nKJ67mFpqRoPaGWwvy5A==", "dev": true, "requires": { - "define-properties": "1.1.2", + "define-properties": "1.1.3", "es-abstract": "1.12.0", "function-bind": "1.1.1", "has-symbols": "1.0.0", "regexp.prototype.flags": "1.2.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "dev": true, - "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" - } - } } }, "string.prototype.padend": { @@ -14914,8 +13858,8 @@ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1" } }, @@ -14925,8 +13869,8 @@ "integrity": "sha1-W8+tOfRkm7LQMSkuGbzwtRDUskI=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", + "define-properties": "1.1.3", + "es-abstract": "1.12.0", "function-bind": "1.1.1" } }, @@ -14937,19 +13881,17 @@ "dev": true }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -14965,7 +13907,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -14985,13 +13927,13 @@ "dev": true }, "style-loader": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", - "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", "dev": true, "requires": { "loader-utils": "1.1.0", - "schema-utils": "0.4.5" + "schema-utils": "1.0.0" } }, "stylus": { @@ -15001,7 +13943,7 @@ "dev": true, "requires": { "css-parse": "1.7.0", - "debug": "2.6.9", + "debug": "4.1.0", "glob": "7.0.6", "mkdirp": "0.5.1", "sax": "0.5.8", @@ -15022,15 +13964,9 @@ "path-is-absolute": "1.0.1" } }, - "sax": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", - "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=", - "dev": true - }, "source-map": { "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { @@ -15039,68 +13975,291 @@ } } }, - "stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "lodash.clonedeep": "4.5.0", - "when": "3.6.4" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - }, - "svg-url-loader": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-2.3.2.tgz", - "integrity": "sha1-3YaybBn+O5FPBOoQ7zlZTq3gRGQ=", - "dev": true, - "requires": { - "file-loader": "1.1.11", - "loader-utils": "1.1.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "symbol.prototype.description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz", - "integrity": "sha512-I9mrbZ5M96s7QeJDv95toF1svkUjeBybe8ydhY7foPaBmr0SPJMFupArmMkDrOKTTj0sJVr+nvQNxWLziQ7nDQ==", - "dev": true, - "requires": { - "has-symbols": "1.0.0" - } - }, - "tapable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", - "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", - "dev": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "lodash.clonedeep": "4.5.0", + "when": "3.6.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "svg-url-loader": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/svg-url-loader/-/svg-url-loader-2.3.2.tgz", + "integrity": "sha1-3YaybBn+O5FPBOoQ7zlZTq3gRGQ=", + "dev": true, + "requires": { + "file-loader": "1.1.11", + "loader-utils": "1.1.0" + }, + "dependencies": { + "file-loader": { + "version": "1.1.11", + "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.7" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-keywords": "3.2.0" + } + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true + }, + "symbol.prototype.description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz", + "integrity": "sha512-I9mrbZ5M96s7QeJDv95toF1svkUjeBybe8ydhY7foPaBmr0SPJMFupArmMkDrOKTTj0sJVr+nvQNxWLziQ7nDQ==", + "dev": true, + "requires": { + "has-symbols": "1.0.0" + } + }, + "tapable": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", + "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "0.7.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.5", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + } + } + }, + "terser": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.11.0.tgz", + "integrity": "sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==", + "dev": true, + "requires": { + "commander": "2.17.1", + "source-map": "0.6.1", + "source-map-support": "0.5.9" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", + "dev": true, + "requires": { + "cacache": "11.3.1", + "find-cache-dir": "2.0.0", + "schema-utils": "1.0.0", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "terser": "3.11.0", + "webpack-sources": "1.3.0", + "worker-farm": "1.6.0" + }, + "dependencies": { + "cacache": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", + "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", + "dev": true, + "requires": { + "bluebird": "3.5.3", + "chownr": "1.1.1", + "figgy-pudding": "3.5.1", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "lru-cache": "4.1.5", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "6.0.1", + "unique-filename": "1.1.1", + "y18n": "4.0.0" + } + }, + "find-cache-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", + "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "3.0.0", + "path-exists": "3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.1", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "3.0.0", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.5" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "3.5.1" + } + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -15109,26 +14268,29 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "requires": { - "readable-stream": "2.3.3", + "readable-stream": "2.3.6", "xtend": "4.0.1" } }, "thunky": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", - "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", "dev": true }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -15141,7 +14303,7 @@ "tiny-emitter": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", - "integrity": "sha1-gtJ0aKylrejl/R5tIrV91D69+3w=" + "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==" }, "tinycolor2": { "version": "1.4.1", @@ -15152,7 +14314,7 @@ "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "1.0.2" @@ -15171,25 +14333,32 @@ "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 + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "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" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } } }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "requires": { "define-property": "2.0.2", "extend-shallow": "3.0.2", @@ -15201,21 +14370,9 @@ "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" - } - } } }, "toggle-selection": { @@ -15224,19 +14381,22 @@ "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=", "dev": true }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { + "psl": "1.1.31", "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "tree-kill": { @@ -15268,301 +14428,20 @@ "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "7.1.3" } }, "ts-loader": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-4.5.0.tgz", - "integrity": "sha512-ihgVaSmgrX4crGV4n7yuoHPoCHbDzj9aepCZR9TgIx4SgJ9gdnB6xLHgUBb7bsFM/f0K6x9iXa65KY/Fu1Klkw==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.1.tgz", + "integrity": "sha512-fDDgpBH3SR8xlt2MasLdz3Yy611PQ/UY/KGyo7TgXhTRU/6sS8uGG0nJYnU1OdFBNKcoYbId1UTNaAOUn+i41g==", "dev": true, "requires": { "chalk": "2.4.1", - "enhanced-resolve": "4.0.0", + "enhanced-resolve": "4.1.0", "loader-utils": "1.1.0", "micromatch": "3.1.10", - "semver": "5.5.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 - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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.6" - } - } - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } + "semver": "5.6.0" } }, "ts-node": { @@ -15575,41 +14454,12 @@ "chalk": "2.4.1", "diff": "3.5.0", "make-error": "1.3.5", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map-support": "0.5.9", - "tsconfig": "7.0.0", - "v8flags": "3.1.1", - "yn": "2.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" - } - } + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "source-map-support": "0.5.9", + "tsconfig": "7.0.0", + "v8flags": "3.1.1", + "yn": "2.0.0" } }, "tsconfig": { @@ -15632,6 +14482,47 @@ } } }, + "tsconfig-paths": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.7.0.tgz", + "integrity": "sha512-7iE+Q/2E1lgvxD+c0Ot+GFFmgmfIjt/zCayyruXkXQ84BLT85gHXy0WSoQSiuFX9+d+keE/jiON7notV74ZY+A==", + "dev": true, + "requires": { + "@types/json5": "0.0.29", + "deepmerge": "2.2.1", + "json5": "1.0.1", + "minimist": "1.2.0", + "strip-bom": "3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } + } + }, + "tsconfig-paths-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-S/gOOPOkV8rIL4LurZ1vUdYCVgo15iX9ZMJ6wx6w2OgcpT/G4wMyHB6WM+xheSqGMrWKuxFul+aXpCju3wmj/g==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "enhanced-resolve": "4.1.0", + "tsconfig-paths": "3.7.0" + } + }, "tsickle": { "version": "0.32.1", "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.32.1.tgz", @@ -15650,23 +14541,13 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" - } } } }, "tslib": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", - "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==" + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tslint": { "version": "5.11.0", @@ -15679,26 +14560,13 @@ "chalk": "2.4.1", "commander": "2.17.1", "diff": "3.5.0", - "glob": "7.1.2", + "glob": "7.1.3", "js-yaml": "3.12.0", "minimatch": "3.0.4", - "resolve": "1.5.0", - "semver": "5.5.1", - "tslib": "1.9.0", + "resolve": "1.8.1", + "semver": "5.6.0", + "tslib": "1.9.3", "tsutils": "2.29.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - } } }, "tsutils": { @@ -15707,12 +14575,12 @@ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "1.9.3" } }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, @@ -15722,15 +14590,14 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "type-check": { "version": "0.3.2", @@ -15742,13 +14609,13 @@ } }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "2.1.21" } }, "typedarray": { @@ -15757,23 +14624,30 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "optional": true, + "requires": { + "is-typedarray": "1.0.0" + } + }, "typescript": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", - "dev": true + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" }, "ua-parser-js": { - "version": "0.7.18", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", - "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==", + "version": "0.7.19", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", + "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==", "dev": true }, "uglify-js": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, "requires": { "commander": "2.17.1", "source-map": "0.6.1" @@ -15782,24 +14656,23 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, "uglifyjs-webpack-plugin": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz", - "integrity": "sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", "dev": true, "requires": { "cacache": "10.0.4", "find-cache-dir": "1.0.0", - "schema-utils": "0.4.5", + "schema-utils": "0.4.7", "serialize-javascript": "1.5.0", "source-map": "0.6.1", "uglify-es": "3.3.9", - "webpack-sources": "1.1.0", + "webpack-sources": "1.3.0", "worker-farm": "1.6.0" }, "dependencies": { @@ -15809,6 +14682,16 @@ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.4.0", + "ajv-keywords": "3.2.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -15865,7 +14748,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, "requires": { "arr-union": "3.1.0", "get-value": "2.0.6", @@ -15877,7 +14759,6 @@ "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" } @@ -15886,7 +14767,6 @@ "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", @@ -15897,67 +14777,42 @@ } }, "unique-filename": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", - "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "requires": { - "unique-slug": "2.0.0" + "unique-slug": "2.0.1" } }, "unique-slug": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", - "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", "dev": true, "requires": { "imurmurhash": "0.1.4" } }, - "universal-dotenv": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/universal-dotenv/-/universal-dotenv-1.9.1.tgz", - "integrity": "sha512-38GhLyN0rAz7040sltVEDSkO/yTcShKJFBIX5/4Hi/c//wUS9UgvnP1GDTLVs9CR+XARLsihPBciSS9y+USyKA==", - "dev": true, - "requires": { - "@babel/runtime": "7.1.2", - "app-root-dir": "1.0.2", - "core-js": "2.5.7", - "dotenv": "6.0.0", - "dotenv-expand": "4.2.0" - }, - "dependencies": { - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", - "dev": true - }, - "dotenv": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.0.0.tgz", - "integrity": "sha512-FlWbnhgjtwD+uNLUGHbMykMOYQaTivdHEmYwAKFjn6GKe/CqY0fNae93ZHTd20snh9ZLr8mTzIL9m0APQ1pjQg==", - "dev": true - } - } - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unix-crypt-td-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz", + "integrity": "sha1-HAgkFQSBvHoB1J6Y8exmjYJBLzs=" }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "0.3.1", "isobject": "3.0.1" @@ -15967,7 +14822,6 @@ "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", @@ -15978,7 +14832,6 @@ "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" } @@ -15988,623 +14841,262 @@ "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 + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" } } }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", - "dev": true + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", "dev": true - }, - "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", - "dev": true, - "requires": { - "punycode": "2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", - "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": "1.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.1.tgz", - "integrity": "sha512-vugEeXjyYFBCUOpX+ZuaunbK3QXMKaQ3zUnRfIpRBlGkY7QizCnzyyn2ASfcxsvyU3ef+CJppVywnl3Kgf13Gg==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "2.3.1", - "schema-utils": "1.0.0" - }, - "dependencies": { - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" - } - } - } - }, - "url-parse": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", - "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", - "requires": { - "querystringify": "2.0.0", - "requires-port": "1.0.0" - } - }, - "use": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "useragent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz", - "integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=", - "dev": true, - "requires": { - "lru-cache": "2.2.4", - "tmp": "0.0.33" - }, - "dependencies": { - "lru-cache": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", - "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", - "dev": true - } - } - }, - "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 - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "object.getownpropertydescriptors": "2.0.3" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", - "dev": true - }, - "v8flags": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", - "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", - "dev": true, - "requires": { - "homedir-polyfill": "1.0.1" - } - }, - "validate-npm-package-license": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", - "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", - "dev": true, - "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + }, + "uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", "dev": true, "requires": { - "builtins": "1.0.3" + "punycode": "2.1.1" } }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "velocity-animate": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.2.tgz", - "integrity": "sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg==", - "dev": true + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, - "velocity-react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/velocity-react/-/velocity-react-1.4.1.tgz", - "integrity": "sha512-ZyXBm+9C/6kNUNyc+aeNKEhtTu/Mn+OfpsNBGuTxU8S2DUcis/KQL0rTN6jWL+7ygdOrun18qhheNZTA7YERmg==", + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { - "lodash": "4.17.11", - "prop-types": "15.6.2", - "react-transition-group": "2.5.0", - "velocity-animate": "1.5.2" + "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 + } } }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", "dev": true, "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "loader-utils": "1.1.0", + "mime": "2.4.0", + "schema-utils": "1.0.0" }, "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "mime": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", + "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", "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, + "url-parse": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", + "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", "requires": { - "indexof": "0.0.1" + "querystringify": "2.1.0", + "requires-port": "1.0.0" } }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", + "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", "dev": true, "requires": { - "loose-envify": "1.3.1" + "lru-cache": "4.1.5", + "tmp": "0.0.33" } }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, "requires": { - "chokidar": "2.0.3", - "graceful-fs": "4.1.11", - "neo-async": "2.5.1" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" - } - }, - "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.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "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" - } - } - } - }, - "chokidar": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", - "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "fsevents": "1.2.4", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" - } - }, - "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.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.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.6" - } - }, - "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" - } - }, - "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" - }, - "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.6" - } - } - } - }, - "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" - }, - "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.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "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.2" - } - }, - "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" - } - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "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.6" - } - } - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "v8flags": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", + "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "3.1.0", + "spdx-expression-parse": "3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "velocity-animate": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.2.tgz", + "integrity": "sha512-m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg==", + "dev": true + }, + "velocity-react": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/velocity-react/-/velocity-react-1.4.1.tgz", + "integrity": "sha512-ZyXBm+9C/6kNUNyc+aeNKEhtTu/Mn+OfpsNBGuTxU8S2DUcis/KQL0rTN6jWL+7ygdOrun18qhheNZTA7YERmg==", + "dev": true, + "requires": { + "lodash": "4.17.11", + "prop-types": "15.6.2", + "react-transition-group": "2.5.1", + "velocity-animate": "1.5.2" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" } } }, + "viz.js": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz", + "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==" + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "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.4.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "2.0.4", + "graceful-fs": "4.1.15", + "neo-async": "2.6.0" + } + }, "wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "1.0.1" } }, "webdriver-js-extender": { @@ -16613,20 +15105,20 @@ "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", "dev": true, "requires": { - "@types/selenium-webdriver": "3.0.10", + "@types/selenium-webdriver": "3.0.14", "selenium-webdriver": "3.6.0" } }, "webpack": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz", - "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz", + "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/wasm-edit": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/wasm-edit": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", "acorn": "5.7.3", "acorn-dynamic-import": "3.0.0", "ajv": "6.4.0", @@ -16635,57 +15127,28 @@ "enhanced-resolve": "4.1.0", "eslint-scope": "4.0.0", "json-parse-better-errors": "1.0.2", - "loader-runner": "2.3.0", + "loader-runner": "2.3.1", "loader-utils": "1.1.0", "memory-fs": "0.4.1", "micromatch": "3.1.10", "mkdirp": "0.5.1", - "neo-async": "2.5.1", + "neo-async": "2.6.0", "node-libs-browser": "2.1.0", - "schema-utils": "0.4.5", - "tapable": "1.1.0", - "uglifyjs-webpack-plugin": "1.2.5", + "schema-utils": "0.4.7", + "tapable": "1.1.1", + "uglifyjs-webpack-plugin": "1.3.0", "watchpack": "1.6.0", "webpack-sources": "1.3.0" }, "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "tapable": "1.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", - "dev": true - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "dev": true, "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "ajv": "6.4.0", + "ajv-keywords": "3.2.0" } } } @@ -16708,7 +15171,7 @@ }, "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { @@ -16724,23 +15187,23 @@ "dev": true, "requires": { "memory-fs": "0.4.1", - "mime": "2.3.1", + "mime": "2.4.0", "range-parser": "1.2.0", "webpack-log": "2.0.0" }, "dependencies": { "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", + "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", "dev": true } } }, "webpack-dev-server": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.9.tgz", - "integrity": "sha512-fqPkuNalLuc/hRC2QMkVYJkgNmRvxZQo7ykA2e1XRg/tMJm3qY7ZaD6d89/Fqjxtj9bOrn5wZzLD2n84lJdvWg==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz", + "integrity": "sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -16748,9 +15211,9 @@ "chokidar": "2.0.4", "compression": "1.7.3", "connect-history-api-fallback": "1.5.0", - "debug": "3.2.5", + "debug": "3.2.6", "del": "3.0.0", - "express": "4.16.3", + "express": "4.16.4", "html-entities": "1.2.1", "http-proxy-middleware": "0.18.0", "import-local": "2.0.0", @@ -16758,16 +15221,16 @@ "ip": "1.1.5", "killable": "1.0.1", "loglevel": "1.6.1", - "opn": "5.3.0", + "opn": "5.4.0", "portfinder": "1.0.17", "schema-utils": "1.0.0", - "selfsigned": "1.10.3", + "selfsigned": "1.10.4", "serve-index": "1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.1.5", + "sockjs-client": "1.3.0", "spdy": "3.4.7", "strip-ansi": "3.0.1", - "supports-color": "5.4.0", + "supports-color": "5.5.0", "webpack-dev-middleware": "3.4.0", "webpack-log": "2.0.0", "yargs": "12.0.2" @@ -16779,6 +15242,12 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -16802,9 +15271,9 @@ } }, "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "2.1.1" @@ -16859,12 +15328,6 @@ "path-exists": "3.0.0" } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, "os-locale": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", @@ -16900,48 +15363,6 @@ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", "dev": true }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "6.4.0", - "ajv-errors": "1.0.0", - "ajv-keywords": "3.2.0" - } - }, - "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", - "dev": true, - "requires": { - "debug": "2.6.9", - "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.4.3" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -16978,7 +15399,7 @@ "cliui": "4.1.0", "decamelize": "2.0.0", "find-up": "3.0.0", - "get-caller-file": "1.0.2", + "get-caller-file": "1.0.3", "os-locale": "3.0.1", "require-directory": "2.1.1", "require-main-filename": "1.0.1", @@ -16988,13 +15409,22 @@ "y18n": "4.0.0", "yargs-parser": "10.1.0" } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } } } }, "webpack-hot-middleware": { - "version": "2.24.2", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.24.2.tgz", - "integrity": "sha512-VsBGNMC5JDnab5hbReMjmIYtnvDMT+odLSP49EbLZHwuAoJJDNOi0YLhTe40vvP7u7Be+Ww1mYHjwwelqdnaKA==", + "version": "2.24.3", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.24.3.tgz", + "integrity": "sha512-pPlmcdoR2Fn6UhYjAhp1g/IJy1Yc9hD+T6O9mjRcWV2pFbBjIFoJXhP0CoD0xPOhWJuWXuZXGBga9ybbOdzXpg==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -17009,16 +15439,8 @@ "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", "dev": true, "requires": { - "ansi-colors": "3.1.0", + "ansi-colors": "3.2.3", "uuid": "3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - } } }, "webpack-merge": { @@ -17031,12 +15453,12 @@ } }, "webpack-sources": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", "dev": true, "requires": { - "source-list-map": "2.0.0", + "source-list-map": "2.0.1", "source-map": "0.6.1" }, "dependencies": { @@ -17062,14 +15484,14 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "requires": { - "http-parser-js": "0.4.9", + "http-parser-js": "0.5.0", "websocket-extensions": "0.1.3" } }, "websocket-extensions": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=" + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" }, "whatwg-fetch": { "version": "3.0.0", @@ -17084,9 +15506,9 @@ "dev": true }, "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "2.0.0" @@ -17099,18 +15521,60 @@ "dev": true }, "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { "string-width": "1.0.2" } }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "worker-farm": { @@ -17124,7 +15588,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -17135,8 +15599,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { "version": "3.3.3", @@ -17145,7 +15608,7 @@ "dev": true, "requires": { "async-limiter": "1.0.0", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "ultron": "1.1.1" } }, @@ -17157,11 +15620,19 @@ "requires": { "sax": "1.2.4", "xmlbuilder": "9.0.7" + }, + "dependencies": { + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + } } }, "xmlbuilder": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "dev": true }, @@ -17176,7 +15647,7 @@ "dependencies": { "sax": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", + "resolved": "http://registry.npmjs.org/sax/-/sax-1.1.6.tgz", "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=", "dev": true } @@ -17203,17 +15674,7 @@ "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "xxhashjs": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", - "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", - "dev": true, - "requires": { - "cuint": "0.2.2" - } + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" }, "y18n": { "version": "4.0.0", @@ -17221,6 +15682,12 @@ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", + "optional": true + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -17236,7 +15703,7 @@ "camelcase": "3.0.0", "cliui": "3.2.0", "decamelize": "1.2.0", - "get-caller-file": "1.0.2", + "get-caller-file": "1.0.3", "os-locale": "1.4.0", "read-pkg-up": "1.0.1", "require-directory": "2.1.1", @@ -17259,25 +15726,24 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "3.0.0" - } } } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "4.1.0" + "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 + } } }, "yeast": { diff --git a/quick-start/package.json b/quick-start/package.json index f8e510a232..d13dd4c010 100644 --- a/quick-start/package.json +++ b/quick-start/package.json @@ -14,7 +14,8 @@ "e2e": "./node_modules/.bin/ng e2e", "webdriver-update": "webdriver-manager update", "storybook": "start-storybook -p 6006 -s ./src/main/ui/assets", - "storybook:build": "build-storybook -o site/docs/mlui-storybook -s ./src/main/ui/assets" + "storybook:build": "build-storybook -o site/docs/mlui-storybook -s ./src/main/ui/assets", + "docs:build": "./node_modules/.bin/compodoc -p ./tsconfig.json -n DHF-QuickStart --theme readthedocs -d site/docs/mlui-angular-docs/ --hideGenerator --disableGraph" }, "private": true, "dependencies": { @@ -31,10 +32,10 @@ "@angular/platform-browser-dynamic": "^6.1.9", "@angular/router": "^6.1.9", "@babel/core": "^7.1.2", - "@types/codemirror": "0.0.61", "classlist.js": "^1.1.20150312", "clipboard": "^2.0.1", "codemirror": "^5.40.2", + "compodoc": "0.0.41", "core-js": "^2.5.7", "date-fns": "^1.29.0", "font-awesome": "^4.7.0", @@ -53,21 +54,23 @@ "zone.js": "^0.8.26" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.8.4", + "@angular-devkit/build-angular": "^0.11.3", "@angular-devkit/core": "^0.6.8", "@angular/cli": "^6.2.4", "@angular/compiler-cli": "^6.1.9", "@angular/language-service": "^6.1.9", - "@storybook/addon-actions": "^4.0.0-alpha.21", - "@storybook/addon-backgrounds": "^4.0.0-alpha.21", - "@storybook/addon-centered": "^4.0.0-alpha.21", - "@storybook/addon-knobs": "^4.0.0-alpha.21", - "@storybook/addon-links": "^4.0.0-alpha.21", - "@storybook/addon-notes": "^4.0.0-alpha.21", - "@storybook/addon-options": "^4.0.0-alpha.21", - "@storybook/addon-storysource": "^4.0.0-alpha.21", - "@storybook/addons": "^4.0.0-alpha.21", - "@storybook/angular": "^4.0.0-alpha.21", + "@storybook/addon-actions": "^4.1.1", + "@storybook/addon-backgrounds": "^4.1.1", + "@storybook/addon-centered": "^4.1.1", + "@storybook/addon-knobs": "^4.1.1", + "@storybook/addon-links": "^4.1.1", + "@storybook/addon-notes": "^4.1.1", + "@storybook/addon-options": "^4.1.1", + "@storybook/addon-storysource": "^4.1.1", + "@storybook/addons": "^4.1.1", + "@storybook/angular": "^4.1.1", + "@types/clipboard": "^2.0.1", + "@types/codemirror": "0.0.70", "@types/jasmine": "^2.8.8", "@types/jasminewd2": "^2.0.4", "@types/lodash": "^4.14.116", diff --git a/quick-start/src/main/java/com/marklogic/quickstart/AuthConfig.java b/quick-start/src/main/java/com/marklogic/quickstart/AuthConfig.java index 01a40b8665..661d847b40 100644 --- a/quick-start/src/main/java/com/marklogic/quickstart/AuthConfig.java +++ b/quick-start/src/main/java/com/marklogic/quickstart/AuthConfig.java @@ -155,7 +155,8 @@ protected String[] getAlwaysPermittedPatterns() { "/404", "/assets/**", "/shutdown", - "/main/ui/assets/img/**" + "/img/**", + "/favicon.ico" }; } } diff --git a/quick-start/src/main/ui/app/app.component.html b/quick-start/src/main/ui/app/app.component.html deleted file mode 100644 index 6b316bbeb2..0000000000 --- a/quick-start/src/main/ui/app/app.component.html +++ /dev/null @@ -1,6 +0,0 @@ - - -

- diff --git a/quick-start/src/main/ui/app/app.component.ts b/quick-start/src/main/ui/app/app.component.ts index 49492f33a2..454293559d 100755 --- a/quick-start/src/main/ui/app/app.component.ts +++ b/quick-start/src/main/ui/app/app.component.ts @@ -7,11 +7,11 @@ import { AuthService } from './auth'; import { EnvironmentService } from './environment'; -import { JobService } from './jobs/jobs.service'; +import { JobService } from './jobs'; -import { ProjectService } from './projects/projects.service'; +import { ProjectService } from './projects'; -import { STOMPService } from './stomp/stomp.service'; +import { STOMPService } from './stomp'; import { TraceService } from './traces/trace.service'; @@ -27,13 +27,17 @@ declare var window: CustomWindow; @Component({ selector: 'app-root', encapsulation: ViewEncapsulation.None, - styleUrls: [ - './app.component.scss' - ], - templateUrl: './app.component.html' + template: ` + + ` }) export class AppComponent implements OnInit { authenticated: boolean = false; + flagCanShowHeader: boolean = false; + flagheaderOffset: string = '0px'; constructor( private auth: AuthService, @@ -62,8 +66,14 @@ export class AppComponent implements OnInit { } } - canShowHeader() { - return this.authenticated && this.router.url !== '/login' && this.envService.settings; + ngAfterContentChecked() { + this.flagCanShowHeader = this.canShowHeader(); + this.flagheaderOffset = this.headerOffset(); + } + + + canShowHeader(): boolean { + return (this.authenticated && this.router.url !== '/login' && this.envService.settings !== undefined); } headerOffset(): string { diff --git a/quick-start/src/main/ui/app/app.module.ts b/quick-start/src/main/ui/app/app.module.ts index cbdb8f33ed..0c271295ab 100644 --- a/quick-start/src/main/ui/app/app.module.ts +++ b/quick-start/src/main/ui/app/app.module.ts @@ -4,44 +4,50 @@ import { FormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; import { RouterModule } from '@angular/router'; import { TruncateCharactersPipe } from './truncate'; -import { ListFilterPipe } from './listfilter'; +import { ListFilterPipe } from './shared/components/mappings/listfilter.pipe'; import { AppComponent } from './app.component'; +import { AppUiComponent } from './shared/components'; import { FlowsComponent } from './flows'; -import { HasBugsDialogComponent } from './has-bugs-dialog'; +import { HasBugsDialogComponent } from './shared/components'; import { - ChooseCollationComponent, - EntityBoxComponent, - EntityModelerComponent, - EntityEditorComponent, - ExternalDefDialogComponent + EntityModelerComponent } from './entity-modeler'; import { LoginComponent } from './login'; +import { LoginUIComponent } from './shared/components' import { SettingsComponent } from './settings'; +import { SettingsUiComponent } from './shared/components'; import { MdlModule } from '@angular-mdl/core'; import { MdlPopoverModule } from '@angular-mdl/popover'; import { MdlSelectModule } from '@angular-mdl/select'; -import { GridManiaModule } from './grid'; +import { GridManiaModule } from './shared/components/grid'; import { BsDropdownModule, TooltipModule } from 'ngx-bootstrap'; import { ROUTES } from './app.routes'; import { AUTH_PROVIDERS } from './auth'; -import { CodemirrorComponent } from './codemirror'; +import { CodemirrorComponent } from './shared/components/codemirror'; import { FolderBrowserComponent } from './folder-browser/folder-browser.component'; -import { FolderBrowserUiComponent } from './shared/components/folder-browser/folder-browser-ui.component'; +import { FolderBrowserUiComponent } from './shared/components'; import { HeaderComponent } from './header/header.component'; +import { HeaderUiComponent } from './shared/components'; import { JobsComponent, JobOutputComponent } from './jobs'; -import { MlcpUiComponent } from './mlcp-ui'; +import { JobsUiComponent, JobOutputUiComponent, JobExportUiComponent } from './shared/components/jobs'; +import { MlcpComponent } from './mlcp'; +import { MlcpUiComponent } from './shared/components/mlcp'; import { MlErrorComponent } from './shared/components/ml-error'; -import { NewEntityComponent } from './new-entity/new-entity.component'; +import { NewEntityComponent } from './shared/components/new-entity/new-entity.component'; import { NewFlowComponent } from './new-flow/new-flow.component'; +import { NewFlowUiComponent } from './shared/components/new-flow/new-flow-ui.component'; import { NoContentComponent } from './no-content'; import { PaginationComponent } from './shared/components/pagination'; -import { ResizableComponent } from './shared/components/resizable/resizable.component'; -import { SelectComponent } from './shared/components/select/select.component'; -import { SelectListComponent } from './shared/components/select-list/select-list.component'; +import { ResizableComponent } from './shared/components'; +import { SelectComponent } from './shared/components'; +import { SelectListComponent } from './shared/components'; import { TracesComponent, TraceViewerComponent } from './traces'; +import { TracesUiComponent } from './shared/components/traces'; import { SearchComponent, SearchViewerComponent } from './search'; +import { SearchUiComponent } from './shared/components/search'; +import { SearchViewerUiComponent } from './shared/components/search'; import { DeployService } from './deploy/deploy.service'; import { EntitiesService } from './entities/entities.service'; @@ -49,52 +55,76 @@ import { InstallService } from './installer'; import { JobService } from './jobs/jobs.service'; import { JobListenerService } from './jobs/job-listener.service'; import { MapService } from './mappings/map.service'; -import { ProjectService } from './projects/projects.service'; -import { SettingsService } from './settings/settings.service'; -import { STOMPService } from './stomp/stomp.service'; +import { ProjectService } from './projects'; +import { SettingsService } from './settings'; +import { STOMPService } from './stomp'; import { ClipboardDirective } from './clipboard/clipboard.directive'; -import { FocusElementDirective } from './focus-element/focus-element.directive'; +import { FocusElementDirective } from './shared/directives/focus-element/focus-element.directive'; import { TraceService } from './traces/trace.service'; import { SearchService } from './search/search.service'; -import { HarmonizeFlowOptionsComponent } from './harmonize-flow-options/harmonize-flow-options.component'; -import { DashboardComponent } from './dashboard/dashboard.component'; +import { HarmonizeFlowOptionsComponent } from './harmonize-flow-options'; +import { HarmonizeFlowOptionsUiComponent } from './shared/components'; +import { DashboardComponent } from './dashboard'; +import { DashboardUiComponent } from './shared/components'; import { TitlecasePipe } from './titlecase.pipe'; -import { InlineEditComponent } from './shared/components/inline-edit/inline-edit.component'; +import { InlineEditComponent } from './shared/components'; import { FacetsComponent } from './shared/components/facets/facets.component'; import { ObjectToArrayPipe } from './object-to-array.pipe'; import { DatePipeModule } from './date-pipe/date-pipe.module'; -import { SelectKeyValuesComponent } from './shared/components/select-key-values/select-key-values.component'; -import {JobExportDialogComponent} from "./jobs/job-export.component"; +import { SelectKeyValuesComponent } from './shared/components'; +import { JobExportDialogComponent } from './jobs'; import { MapComponent } from './mappings'; +import { MapUiComponent } from "./shared/components"; import { MappingsComponent } from "./mappings"; +import { MappingsUiComponent } from "./shared/components"; import { NewMapComponent } from "./mappings/new-map.component"; -import { NewMapUiComponent } from "./shared/components/mappings/new-map-ui.component"; -import {ThemeModule} from "./shared/components/theme/theme.module"; +import { NewMapUiComponent } from "./shared/components"; +import { ThemeModule } from "./shared/components"; +import { FlowsUiComponent } from './shared/components/flows'; +import { + ChooseCollationComponent, + EntityBoxComponent, + TraceViewerUiComponent, + EntityEditorComponent, + ExternalDefDialogComponent +} from './shared/components'; @NgModule({ declarations: [ AppComponent, + AppUiComponent, CodemirrorComponent, FolderBrowserComponent, FolderBrowserUiComponent, HeaderComponent, + HeaderUiComponent, HasBugsDialogComponent, FlowsComponent, + FlowsUiComponent, ChooseCollationComponent, EntityBoxComponent, EntityEditorComponent, EntityModelerComponent, ExternalDefDialogComponent, JobsComponent, + JobsUiComponent, + JobExportUiComponent, JobExportDialogComponent, JobOutputComponent, + JobOutputUiComponent, LoginComponent, + MlcpComponent, + MapComponent, + MappingsComponent, + MappingsUiComponent, + LoginUIComponent, MlcpUiComponent, MlErrorComponent, NewEntityComponent, NewFlowComponent, + NewFlowUiComponent, NewMapComponent, NewMapUiComponent, PaginationComponent, @@ -102,15 +132,22 @@ import {ThemeModule} from "./shared/components/theme/theme.module"; SelectComponent, SelectListComponent, SettingsComponent, + SettingsUiComponent, TracesComponent, + TracesUiComponent, TraceViewerComponent, + TraceViewerUiComponent, SearchComponent, + SearchUiComponent, SearchViewerComponent, + SearchViewerUiComponent, NoContentComponent, ClipboardDirective, FocusElementDirective, HarmonizeFlowOptionsComponent, + HarmonizeFlowOptionsUiComponent, DashboardComponent, + DashboardUiComponent, InlineEditComponent, FacetsComponent, TitlecasePipe, @@ -119,7 +156,9 @@ import {ThemeModule} from "./shared/components/theme/theme.module"; ObjectToArrayPipe, SelectKeyValuesComponent, MapComponent, - MappingsComponent + MapUiComponent, + MappingsComponent, + SettingsUiComponent ], entryComponents: [ HasBugsDialogComponent, @@ -158,7 +197,8 @@ import {ThemeModule} from "./shared/components/theme/theme.module"; SettingsService, STOMPService, TraceService, - SearchService + SearchService, + TooltipModule ], bootstrap: [ AppComponent diff --git a/quick-start/src/main/ui/app/app.routes.ts b/quick-start/src/main/ui/app/app.routes.ts index 84ddbef771..7cb862b361 100755 --- a/quick-start/src/main/ui/app/app.routes.ts +++ b/quick-start/src/main/ui/app/app.routes.ts @@ -6,9 +6,9 @@ import { MapComponent } from './mappings'; import { MappingsComponent } from './mappings'; import { LoginComponent } from './login'; import { JobsComponent } from './jobs'; +import { SettingsComponent } from './settings'; import { TracesComponent, TraceViewerComponent } from './traces'; import { SearchComponent, SearchViewerComponent } from './search'; -import { SettingsComponent } from './settings'; import { NoContentComponent } from './no-content'; import { AuthGuard } from './auth/auth-guard.service'; diff --git a/quick-start/src/main/ui/app/clipboard/clipboard.directive.ts b/quick-start/src/main/ui/app/clipboard/clipboard.directive.ts index ea6c8fbb9f..ee13427302 100644 --- a/quick-start/src/main/ui/app/clipboard/clipboard.directive.ts +++ b/quick-start/src/main/ui/app/clipboard/clipboard.directive.ts @@ -1,5 +1,7 @@ import { Directive, ElementRef, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core'; -import Clipboard from 'clipboard'; +import * as Clipboard from 'clipboard'; + +const _Clipboard: any = Clipboard; @Directive({ selector: '[appClipboard]' @@ -11,16 +13,16 @@ export class ClipboardDirective implements OnInit, OnDestroy { @Input() cbContent: string; - @Output('onSuccess') onSuccess: EventEmitter = new EventEmitter(); + @Output() onSuccess = new EventEmitter(); - @Output('onError') onError: EventEmitter = new EventEmitter(); + @Output() onError = new EventEmitter(); constructor(private elmRef: ElementRef) { } ngOnInit() { - let option: ClipboardOptions; + let option: Clipboard.Options; option = !!this.appClipboard ? { target: () => this.appClipboard } : { text: () => this.cbContent }; - this.clipboard = new Clipboard(this.elmRef.nativeElement, option); + this.clipboard = new _Clipboard(this.elmRef.nativeElement, option); this.clipboard.on('success', (e) => this.onSuccess.emit(true)); this.clipboard.on('error', (e) => this.onError.emit(true)); } diff --git a/quick-start/src/main/ui/app/clipboard/index.ts b/quick-start/src/main/ui/app/clipboard/index.ts new file mode 100644 index 0000000000..c0a655f6ec --- /dev/null +++ b/quick-start/src/main/ui/app/clipboard/index.ts @@ -0,0 +1 @@ +export * from './clipboard.directive'; diff --git a/quick-start/src/main/ui/app/dashboard/dashboard.component.README.md b/quick-start/src/main/ui/app/dashboard/dashboard.component.README.md deleted file mode 100644 index 2e96697e20..0000000000 --- a/quick-start/src/main/ui/app/dashboard/dashboard.component.README.md +++ /dev/null @@ -1,13 +0,0 @@ -Thoughts about refactoring and scoping out dashboard.component -============================================================== - -1. New presentational component dashboard-ui.component.ts should be created -2. dashboard-ui.component.ts should be scoped out to library -3. Number of pass-though events and properties should be created: - 1. Event for pressing clear all databases - 2. Array properties "rows", "databases" - 3. Property stats - 4. Figure better way of dealing with "labelify" and "getDbCount" - 5. Event "clearDatabase" that passes a "database" name to clear - -(something else?) diff --git a/quick-start/src/main/ui/app/dashboard/dashboard.component.ts b/quick-start/src/main/ui/app/dashboard/dashboard.component.ts index 46df275180..eecdf13859 100644 --- a/quick-start/src/main/ui/app/dashboard/dashboard.component.ts +++ b/quick-start/src/main/ui/app/dashboard/dashboard.component.ts @@ -7,8 +7,15 @@ import { MdlDialogService } from '@angular-mdl/core'; @Component({ selector: 'app-dashboard', - templateUrl: './dashboard.component.html', - styleUrls: ['./dashboard.component.scss'] + template: ` + +` }) export class DashboardComponent implements OnInit { @@ -39,19 +46,13 @@ export class DashboardComponent implements OnInit { ngOnInit() { this.getStatus(); } - labelify(db) { if (db === "job") { return "jobs"; } else { return db; } - } - getDbCount(db) { - return this.stats[db + 'Count']; - } - clearDatabase(db) { const message = `Do you really want to remove all files from your ${this.labelify(db)} Database?`; this.dialogService.confirm(message, 'Cancel', 'Clear!').subscribe(() => { diff --git a/quick-start/src/main/ui/app/deploy/deploy.service.ts b/quick-start/src/main/ui/app/deploy/deploy.service.ts index 3e36f65802..b922d207f7 100644 --- a/quick-start/src/main/ui/app/deploy/deploy.service.ts +++ b/quick-start/src/main/ui/app/deploy/deploy.service.ts @@ -1,8 +1,8 @@ import { Injectable, EventEmitter } from '@angular/core'; import { Http, Response } from '@angular/http'; import { Message } from 'stompjs/lib/stomp.min'; -import { STOMPService } from '../stomp/stomp.service'; -import { ProjectService } from '../projects/projects.service'; +import { STOMPService } from '../stomp'; +import { ProjectService } from '../projects'; import { parse } from 'date-fns'; @Injectable() diff --git a/quick-start/src/main/ui/app/entities/entities.service.ts b/quick-start/src/main/ui/app/entities/entities.service.ts index 474e6907c4..ad7e16af7e 100644 --- a/quick-start/src/main/ui/app/entities/entities.service.ts +++ b/quick-start/src/main/ui/app/entities/entities.service.ts @@ -1,8 +1,8 @@ import { Injectable, EventEmitter } from '@angular/core'; import { Http, Response } from '@angular/http'; -import { ProjectService } from '../projects/projects.service'; +import { ProjectService } from '../projects'; import { Subject } from 'rxjs/Subject'; -import { SettingsService } from '../settings/settings.service'; +import { SettingsService } from '../settings'; import { Entity } from './entity.model'; import { Flow } from './flow.model'; @@ -11,7 +11,7 @@ import { PropertyType } from './property.model'; import { MdlDialogService, MdlDialogReference } from '@angular-mdl/core'; -import { EntityEditorComponent } from '../entity-modeler/entity-editor.component'; +import { EntityEditorComponent } from '../shared/components/'; import { EntityConsts } from './entity-consts'; diff --git a/quick-start/src/main/ui/app/entities/plugin.model.ts b/quick-start/src/main/ui/app/entities/plugin.model.ts index 05f380d29f..0fde6f6284 100644 --- a/quick-start/src/main/ui/app/entities/plugin.model.ts +++ b/quick-start/src/main/ui/app/entities/plugin.model.ts @@ -1,4 +1,4 @@ -import { CodemirrorComponent } from '../codemirror'; +import { CodemirrorComponent } from '../shared/components/codemirror'; export class Plugin { $dirty: boolean; diff --git a/quick-start/src/main/ui/app/entity-modeler/choose-collation.component.README.md b/quick-start/src/main/ui/app/entity-modeler/choose-collation.component.README.md deleted file mode 100644 index 74468b0d9f..0000000000 --- a/quick-start/src/main/ui/app/entity-modeler/choose-collation.component.README.md +++ /dev/null @@ -1,7 +0,0 @@ -Thoughts on refactoring and scoping out choose-collation.component -================================================================== - -1. Looks like the component is completely UI based, with exception of -"collation" and "actions", which are injected into the -component. The only refactoring needed here is use properties instead of injection. -Other than that, component can be scoped out as is. diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.README.md b/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.README.md deleted file mode 100644 index 5ad417d5f3..0000000000 --- a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.README.md +++ /dev/null @@ -1,7 +0,0 @@ -Thoughts about refactoring and scoping out entity-editor.component -================================================================== - -1. Looks like the component is completely UI based, with exception of -"entity", "actions", and "dataTypes", which are injected into the -component. The only refactoring needed here is use properties instead of injection. -Other than that, component can be scoped out as is. diff --git a/quick-start/src/main/ui/app/entity-modeler/index.ts b/quick-start/src/main/ui/app/entity-modeler/index.ts index cc617df435..0ae4255542 100644 --- a/quick-start/src/main/ui/app/entity-modeler/index.ts +++ b/quick-start/src/main/ui/app/entity-modeler/index.ts @@ -1,5 +1 @@ export * from './entity-modeler.component'; -export * from './entity-box.component'; -export * from './entity-editor.component'; -export * from './externaldef-dialog.component'; -export * from './choose-collation.component'; diff --git a/quick-start/src/main/ui/app/flows/flows.component.ts b/quick-start/src/main/ui/app/flows/flows.component.ts index 1e2bc754c3..974d8b2fd6 100755 --- a/quick-start/src/main/ui/app/flows/flows.component.ts +++ b/quick-start/src/main/ui/app/flows/flows.component.ts @@ -1,40 +1,45 @@ -import { Component, EventEmitter, OnInit, OnDestroy, QueryList, ViewChildren, ViewChild } from '@angular/core'; +import { MdlDialogService, MdlSnackbarService } from '@angular-mdl/core'; +import { Component, EventEmitter, OnDestroy, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; +import { distanceInWords } from 'date-fns'; +import * as _ from 'lodash'; +import { Observable } from 'rxjs/Rx'; +import { DeployService } from '../deploy/deploy.service'; +import { EntitiesService } from '../entities/entities.service'; import { Entity } from '../entities/entity.model'; import { Flow } from '../entities/flow.model'; import { Plugin } from '../entities/plugin.model'; - -import { EntitiesService } from '../entities/entities.service'; - -import { MdlSnackbarService } from '@angular-mdl/core'; - -import { MdlDialogService, MdlDialogReference } from '@angular-mdl/core'; - -import { MlcpUiComponent } from '../mlcp-ui'; +import { EnvironmentService } from '../environment'; import { HarmonizeFlowOptionsComponent } from '../harmonize-flow-options/harmonize-flow-options.component'; -import { NewEntityComponent } from '../new-entity/new-entity.component'; -import { NewFlowComponent } from '../new-flow/new-flow.component'; - import { JobListenerService } from '../jobs/job-listener.service'; -import { EnvironmentService } from '../environment'; - -import { HasBugsDialogComponent } from '../has-bugs-dialog'; - -import { DeployService } from '../deploy/deploy.service'; - -import { CodemirrorComponent } from '../codemirror'; - -import { Ng2DeviceService } from 'ng2-device-detector'; - -import { distanceInWords } from 'date-fns'; - -import * as _ from 'lodash'; +import { NewFlowComponent } from '../new-flow/new-flow.component'; +import { HasBugsDialogComponent } from '../shared/components'; +import { CodemirrorComponent } from '../shared/components/codemirror'; +import { NewEntityComponent } from '../shared/components/new-entity/new-entity.component'; @Component({ selector: 'app-flows', - templateUrl: './flows.component.html', - styleUrls: ['./flows.component.scss'], + template: ` + + + ` }) export class FlowsComponent implements OnInit, OnDestroy { @ViewChildren(CodemirrorComponent) codemirrors: QueryList; @@ -49,6 +54,11 @@ export class FlowsComponent implements OnInit, OnDestroy { isSaving = false; mlcpOptions: any; entitiesReady: EventEmitter = new EventEmitter(); + hasErrorsInput = false; + markLogicVersionInput: string; + lastDeployedInput: string; + errorsInput: any; + private paramListener: any; @@ -93,7 +103,7 @@ export class FlowsComponent implements OnInit, OnDestroy { registerParamListener() { this.paramListener = this.route.params.subscribe(params => { if (params.entityName && params.flowName && params.flowType) { - let entity = _.find(this.entities, (e: Entity) => { + const entity = _.find(this.entities, (e: Entity) => { return e.name === params.entityName; }); @@ -101,8 +111,8 @@ export class FlowsComponent implements OnInit, OnDestroy { return; } - let flow = _.find(params.flowType === 'HARMONIZE' ? entity.harmonizeFlows : entity.inputFlows, (f: Flow) => { - return f.flowName == params.flowName; + const flow = _.find(params.flowType === 'HARMONIZE' ? entity.harmonizeFlows : entity.inputFlows, (f: Flow) => { + return f.flowName === params.flowName; }); if (!flow) { @@ -118,6 +128,11 @@ export class FlowsComponent implements OnInit, OnDestroy { if (this.entities && !this.paramListener) { this.registerParamListener(); } + this.hasErrorsInput = this.hasErrors(); + this.markLogicVersionInput = this.getMarkLogicVersion(); + Observable.timer(300).subscribe(() => { + this.lastDeployedInput = this.getLastDeployed(); + }); } ngOnDestroy() { @@ -128,13 +143,15 @@ export class FlowsComponent implements OnInit, OnDestroy { setTimeout(() => { this.snackbar.showSnackbar({ message: `Job ${jobId} Finished.`, - action:{ + action: { handler: () => {}, text: 'OK' } }); }, 0); - }; + } + + getLastDeployed() { const lastDeployed = this.deployService.getLastDeployed(); @@ -149,22 +166,22 @@ export class FlowsComponent implements OnInit, OnDestroy { } hasErrors(): boolean { - let errors = this.getErrors(); + const errors = this.getErrors(); return !!(errors && _.keys(errors).length > 0); } entityHasError(entityName: string): boolean { - let errors = this.getErrors(); + const errors = this.getErrors(); return !!(errors && errors[entityName]); } flowHasError(entityName: string, flowName: string): boolean { - let errors = this.getErrors(); + const errors = this.getErrors(); return !!(errors && errors[entityName] && errors[entityName][flowName]); } pluginHasError(flow: Flow, pluginType: string) { - let errors = this.getErrors(); + const errors = this.getErrors(); return !!( errors && errors[flow.entityName] && @@ -174,7 +191,7 @@ export class FlowsComponent implements OnInit, OnDestroy { } getPluginErrors(flow: Flow, pluginType: string): any { - let errors = this.getErrors(); + const errors = this.getErrors(); if (errors && errors[flow.entityName] && errors[flow.entityName][flow.flowName] && @@ -185,8 +202,8 @@ export class FlowsComponent implements OnInit, OnDestroy { } getErrorMessage(flow: Flow, pluginType: string) { - let errors = this.getErrors(); - let o = errors[flow.entityName][flow.flowName][pluginType]; + const errors = this.getErrors(); + const o = errors[flow.entityName][flow.flowName][pluginType]; return `ERROR:\n${o.msg}\n\nat\n\n${o.uri}:${o.line}:${o.column}`; } @@ -212,14 +229,7 @@ export class FlowsComponent implements OnInit, OnDestroy { this.setCollapsed(entity, !collapsed); } - deleteFlow(event: MouseEvent, flow: Flow, flowType: string): void { - if (event.stopPropagation) { - event.stopPropagation(); - } - if (event.preventDefault) { - event.preventDefault(); - } - event.cancelBubble = true; + deleteFlow({flow, flowType}: {flow: Flow, flowType: string}): void { var resetView = (this.flow === undefined) || ( flow.flowName === this.flow.flowName && flowType === this.getFlowType(this.flow, this.flow.entityName) @@ -238,14 +248,14 @@ export class FlowsComponent implements OnInit, OnDestroy { } setFlow(flow: Flow, flowType: string): void { - this.router.navigate(['/flows', flow.entityName, flow.flowName, flowType]) + this.router.navigate(['/flows', flow.entityName, flow.flowName, flowType]); } _setFlow(entity: Entity, flow: Flow, flowType: string) { this.view = 'flow'; this.entity = entity; flow.plugins.forEach((plugin: Plugin) => { - let mode = plugin.pluginPath.endsWith('js') ? 'text/javascript' : 'application/xquery'; + const mode = plugin.pluginPath.endsWith('js') ? 'text/javascript' : 'application/xquery'; plugin.codemirrorConfig = this.baseCodemirrorConfig(mode); }); this.flow = flow; @@ -260,7 +270,7 @@ export class FlowsComponent implements OnInit, OnDestroy { } } - savePlugin(plugin: Plugin): void { + savePlugin({plugin}: {plugin: Plugin}): void { if (plugin.$dirty) { this.isSaving = true; this.entitiesService @@ -291,7 +301,7 @@ export class FlowsComponent implements OnInit, OnDestroy { } showNewEntity(ev: Event): void { - let actions = { + const actions = { save: (newEntity: Entity) => { this.entitiesService.createEntity(newEntity).subscribe((entity: Entity) => { this.entities.splice(_.sortedIndexBy(this.entities, entity, 'name'), 0, entity); @@ -308,8 +318,8 @@ export class FlowsComponent implements OnInit, OnDestroy { }); } - showNewFlow(entity: Entity, flowType: string): void { - let actions = { + showNewFlow({entity, flowType}: {entity: Entity, flowType: string}): void { + const actions = { save: (newFlow: Flow) => { this.entitiesService.createFlow(entity, flowType.toUpperCase(), newFlow).subscribe((flow: Flow) => { if (flowType.toUpperCase() === 'INPUT') { @@ -372,7 +382,7 @@ export class FlowsComponent implements OnInit, OnDestroy { }); } - runInputFlow(flow: Flow, options: any): void { + runInputFlow({flow, options}: {flow: Flow, options: any}): void { this.entitiesService.runInputFlow(flow, options); this.snackbar.showSnackbar({ message: flow.entityName + ': ' + flow.flowName + ' starting...', @@ -380,7 +390,7 @@ export class FlowsComponent implements OnInit, OnDestroy { }); } - runHarmonizeFlow(flow: Flow, options: any): void { + runHarmonizeFlow({flow, options}: {flow: Flow, options: any}): void { this.entitiesService.runHarmonizeFlow(flow, options.batchSize, options.threadCount, options.options); this.snackbar.showSnackbar({ message: flow.entityName + ': ' + flow.flowName + ' starting...', @@ -414,14 +424,14 @@ export class FlowsComponent implements OnInit, OnDestroy { tabChanged(event) { if (this.flow) { this.flow.tabIndex = event.index; - let plugin: Plugin = this.flow.plugins[event.index - 1]; + const plugin: Plugin = this.flow.plugins[event.index - 1]; if (plugin && !plugin.hasShown) { plugin.$dirty = false; plugin.hasShown = true; } if (plugin) { setTimeout(() => { - let mode = plugin.pluginPath.endsWith('js') ? 'text/javascript' : 'application/xquery'; + const mode = plugin.pluginPath.endsWith('js') ? 'text/javascript' : 'application/xquery'; plugin.codemirrorConfig.mode = mode; this.codemirrors.toArray()[event.index - 1].refresh(); }, 250); diff --git a/quick-start/src/main/ui/app/folder-browser/index.ts b/quick-start/src/main/ui/app/folder-browser/index.ts new file mode 100644 index 0000000000..db1a0b8fb5 --- /dev/null +++ b/quick-start/src/main/ui/app/folder-browser/index.ts @@ -0,0 +1 @@ +export * from './folder-browser.component'; diff --git a/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.README.md b/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.README.md deleted file mode 100644 index 907f909dc1..0000000000 --- a/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.README.md +++ /dev/null @@ -1,7 +0,0 @@ -Thoughts on refactoring and scoping out harmonize-flow-options.component -================================================================ - -1. New presentational component harmonize-flow-options-ui.component.ts should be created -2. harmonize-flow-options-ui.component.ts should be scoped out to library -3. UI Component should remain only with "dialogService" injection which is comes -from MDL diff --git a/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.ts b/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.ts index c3fe4cdc4a..adb838c8d3 100644 --- a/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.ts +++ b/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.ts @@ -21,8 +21,18 @@ import * as _ from 'lodash'; @Component({ selector: 'app-harmonize-flow-options', - templateUrl: './harmonize-flow-options.component.html', - styleUrls: ['./harmonize-flow-options.component.scss'] + template: ` + + ` }) export class HarmonizeFlowOptionsComponent implements OnInit, OnChanges { @@ -68,6 +78,7 @@ export class HarmonizeFlowOptionsComponent implements OnInit, OnChanges { this.docsLoaded(this.flow.entityName); this.saveSettings(); this.validEntityCheck(); + console.log('init flow options', this.flow); } ngOnChanges(changes: SimpleChanges) { diff --git a/quick-start/src/main/ui/app/header/header.component.README.md b/quick-start/src/main/ui/app/header/header.component.README.md deleted file mode 100644 index 9e4423fca4..0000000000 --- a/quick-start/src/main/ui/app/header/header.component.README.md +++ /dev/null @@ -1,5 +0,0 @@ -Thoughts on refactoring and scoping out header.component -======================================================== - -1. New presentational component header-ui.component.ts should be created -2. header-ui.component.ts should be scoped out to library diff --git a/quick-start/src/main/ui/app/header/header.component.ts b/quick-start/src/main/ui/app/header/header.component.ts index e75b578caf..49c29463bc 100644 --- a/quick-start/src/main/ui/app/header/header.component.ts +++ b/quick-start/src/main/ui/app/header/header.component.ts @@ -1,55 +1,47 @@ -import { Component } from '@angular/core'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { Router } from '@angular/router'; - +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/operator/let'; +import { Subscription } from 'rxjs/Subscription'; import { AuthService } from '../auth/auth.service'; -import { ProjectService } from '../projects/projects.service'; +import { ProjectService } from '../projects'; import { JobListenerService } from '../jobs/job-listener.service'; import { EnvironmentService } from '../environment'; @Component({ selector: 'app-header', - templateUrl: './header.component.html', - styleUrls: ['./header.component.scss'], + template: ` + +` }) -export class HeaderComponent { - +export class HeaderComponent implements OnInit { constructor( private projectService: ProjectService, private auth: AuthService, private jobListener: JobListenerService, private envService: EnvironmentService, private router: Router - ) {} - - gotoJobs() { - this.router.navigate(['jobs']); - } + ) { } - getRunningJobCount(): number { - return this.jobListener.runningJobCount(); - } - - getPercentComplete(): number { - return this.jobListener.totalPercentComplete(); - } + public runningJobs = 0; + public percentageComplete = 0; - getMarkLogicVersion(): number { - let version = this.envService.marklogicVersion.substr(0, this.envService.marklogicVersion.indexOf('.')); - return parseInt(version); + ngOnInit() { + this.jobListener.runningJobCount().subscribe(runningJobs => { + this.runningJobs = runningJobs; + }); + this.jobListener.totalPercentComplete().subscribe(percentage => { + this.percentageComplete = percentage; + }); } - logout() { this.projectService.logout().subscribe(() => { this.auth.setAuthenticated(false); this.router.navigate(['login']); }); } - - isActive(url: string): boolean { - if (url === '/') { - return this.router.url === url; - } - - return this.router.url.startsWith(url); - } } diff --git a/quick-start/src/main/ui/app/installer/install.service.ts b/quick-start/src/main/ui/app/installer/install.service.ts index 748d6676f1..d941ddbd08 100644 --- a/quick-start/src/main/ui/app/installer/install.service.ts +++ b/quick-start/src/main/ui/app/installer/install.service.ts @@ -1,7 +1,7 @@ import { Injectable, EventEmitter, NgZone } from '@angular/core'; import { Http, Response } from '@angular/http'; import { Message } from 'stompjs/lib/stomp.min'; -import { STOMPService } from '../stomp/stomp.service'; +import { STOMPService } from '../stomp'; @Injectable() export class InstallService { diff --git a/quick-start/src/main/ui/app/jobs/index.ts b/quick-start/src/main/ui/app/jobs/index.ts index 94d475083f..8c01f466de 100644 --- a/quick-start/src/main/ui/app/jobs/index.ts +++ b/quick-start/src/main/ui/app/jobs/index.ts @@ -1,3 +1,5 @@ export * from './jobs.component'; export * from './job-output.component'; export * from './job-export.component'; +export * from './jobs.service'; +export * from './job-listener.service'; \ No newline at end of file diff --git a/quick-start/src/main/ui/app/jobs/job-export.component.README.md b/quick-start/src/main/ui/app/jobs/job-export.component.README.md deleted file mode 100644 index 6a364196f9..0000000000 --- a/quick-start/src/main/ui/app/jobs/job-export.component.README.md +++ /dev/null @@ -1,7 +0,0 @@ -Thoughts on refactoring and scoping out job-export.component -============================================================ - -1. New presentational component job-export-ui.component.ts should be created -2. job-export-ui.component.ts should be scoped out to library -3. Looks like everything except "jobService" can be easily -refactored into "job-export-ui" diff --git a/quick-start/src/main/ui/app/jobs/job-export.component.ts b/quick-start/src/main/ui/app/jobs/job-export.component.ts index 0099e19e4f..df8a34dca0 100644 --- a/quick-start/src/main/ui/app/jobs/job-export.component.ts +++ b/quick-start/src/main/ui/app/jobs/job-export.component.ts @@ -1,44 +1,36 @@ -import {Component, HostListener, Inject, Input} from '@angular/core'; -import {MdlDialogReference, MdlDialogService} from '@angular-mdl/core'; -import {JobService} from "./jobs.service"; +import {Component, Inject, ViewChild} from '@angular/core'; +import {JobService} from './jobs.service'; +import {JobExportUiComponent} from '../shared/components'; @Component({ selector: 'job-export-dialog', - templateUrl: 'job-export.component.html' + template: ` + + ` }) export class JobExportDialogComponent { - + @ViewChild(JobExportUiComponent) private exportUI: JobExportUiComponent; jobIds: string[]; - question: string; constructor( - public dialog: MdlDialogReference, - private dialogService: MdlDialogService, private jobService: JobService, @Inject('jobIds') jobIds: string[] ) { - this.jobIds = jobIds; - this.question = "Export and download "; - if (jobIds.length === 0) { - this.question += "all jobs and their traces?"; - } else if (this.jobIds.length === 1) { - this.question += "1 job and its traces?"; - } else { - this.question += this.jobIds.length + " jobs and their traces?"; - } } public export() { - this.dialog.hide(); this.jobService.exportJobs(this.jobIds) .subscribe(response => { let body = response['_body']; // Create a download anchor tag and click it. var blob = new Blob([body], {type: 'application/zip'}); - let a = document.createElement("a"); - a.style.display = "none"; + let a = document.createElement('a'); + a.style.display = 'none'; document.body.appendChild(a); let url = window.URL.createObjectURL(blob); a.href = url; @@ -47,12 +39,8 @@ export class JobExportDialogComponent { window.URL.revokeObjectURL(url); }, () => { - this.dialogService.alert("Unable to export jobs"); + this.exportUI.alert('Unable to export jobs'); }); } - @HostListener('keydown.esc') - public onEsc(): void { - this.dialog.hide(); - } } diff --git a/quick-start/src/main/ui/app/jobs/job-listener.service.ts b/quick-start/src/main/ui/app/jobs/job-listener.service.ts index 7831d8f2b0..6657a1358c 100644 --- a/quick-start/src/main/ui/app/jobs/job-listener.service.ts +++ b/quick-start/src/main/ui/app/jobs/job-listener.service.ts @@ -1,13 +1,16 @@ import { Injectable, EventEmitter } from '@angular/core'; import { Message } from 'stompjs/lib/stomp.min'; -import { STOMPService } from '../stomp/stomp.service'; +import { STOMPService } from '../stomp'; import { FlowStatus } from '../entities/flow-status.model'; +import { Observable, BehaviorSubject } from 'rxjs'; @Injectable() export class JobListenerService { public jobStarted: EventEmitter = new EventEmitter(); public jobFinished: EventEmitter = new EventEmitter(); + public jobsRunning: BehaviorSubject; + public percentage: BehaviorSubject; private runningJobs: Map = new Map(); private jobOutputs: Map> = new Map>(); @@ -15,19 +18,29 @@ export class JobListenerService { constructor(private stomp: STOMPService) { this.stomp.messages.subscribe(this.onWebsockMessage); this.stomp.subscribe('/topic/flow-status'); + this.jobsRunning = new BehaviorSubject(0); + this.percentage = new BehaviorSubject(0); } - public runningJobCount(): number { - return this.runningJobs.size; + public runningJobCount(): Observable { + return this.jobsRunning.asObservable(); } - public totalPercentComplete(): number { - const total = this.runningJobCount(); + public totalPercentComplete(): Observable { + return this.percentage.asObservable(); + } + + public setJobsRunning(newValue: number): void { + this.jobsRunning.next(newValue); + } + + public setPercentage(): void { + const total = this.runningJobs.size; let pc = 0; this.runningJobs.forEach((value, key) => { pc += value.percentComplete; }); - return Math.floor(pc / total); + this.percentage.next(Math.floor(pc / total)); } public jobHasOutput(jobId: string): boolean { @@ -45,6 +58,8 @@ export class JobListenerService { // either add or remove to list of running flows if (running) { + this.setJobsRunning(this.runningJobs.size); + this.setPercentage(); // a job may have started if (!this.runningJobs.has(status.jobId)) { this.jobStarted.next(status.jobId); @@ -71,6 +86,8 @@ export class JobListenerService { if (this.jobOutputs.has(status.jobId)) { this.jobOutputs.delete(status.jobId); } + this.setJobsRunning(this.runningJobs.size); + this.setPercentage(); } } } diff --git a/quick-start/src/main/ui/app/jobs/job-output.component.README.md b/quick-start/src/main/ui/app/jobs/job-output.component.README.md deleted file mode 100644 index a4bc55387d..0000000000 --- a/quick-start/src/main/ui/app/jobs/job-output.component.README.md +++ /dev/null @@ -1,8 +0,0 @@ -Thoughts on refactoring and scoping out job-output.component -============================================================ - -1. New presentational component job-output-ui.component.ts should be created -2. job-output-ui.component.ts should be scoped out to library -3. Looks like "jobListener" service dependency should stay with -logic component, everything else can be easily scoped out to the -library. diff --git a/quick-start/src/main/ui/app/jobs/job-output.component.ts b/quick-start/src/main/ui/app/jobs/job-output.component.ts index 35891db5c6..71ff1e2db5 100644 --- a/quick-start/src/main/ui/app/jobs/job-output.component.ts +++ b/quick-start/src/main/ui/app/jobs/job-output.component.ts @@ -10,8 +10,13 @@ import * as _ from 'lodash'; @Component({ selector: 'app-job-output', - templateUrl: './job-output.component.html', - styleUrls: ['./job-output.component.scss'] + template: ` + + ` }) export class JobOutputComponent { job: Job; diff --git a/quick-start/src/main/ui/app/jobs/job.model.ts b/quick-start/src/main/ui/app/jobs/job.model.ts index 1b895146a8..35afe37d59 100644 --- a/quick-start/src/main/ui/app/jobs/job.model.ts +++ b/quick-start/src/main/ui/app/jobs/job.model.ts @@ -7,7 +7,6 @@ export class Job { endTime: string; lastUpdated: string; status: string; - entity: string; flow: string; jobOutput: string; diff --git a/quick-start/src/main/ui/app/jobs/jobs.component.README.md b/quick-start/src/main/ui/app/jobs/jobs.component.README.md deleted file mode 100644 index 726b4893f4..0000000000 --- a/quick-start/src/main/ui/app/jobs/jobs.component.README.md +++ /dev/null @@ -1,9 +0,0 @@ -Thoughts on refactoring and scoping out jobs.component -======================================================== - -1. New presentational component jobs-ui.component.ts should be created -2. jobs-ui.component.ts should be scoped out to library -3. The only injected service that need to remain in presentation is -"dialogService", all others should remain in logic component -4. Watch dependencies on "date-pipe", "app-facets" and "app-pagenation" these -needed to be scoped first. diff --git a/quick-start/src/main/ui/app/jobs/jobs.component.ts b/quick-start/src/main/ui/app/jobs/jobs.component.ts index 7857a93dfc..098721f470 100644 --- a/quick-start/src/main/ui/app/jobs/jobs.component.ts +++ b/quick-start/src/main/ui/app/jobs/jobs.component.ts @@ -2,19 +2,37 @@ import { Component, OnChanges, OnDestroy, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { JobOutputComponent } from './job-output.component'; import { Job } from './job.model'; -import { JobService } from './jobs.service'; -import { JobListenerService } from './job-listener.service'; -import { SearchResponse } from '../search'; -import { MdlDialogService, MdlDialogReference } from '@angular-mdl/core'; +import { JobService } from "./jobs.service"; +import { JobListenerService } from "./job-listener.service"; import { differenceInSeconds } from 'date-fns'; +import { SearchResponse } from '../search'; +import { MdlDialogService } from '@angular-mdl/core'; + import * as _ from 'lodash'; import {JobExportDialogComponent} from "./job-export.component"; @Component({ selector: 'app-jobs', - templateUrl: './jobs.component.html', - styleUrls: ['./jobs.component.scss'], + template: ` + + ` }) export class JobsComponent implements OnChanges, OnDestroy, OnInit { @@ -81,15 +99,15 @@ export class JobsComponent implements OnChanges, OnDestroy, OnInit { }, 2000); }; - private hasLiveOutput(job: Job): boolean { - return this.jobListener.jobHasOutput(job.jobId); - } - public doSearch(): void { this.currentPage = 1; this.runQuery(); } + public searchTextChanged(txt: string): void { + this.searchText = txt; + } + private runQuery(): void { let params = { p: this.currentPage @@ -124,6 +142,10 @@ export class JobsComponent implements OnChanges, OnDestroy, OnInit { this.selectedJobs.length = 0; this.searchResponse = response; this.jobs = _.map(response.results, (result: any) => { + // compute data for presentational component + result.content.duration = this.getDuration(result.content); + result.content.iconClass = this.getIconClass(result.content.flowType); + result.content.hasLiveOutput = this.hasLiveOutput(result.content); return result.content; }); }, @@ -133,10 +155,6 @@ export class JobsComponent implements OnChanges, OnDestroy, OnInit { }); } - getDuration(job: Job): number { - return differenceInSeconds(job.endTime, job.startTime); - } - showConsole(job: Job): void { this.dialogService.showCustomDialog({ component: JobOutputComponent, @@ -148,16 +166,8 @@ export class JobsComponent implements OnChanges, OnDestroy, OnInit { }); } - getIconClass(flowType: string) { - if (flowType === 'harmonize') { - return 'mdi-looks'; - } else if (flowType === 'input') { - return 'mdi-import'; - } - return ''; - } - - updateFacets() { + updateFacets(facets: any) { + this.activeFacets = facets; this.doSearch(); } @@ -208,6 +218,25 @@ export class JobsComponent implements OnChanges, OnDestroy, OnInit { }); } + + getDuration(job: Job): number { + return differenceInSeconds(job.endTime, job.startTime); + } + + public hasLiveOutput(job: Job): boolean { + return this.jobListener.jobHasOutput(job.jobId); + } + + public getIconClass(flowType: string) { + if (flowType === 'harmonize') { + return 'mdi-looks'; + } else if (flowType === 'input') { + return 'mdi-import'; + } + return ''; + } + + render(o) { return JSON.stringify(o); } diff --git a/quick-start/src/main/ui/app/listfilter/index.ts b/quick-start/src/main/ui/app/listfilter/index.ts deleted file mode 100644 index 4418bfca6d..0000000000 --- a/quick-start/src/main/ui/app/listfilter/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './listfilter.pipe'; diff --git a/quick-start/src/main/ui/app/listfilter/listfilter.pipe.README.md b/quick-start/src/main/ui/app/listfilter/listfilter.pipe.README.md deleted file mode 100644 index 0032aade94..0000000000 --- a/quick-start/src/main/ui/app/listfilter/listfilter.pipe.README.md +++ /dev/null @@ -1,2 +0,0 @@ -Looks liek the only place where it used is map.component.html. This should be -moved to map either presentation or logic part. diff --git a/quick-start/src/main/ui/app/login/login-info.component.README.md b/quick-start/src/main/ui/app/login/login-info.component.README.md deleted file mode 100644 index 30886e7b0e..0000000000 --- a/quick-start/src/main/ui/app/login/login-info.component.README.md +++ /dev/null @@ -1 +0,0 @@ -# TODO: add the description here diff --git a/quick-start/src/main/ui/app/login/login.component.ts b/quick-start/src/main/ui/app/login/login.component.ts index e5490e7d8b..8c5011e143 100644 --- a/quick-start/src/main/ui/app/login/login.component.ts +++ b/quick-start/src/main/ui/app/login/login.component.ts @@ -1,24 +1,68 @@ -import { Component, Renderer, NgZone, OnInit } from '@angular/core'; -import { Router } from '@angular/router'; - +import {Component, NgZone, OnInit, ViewChild} from '@angular/core'; +import {Router} from '@angular/router'; import * as _ from 'lodash'; import { AuthService } from '../auth/auth.service'; -import { ProjectService } from '../projects/projects.service'; +import { ProjectService } from '../projects'; import { InstallService } from '../installer'; import { LoginInfo } from './login-info.model'; import { HubSettings } from '../environment/hub-settings.model'; import { MdlDialogService } from '@angular-mdl/core'; +import {LoginUIComponent} from "../shared/components"; import * as SemVer from 'semver'; @Component({ selector: 'app-login', - templateUrl: './login.component.html', - styleUrls: ['./login.component.scss'] + template: ` + + + + + ` }) export class LoginComponent implements OnInit { + + @ViewChild(LoginUIComponent) + private loginUi: LoginUIComponent; + defaultSettings: HubSettings; initSettings: HubSettings = new HubSettings(); showInitAdvanced: boolean = false; @@ -28,10 +72,6 @@ export class LoginComponent implements OnInit { hubUpdateFailed: boolean = false; hubUpdateError: string = ''; - currentTab: string = 'ProjectDir'; - - visitedTabs: Array = []; - loginError: string = null; loggingIn: boolean = false; @@ -42,19 +82,6 @@ export class LoginComponent implements OnInit { 'trace' ]; - tabs: any = { - ProjectDir: true, - InitIfNeeded: false, - PostInit: false, - Environment: false, - Login: false, - InstalledCheck: false, - PreInstallCheck: false, - Installer: false, - RequiresUpdate: false - }; - - installing: boolean = false; uninstalling: boolean = false; @@ -91,8 +118,8 @@ export class LoginComponent implements OnInit { private installService: InstallService, private dialogService: MdlDialogService, private router: Router, - private ngZone: NgZone, - private renderer: Renderer) {} + private ngZone: NgZone) { + } ngOnInit() { this.projectService.getProjects().subscribe((resp) => { @@ -135,7 +162,7 @@ export class LoginComponent implements OnInit { this.router.navigate([redirect]); } else { // go to install hub tab - this.gotoTab('Installer'); + this.loginUi.gotoTab('Installer'); } }) }); @@ -154,7 +181,7 @@ export class LoginComponent implements OnInit { this.currentEnvironment = env; setTimeout(() => { this.uninstalling = false; - this.installationStatus = null; + this.installationStatus = null; }, 1000); emitter.unsubscribe(); @@ -165,7 +192,7 @@ export class LoginComponent implements OnInit { this.router.navigate([redirect]); } else { // go to install hub tab - this.gotoTab('Installer'); + this.loginUi.gotoTab('Installer'); } }); } @@ -178,25 +205,6 @@ export class LoginComponent implements OnInit { this.folder = folders.absolutePath; } - back() { - if (this.visitedTabs.length > 0) { - this.disableTabs(); - this.currentTab = this.visitedTabs.pop(); - this.tabs[this.currentTab] = true; - } - } - - gotoTab(tabName: string): void { - this.disableTabs(); - this.tabs[tabName] = true; - - const skipUs = ['InstalledCheck', 'InitIfNeeded', 'PostInit', 'PreInstallCheck']; - if (skipUs.indexOf(this.currentTab) < 0) { - this.visitedTabs.push(this.currentTab); - } - this.currentTab = tabName; - } - canProjectNext() { return (this.showFolderBrowser && this.folder) || (!this.showFolderBrowser && this.project); @@ -212,10 +220,11 @@ export class LoginComponent implements OnInit { } } - removeProject($event: any) { - const project = $event.item; + removeProject(project: any) { this.projectService.removeProject(project).subscribe(() => { - _.remove(this.projects, p => { return p.id === project.id; }); + _.remove(this.projects, p => { + return p.id === project.id; + }); if (this.projects.length === 0) { this.showFolderBrowser = true; } @@ -227,22 +236,23 @@ export class LoginComponent implements OnInit { this.loginInfo.projectId = project.id; if (project.initialized) { // go straight to the environment choose - this.gotoTab('Environment'); + this.loginUi.gotoTab('Environment'); } else { this.projectService.getProjectDefaults(this.currentProject.id).subscribe(defaults => { this.defaultSettings = defaults; _.merge(this.initSettings, _.clone(defaults)); // go to the init project tab - this.gotoTab('InitIfNeeded'); + this.loginUi.gotoTab('InitIfNeeded'); }); } - } + }; - restoreInitDefaults($evt: MouseEvent) { + restoreInitDefaults() { this.dialogService.confirm('Really restore the default settings?', 'Cancel', 'Restore').subscribe(() => { - this.initSettings = _.clone(this.defaultSettings); - }, - () => {}); + this.initSettings = _.clone(this.defaultSettings); + }, + () => { + }); } gotEnvironment(environment: string) { @@ -250,16 +260,8 @@ export class LoginComponent implements OnInit { this.currentEnvironmentString = environment; } - environmentNext() { - this.gotoTab('Login'); - setTimeout(() => { - this.renderer.invokeElementMethod( - this.renderer.selectRootElement('input#username'), 'focus'); - }, 500); - } - loginNext() { - this.gotoTab('InstalledCheck'); + this.loginUi.gotoTab('InstalledCheck'); this.projectService.getProjectEnvironment().subscribe((env: any) => { this.currentEnvironment = env; @@ -267,11 +269,11 @@ export class LoginComponent implements OnInit { if (installInfo && installInfo.installed) { if (this.currentEnvironment.runningVersion !== '0.1.2' && - this.currentEnvironment.runningVersion !== '%%mlHubVersion%%' && - this.currentEnvironment.installedVersion !== '%%mlHubVersion%%' && + this.currentEnvironment.runningVersion !== '%%mlHubVersion%%' && + this.currentEnvironment.installedVersion !== '%%mlHubVersion%%' && (SemVer.gt(this.currentEnvironment.runningVersion, this.currentEnvironment.installedVersion) - || this.currentEnvironment.runningVersion !== this.currentEnvironment.dhfversion )) { - this.gotoTab('RequiresUpdate'); + || this.currentEnvironment.runningVersion !== this.currentEnvironment.dhfversion)) { + this.loginUi.gotoTab('RequiresUpdate'); } else { // goto login tab let redirect = this.auth.redirectUrl || ''; @@ -284,21 +286,21 @@ export class LoginComponent implements OnInit { } doPreinstallCheck() { - this.gotoTab('PreInstallCheck'); + this.loginUi.gotoTab('PreInstallCheck'); this.runningPreinstallCheck = true; this.projectService.preinstallCheck().subscribe((resp: any) => { - this.runningPreinstallCheck = false; - this.preinstallCheck = resp; - if (this.preinstallCheck.safeToInstall) { - this.gotoTab('Installer'); - } else { - console.log('bad!'); - } - }, - () => { - this.runningPreinstallCheck = false; - this.preinstallCheck = null; - }); + this.runningPreinstallCheck = false; + this.preinstallCheck = resp; + if (this.preinstallCheck.safeToInstall) { + this.loginUi.gotoTab('Installer'); + } else { + console.log('bad!'); + } + }, + () => { + this.runningPreinstallCheck = false; + this.preinstallCheck = null; + }); } initProject() { @@ -308,26 +310,26 @@ export class LoginComponent implements OnInit { ).subscribe((project: any) => { this.currentProject = project; this.loginInfo.projectId = project.id; - this.gotoTab('PostInit'); + this.loginUi.gotoTab('PostInit'); }); } updateProject() { this.hubUpdating = true; this.projectService.updateProject().subscribe(() => { - this.hubUpdating = false; - this.hubUpdateError = ''; - this.loginNext(); - }, - error => { - this.hubUpdating = false; - this.hubUpdateFailed = true; - this.hubUpdateError = error.json().message; - }); + this.hubUpdating = false; + this.hubUpdateError = ''; + this.loginNext(); + }, + error => { + this.hubUpdating = false; + this.hubUpdateFailed = true; + this.hubUpdateError = error.json().message; + }); } postInitNext() { - this.gotoTab('Environment'); + this.loginUi.gotoTab('Environment'); } login() { @@ -344,7 +346,7 @@ export class LoginComponent implements OnInit { this.loggingIn = false; }, error => { - let errorMsg = error; + let errorMsg = error; try { errorMsg = error.json().message; } catch (e) { @@ -381,14 +383,4 @@ export class LoginComponent implements OnInit { } return ''; } - - getInstalledIcon(isTrue: boolean) { - return isTrue ? 'fa-check' : 'fa-close'; - } - - private disableTabs() { - _.each(this.tabs, (tab, key) => { - this.tabs[key] = false; - }); - } } diff --git a/quick-start/src/main/ui/app/mappings/map.component.ts b/quick-start/src/main/ui/app/mappings/map.component.ts index 1f7d3c3802..39a46c3903 100644 --- a/quick-start/src/main/ui/app/mappings/map.component.ts +++ b/quick-start/src/main/ui/app/mappings/map.component.ts @@ -1,21 +1,33 @@ import { Router, ActivatedRoute, Params } from '@angular/router'; -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild } from '@angular/core'; import { Entity } from '../entities'; import { EntitiesService } from '../entities/entities.service'; import { SearchService } from '../search/search.service'; import { MapService } from './map.service'; -import { MdlDialogService } from '@angular-mdl/core'; -import { MdlSnackbarService } from '@angular-mdl/core'; +import { MapUiComponent } from '../shared/components'; import * as _ from 'lodash'; import * as moment from 'moment'; -import {Mapping} from "./mapping.model"; +import { Mapping } from "./mapping.model"; @Component({ - templateUrl: './map.component.html', - styleUrls: ['./map.component.scss'], + template: ` + + ` }) export class MapComponent implements OnInit { + @ViewChild(MapUiComponent) private mapUI: MapUiComponent; + // Entity Model public chosenEntity: Entity; private entityPrimaryKey: string = ''; @@ -29,12 +41,11 @@ export class MapComponent implements OnInit { private pageLength: number = 1; public sampleDocURI: string = null; private sampleDocSrc: any = null; - private sampleDocSrcProps: Array = []; - public valMaxLen: number = 17; + public sampleDocSrcProps: Array = []; // Connections - public conns: Object = {}; - public connsOrig: Object = {}; + public conns: object = {}; + public connsOrig: object = {}; private mapPrefix: string = 'dhf-map-'; private entityName: string; @@ -43,19 +54,8 @@ export class MapComponent implements OnInit { public mapping: Mapping = new Mapping(); - public filterFocus = {}; - public filterText = {}; - - // Edit source URI - public editURIVal; - public editingURI = false; - - //edit source Context - public editingSourceContext = false; + public editURIVal: string; - //edit description - public editDescVal; - public editingDesc = false; /** * Load chosen entity to use as harmonized model. */ @@ -70,6 +70,11 @@ export class MapComponent implements OnInit { this.entitiesService.getEntities(); } + updateURI(event) { + this.conns = event.conns; + this.loadSampleDocByURI(event.uri, event.uriOrig, event.connsOrig, event.save); + } + /** * Search for a sample document by entity name and load that document by its URI. * @param entityName An entity name @@ -90,7 +95,7 @@ export class MapComponent implements OnInit { ).subscribe(response => { this.sampleDocURI = response.results[0].uri; this.editURIVal = this.sampleDocURI; - this.loadSampleDocByURI(this.sampleDocURI, {}, false) + this.loadSampleDocByURI(this.sampleDocURI, '', {}, true) }, () => {}, () => {} @@ -100,11 +105,13 @@ export class MapComponent implements OnInit { /** * Load a sample document by its URI. * @param uri A document URI - * @param conns A connections object in case rollback is required - * @param save {boolean} Save map after successful load (when updating URI) + * @param uriOrig Original URI in case none is found + * @param connsOrig A connections object in case rollback is required + * @param save {boolean} Save map after successful load. */ - loadSampleDocByURI(uri: string, conns: Object, save: boolean): void { + loadSampleDocByURI(uri: string, uriOrig: string, connsOrig: Object, save: boolean): void { let self = this; + this.editURIVal = uri; this.searchService.getDoc(this.currentDatabase, uri).subscribe(doc => { this.sampleDocSrcProps = []; this.sampleDocSrc = doc; @@ -116,30 +123,15 @@ export class MapComponent implements OnInit { }; self.sampleDocSrcProps.push(prop); }); - this.sampleDocURI = this.editURIVal; - this.editingURI = false; + this.sampleDocURI = uri; if (save) { this.saveMap(); - console.log('map saved with updated URI'); + console.log('map saved'); } }, (err) => { - // URI not found; this can only occur when editing the URI - let result = this.dialogService.alert( - 'Document URI not found: ' + uri, - 'OK' - ); - result.subscribe( () => { - this.editURIVal = this.sampleDocURI; - this.editingURI = false; - // rollback to conns from previous URI - if (!_.isEmpty(conns)) { - this.conns = conns; - } - }, - () => {}, - () => {} - ) + this.conns = connsOrig; + self.mapUI.uriNotFound(uri); } ); } @@ -147,6 +139,7 @@ export class MapComponent implements OnInit { /** * Update the sample document based on a URI. */ + /* updateSampleDoc() { if (this.sampleDocURI === this.editURIVal) { this.editingURI = false; @@ -169,41 +162,21 @@ export class MapComponent implements OnInit { this.loadSampleDocByURI(this.editURIVal, {}, true); } } - + */ /** - * Cancel the editing of the source document URI. + * Update the mapping description by saving the mapping. */ - cancelEditURI() { - this.editURIVal = this.sampleDocURI; - this.editingURI = false; + updateDesc(mapping) { + this.mapping = mapping; + this.saveMap(); } /** - * Cancel the editing of the source document URI. + * Update the mapping based on new connections submitted. */ - cancelEditDesc() { - this.editDescVal = this.mapping.description; - this.editingDesc = false; - } - - keyPressURI(event) { - if (event.key === 'Enter') { - this.updateSampleDoc(); - } - } - - updateDesc() { - if (this.mapping.description !== this.editDescVal) { - this.mapping.description = this.editDescVal; - this.saveMap(); - } - this.editingDesc = false; - } - - keyPressDesc(event) { - if (event.key === 'Enter') { - this.updateDesc(); - } + updateMap(conns) { + this.conns = conns; + this.saveMap(); } constructor( @@ -211,9 +184,7 @@ export class MapComponent implements OnInit { private mapService: MapService, private entitiesService: EntitiesService, private router: Router, - private activatedRoute: ActivatedRoute, - private dialogService: MdlDialogService, - private snackbar: MdlSnackbarService, + private activatedRoute: ActivatedRoute ) {} /** @@ -230,47 +201,8 @@ export class MapComponent implements OnInit { } /** - * Handle property selection from source menu - * @param prop Property object - * @param proptype 'src' or 'harm' - * @param index Index of menu (not item) - */ - handleSelection(entityPropName, srcPropName): void { - this.conns[entityPropName] = srcPropName; - } - - /** - * Clear a property selection from source menu - * @param event Event object, used to stop propagation - * @param entityPropName Entity property name mapping to clear - */ - clearSelection(event, entityPropName): void { - if (this.conns[entityPropName]) - delete this.conns[entityPropName]; - this.editingURI = false; // close edit box if open - event.stopPropagation(); - } - - /** - * Get property objects of source document - * @param entityPropName Entity property name mapping to lookup - * @param srcKey 'key', 'val' or 'type' - * @returns {String} Value of the src data requested - */ - getConnSrcData(entityPropName, srcKey): string { - let data; - let propertyKey = this.conns[entityPropName]; - - if (this.sampleDocSrcProps.length > 0 && this.conns[entityPropName]) { - let obj = _.find(this.sampleDocSrcProps, function(o) { return o && (o.key === propertyKey); }); - data = obj[srcKey]; - } - - return String(data); - } - - /** - * Save the mapping artifact + * Save the mapping artifact and then show a confirmation popup + * and navigate to the view for that mapping. */ saveMap(): void { let formattedConns = {}; @@ -295,9 +227,7 @@ export class MapComponent implements OnInit { let tmpMapName = this.mapName; this.mapService.saveMap(this.mapName, JSON.stringify(mapObj)).subscribe((res: any) => { - this.snackbar.showSnackbar({ - message: 'Mapping "' + tmpMapName + '" saved' - }); + this.mapUI.showSnackbar('Mapping "' + tmpMapName + '" saved'); this.loadMap(); this.router.navigate(['/mappings', tmpEntityName, tmpMapName]); }); @@ -308,20 +238,12 @@ export class MapComponent implements OnInit { * Handle reset button event */ resetMap(): void { - let result = this.dialogService.confirm( - 'Reset map to previously saved version?', - 'Cancel', 'OK'); - result.subscribe( () => { - this.loadMap(); - },(err: any) => { - console.log('reset map aborted'); - }, - () => {} - ); + this.loadMap(); } /** - * Retrieve the mapping artifact + * Retrieve the mapping artifact and then get the sample document + * and build the connection object. */ loadMap() { let self = this; @@ -331,10 +253,6 @@ export class MapComponent implements OnInit { this.mapping = map; this.sampleDocURI = map.sourceURI; this.editURIVal = this.sampleDocURI; - this.editDescVal = map.description; - // close any open edit inputs when changing mappings - this.editingDesc = false; - this.editingURI = false; } // if source URI unset in mapping, load sample source doc based on entity if (this.mapping && !this.mapping.sourceURI) { @@ -342,7 +260,7 @@ export class MapComponent implements OnInit { } // else load source doc based on source URI in mapping else { - this.loadSampleDocByURI(this.sampleDocURI, {}, false); + this.loadSampleDocByURI(this.sampleDocURI, '', {}, false); } if (map && map.properties) { self.conns = {}; @@ -354,10 +272,6 @@ export class MapComponent implements OnInit { }); } - mapChanged() { - return !_.isEqual(this.conns, this.connsOrig); - } - /** * Interpret the datatype of a property value * Recognize all JSON types: array, object, number, boolean, null @@ -390,89 +304,4 @@ export class MapComponent implements OnInit { return result; } - /** - * Should datatype be displayed with quotes? - * @param property datatype - * @returns {boolean} - */ - isQuoted(type) { - let typesToQuote = ['string', 'date']; - return _.indexOf(typesToQuote, type) > -1; - } - - /** - * Trim start of long string and add prefix ('...trimmed-string' - * @param str String to trim - * @param num Character threshold - * @param prefix Prefix to add - * @returns {any} Trimmed string - */ - getLastChars(str, num, prefix) { - prefix = prefix ? prefix : '...'; - let result = str; - if (typeof str === 'string' && str.length > num) { - result = prefix + str.substr(str.length - num); - } - return result; - } - - /** - * Return string if sufficiently long, otherwise empty string - * @param str String to return - * @param num Character threshold - * @returns {any} string - */ - getURITooltip(str, num) { - let result = ''; - if (typeof str === 'string' && str.length > num) { - result = str; - } - return result; - } - - /** - * Does entity property have an element range index set? - * @param name Name of property - * @returns {boolean} - */ - hasElementRangeIndex(name) { - return _.includes(this.chosenEntity.definition.elementRangeIndex, name); - } - - /** - * Does entity property have a path range index set? - * @param name Name of property - * @returns {boolean} - */ - hasRangeIndex(name) { - return _.includes(this.chosenEntity.definition.rangeIndex, name); - } - - /** - * Does entity property have a word lexicon set? - * @param name Name of property - * @returns {boolean} - */ - hasWordLexicon(name) { - return _.includes(this.chosenEntity.definition.wordLexicon, name); - } - - /** - * Is an entity property required? - * @param name Name of property - * @returns {boolean} - */ - isRequired(name) { - return _.includes(this.chosenEntity.definition.required, name); - } - - /** - * Is an entity property personally identifiable information? - * @param name Name of property - * @returns {boolean} - */ - isPII(name) { - return _.includes(this.chosenEntity.definition.pii, name); - } - } diff --git a/quick-start/src/main/ui/app/mappings/mappings.component.README.md b/quick-start/src/main/ui/app/mappings/mappings.component.README.md deleted file mode 100644 index 30886e7b0e..0000000000 --- a/quick-start/src/main/ui/app/mappings/mappings.component.README.md +++ /dev/null @@ -1 +0,0 @@ -# TODO: add the description here diff --git a/quick-start/src/main/ui/app/mappings/mappings.component.ts b/quick-start/src/main/ui/app/mappings/mappings.component.ts index 7820cb7372..aea0940d0a 100644 --- a/quick-start/src/main/ui/app/mappings/mappings.component.ts +++ b/quick-start/src/main/ui/app/mappings/mappings.component.ts @@ -1,5 +1,5 @@ import { Router, ActivatedRoute, Params } from '@angular/router'; -import {AfterViewInit, Component, OnDestroy, OnInit} from '@angular/core'; +import { Component, OnDestroy, OnInit } from '@angular/core'; import { Entity } from '../entities'; import { EntitiesService } from '../entities/entities.service'; import { MapService } from './map.service'; @@ -12,10 +12,17 @@ import {NewMapComponent} from "./new-map.component"; import {Subscriber} from "rxjs/Subscriber"; @Component({ - templateUrl: './mappings.component.html', - styleUrls: ['./mappings.component.scss'], + template: ` + + ` }) -export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { +export class MappingsComponent implements OnInit, OnDestroy { public subscribers: Map> = new Map(); @@ -31,7 +38,7 @@ export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { private entityMap: Map = new Map(); - private entityMappingsMap: Map> = new Map>(); + public entityMappingsMap: Map> = new Map>(); constructor( @@ -72,10 +79,6 @@ export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { this.subscribers.get('mappings').unsubscribe(); } - ngAfterViewInit() { - - } - populateEntities() : void { this.entities.forEach((entity: Entity) => { this.entityMap.set(entity.name, entity); @@ -92,12 +95,7 @@ export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { return this.entityMappingsMap.get(entity); } - isActiveMap(entity: Entity, mapping: Mapping): boolean { - return this.activeEntity && this.activeEntity.name === entity.name && - this.activeMapping && this.activeMapping.name === mapping.name; - } - - showNewMapping(entity: Entity, mappings: Array) { + showNewMapping(event) { let actions = { save: (newMapName: string, newMapDesc: string) => { @@ -106,7 +104,7 @@ export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { "name" : newMapName, "description" : newMapDesc, "version" : "0", - "targetEntityType" : entity.info.baseUri + entity.name +'-' + entity.info.version + '/' + entity.name, // TODO + "targetEntityType" : event.entity.info.baseUri + event.entity.name +'-' + event.entity.info.version + '/' + event.entity.name, // TODO "sourceContext": '', "sourceURI": '', "properties": {} @@ -115,9 +113,9 @@ export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { this.mapService.saveMap(newMapName, JSON.stringify(mapObj)).subscribe((res: any) => { this.mapService.getMap(newMapName).subscribe((res: any) => { - this.activeEntity = entity; + this.activeEntity = event.entity; this.activeMapping = new Mapping().fromJSON(res); - this.router.navigate(['/mappings', entity.name, newMapName]); + this.router.navigate(['/mappings', event.entity.name, newMapName]); }); }); @@ -127,37 +125,27 @@ export class MappingsComponent implements OnInit, OnDestroy, AfterViewInit { component: NewMapComponent, providers: [ { provide: 'actions', useValue: actions }, - { provide: 'entity', useValue: entity }, - { provide: 'mappings', useValue: mappings } + { provide: 'entity', useValue: event.entity }, + { provide: 'mappings', useValue: event.mappings } ], isModal: true }); } - editMapping(entity: Entity, mapping: Mapping){ - this.activeEntity = entity; - this.activeMapping = mapping; - this.router.navigate(['/mappings', entity.name, mapping.name]); + editMapping(event){ + this.activeEntity = event.entity; + this.activeMapping = event.mapping; + this.router.navigate(['/mappings', event.entity.name, event.mapping.name]); } - deleteMapping(event: MouseEvent, mapping: Mapping): void { - if (event.stopPropagation) { - event.stopPropagation(); - } - if (event.preventDefault) { - event.preventDefault(); - } - event.cancelBubble = true; - this.dialogService.confirm(`Really delete ${mapping.name} mapping?`, 'Cancel', 'Delete').subscribe(() => { - this.mapService.deleteMap(mapping).subscribe((res: any) => { - this.mapService.getMappings(); - // Delete mapping currently being viewed? - if (this.activeMapping && this.activeMapping.name === mapping.name) { - this.router.navigate(['/mappings']); - } - }); - }, - () => {}); + deleteMapping(event): void { + this.mapService.deleteMap(event.mapping).subscribe((res: any) => { + this.mapService.getMappings(); + // Delete mapping currently being viewed? + if (this.activeMapping && this.activeMapping.name === event.mapping.name) { + this.router.navigate(['/mappings']); + } + }); } /** diff --git a/quick-start/src/main/ui/app/mlcp/index.ts b/quick-start/src/main/ui/app/mlcp/index.ts new file mode 100644 index 0000000000..da3c863b0c --- /dev/null +++ b/quick-start/src/main/ui/app/mlcp/index.ts @@ -0,0 +1 @@ +export * from './mlcp.component'; diff --git a/quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.ts b/quick-start/src/main/ui/app/mlcp/mlcp.component.ts similarity index 93% rename from quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.ts rename to quick-start/src/main/ui/app/mlcp/mlcp.component.ts index 22bd6a7da4..77970fb535 100644 --- a/quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.ts +++ b/quick-start/src/main/ui/app/mlcp/mlcp.component.ts @@ -22,10 +22,25 @@ interface MlcpOptions { @Component({ selector: 'app-mlcp', - templateUrl: './mlcp-ui.component.html', - styleUrls: ['./mlcp-ui.component.scss'] + template: ` + + + `, }) -export class MlcpUiComponent implements OnChanges { +export class MlcpComponent implements OnChanges { startPath: string; inputFilePath: string; mlcp = {}; @@ -38,7 +53,7 @@ export class MlcpUiComponent implements OnChanges { finishedEvent: EventEmitter; - _isVisible: boolean = false; + _isVisible = false; groups: Array; @@ -84,7 +99,7 @@ export class MlcpUiComponent implements OnChanges { this.flow = flow; - //TODO: we need to make this more consistent than just enforcing it everytime quickstart loads up the flow + // TODO: we need to make this more consistent than just enforcing it everytime quickstart loads up the flow mlcpOptions['transform_module'] = this.flow.transformModulePath(); this.inputFilePath = this.startPath = mlcpOptions.input_file_path || '.'; @@ -472,15 +487,15 @@ export class MlcpUiComponent implements OnChanges { } buildMlcpOptions(): Array { - let options: Array = []; + const options: Array = []; this.mlcp = {}; this.addMlcpOption(options, 'import', null, false, false); this.addMlcpOption(options, 'mode', 'local', false, true); - let host = this.envService.settings.host; - let port = this.envService.settings.stagingPort; - let username = this.envService.settings.username; + const host = this.envService.settings.host; + const port = this.envService.settings.stagingPort; + const username = this.envService.settings.username; this.addMlcpOption(options, 'host', host, false, true); @@ -493,7 +508,7 @@ export class MlcpUiComponent implements OnChanges { _.each(group.settings, (setting: any) => { if (setting.value) { const key = setting.field; - let value = setting.value; + const value = setting.value; this.addMlcpOption(options, key, value, true, true); } }); @@ -513,16 +528,16 @@ export class MlcpUiComponent implements OnChanges { if (isOtherOption) { this.mlcp[key] = value; } - if (value.type !== 'boolean' && value.type !== 'number'){ - value = '"'+value+'"'; + if (value.type !== 'boolean' && value.type !== 'number') { + value = '"' + value + '"'; } options.push(value); } } - updateSetting(setting: any, value: any): void { - setting.value = value; - this.updateMlcpCommand(); + updateSetting(): void { + // use setTimeout to solve ExpressionChangedAfterItHasBeenCheckedError + setTimeout(this.updateMlcpCommand(), 0); } updateMlcpCommand(): string { @@ -531,6 +546,7 @@ export class MlcpUiComponent implements OnChanges { mlcpCommand += ' ' + this.buildMlcpOptions().join(' '); this.mlcpCommand = mlcpCommand; + return mlcpCommand; } @@ -540,18 +556,18 @@ export class MlcpUiComponent implements OnChanges { folderClicked(folders: any): void { if (this.inputFilePath !== folders.absolutePath) { - //Update Input File Path - let generalGroup = _.find(this.groups, (group: any) => { + // Update Input File Path + const generalGroup = _.find(this.groups, (group: any) => { return group.category === 'General Options'; }); - let inputFilePath = _.find(generalGroup.settings, (setting: any) => { + const inputFilePath = _.find(generalGroup.settings, (setting: any) => { return setting.field === 'input_file_path'; }); inputFilePath.value = folders.absolutePath; this.inputFilePath = inputFilePath.value; // update the outputUriReplace options - let outputUriReplace = _.find(generalGroup.settings, (setting: any) => { + const outputUriReplace = _.find(generalGroup.settings, (setting: any) => { return setting.field === 'output_uri_replace'; }); outputUriReplace.value = this.outputUriReplaceValue(); @@ -561,7 +577,7 @@ export class MlcpUiComponent implements OnChanges { } fileClicked(file: any): void { - if (this.inputFilePath != file.absolutePath) { + if (this.inputFilePath !== file.absolutePath) { this.inputFilePath = file.absolutePath; this.updateMlcpCommand(); } diff --git a/quick-start/src/main/ui/app/new-flow/new-flow.component.ts b/quick-start/src/main/ui/app/new-flow/new-flow.component.ts index d4389428fa..1785a6bb4f 100644 --- a/quick-start/src/main/ui/app/new-flow/new-flow.component.ts +++ b/quick-start/src/main/ui/app/new-flow/new-flow.component.ts @@ -12,11 +12,27 @@ import {Flow} from '../entities/flow.model'; @Component({ selector: 'app-new-flow', - templateUrl: './new-flow.component.html', - styleUrls: ['./new-flow.component.scss'] + template: ` + + ` }) export class NewFlowComponent implements OnDestroy { flowType: string; + markLogicVersion: number; actions: any; entity: Entity; flows: Array; @@ -58,7 +74,6 @@ export class NewFlowComponent implements OnDestroy { mapSub: any; constructor( - private dialog: MdlDialogReference, private envService: EnvironmentService, private mapService: MapService, @Inject('flowType') flowType: string, @@ -73,6 +88,7 @@ export class NewFlowComponent implements OnDestroy { this.flows = flows; this.startingMappingOption = this.mappingOptions[0]; this.mapService.getMappings(); + this.markLogicVersion = this.getMarkLogicVersion(); if (this.getMarkLogicVersion() === 8) { this.flow.useEsModel = false; } else { @@ -97,42 +113,21 @@ export class NewFlowComponent implements OnDestroy { this.mapSub.unsubscribe(); } - hide() { - this.dialog.hide(); - } - - @HostListener('keydown.esc') - public onEsc(): void { - this.cancel(); + flowChanged(flow: any) { + this.flow = flow; } create() { if (this.flow.flowName && this.flow.flowName.length > 0) { - this.hide(); if (this.actions && this.actions.save) { this.actions.save(this.flow); } } } - cancel() { - this.hide(); - } - getMarkLogicVersion(): number { let version = this.envService.marklogicVersion.substr(0, this.envService.marklogicVersion.indexOf('.')); return parseInt(version); } - - checkName() { - let nameValid = true; - let entityName = this.entity && this.entity.info && this.entity.info.title; - let flowPrefix = (this.flowType.toUpperCase() === 'INPUT') ? 'an' : 'a'; - _.forEach(this.flows, (f) => { - nameValid = (this.flow.flowName === f.flowName) ? false: nameValid; - }); - this.errorMsg = (!nameValid) ? `Flow names must be unique. Entity "${entityName}" already contains ${flowPrefix} ${this.flowType} flow named "${this.flow.flowName}"` : ''; - this.isNameValid = nameValid; - } } diff --git a/quick-start/src/main/ui/app/search/search-viewer.component.ts b/quick-start/src/main/ui/app/search/search-viewer.component.ts index 1df05987e6..965aeb5e15 100644 --- a/quick-start/src/main/ui/app/search/search-viewer.component.ts +++ b/quick-start/src/main/ui/app/search/search-viewer.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core'; +import { Component, OnInit, OnDestroy } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { SearchService } from './search.service'; @@ -10,17 +10,19 @@ require('codemirror/mode/javascript/javascript'); @Component({ selector: 'app-search-viewer', - encapsulation: ViewEncapsulation.None, - templateUrl: './search-viewer.component.html', - styleUrls: [ - './search-viewer.component.scss' - ], + template: ` + + `, }) export class SearchViewerComponent implements OnInit, OnDestroy { private sub: any; - currentDatabase: string = 'STAGING'; - doc: string = null; + currentDatabase = 'STAGING'; + doc: string; uri: string; codeMirrorConfig = { lineNumbers: true, diff --git a/quick-start/src/main/ui/app/search/search.component.ts b/quick-start/src/main/ui/app/search/search.component.ts index 5970ff7678..49e8ecc668 100644 --- a/quick-start/src/main/ui/app/search/search.component.ts +++ b/quick-start/src/main/ui/app/search/search.component.ts @@ -9,8 +9,25 @@ import * as _ from 'lodash'; @Component({ selector: 'app-search', - templateUrl: './search.component.html', - styleUrls: ['./search.component.scss'] + template: ` + + ` }) export class SearchComponent implements OnDestroy, OnInit { @@ -61,12 +78,28 @@ export class SearchComponent implements OnDestroy, OnInit { this.runQuery(); } - showDoc(database: string, docUri: string) { + currentDatabaseChanged(db: string) { + this.currentDatabase = db; + this.doSearch(); + } + + entitiesOnlyChanged(val: boolean) { + this.entitiesOnly = val; + this.doSearch(); + } + + searchTextChanged(val: string) { + this.searchText = val; + } + + activeFacetsChange(facets: any) { + this.activeFacets = facets; + this.doSearch(); + } + + showDoc(doc: any) { this.router.navigate(['/view'], { - queryParams: { - database: database, - docUri: docUri - } + queryParams: doc }); } @@ -118,10 +151,6 @@ export class SearchComponent implements OnDestroy, OnInit { }); } - updateFacets() { - this.doSearch(); - } - setDatabase(database) { this.currentDatabase = database; } diff --git a/quick-start/src/main/ui/app/settings/index.ts b/quick-start/src/main/ui/app/settings/index.ts index ec4fef731e..5a9ede4a0a 100644 --- a/quick-start/src/main/ui/app/settings/index.ts +++ b/quick-start/src/main/ui/app/settings/index.ts @@ -1 +1,2 @@ +export * from './settings.service'; export * from './settings.component'; diff --git a/quick-start/src/main/ui/app/settings/settings.component.ts b/quick-start/src/main/ui/app/settings/settings.component.ts index b0c4c18e72..49a5252310 100644 --- a/quick-start/src/main/ui/app/settings/settings.component.ts +++ b/quick-start/src/main/ui/app/settings/settings.component.ts @@ -3,15 +3,28 @@ import { Router } from '@angular/router'; import { SettingsService } from './settings.service'; import { InstallService } from '../installer'; - import { ProjectService } from '../projects'; - import { MdlDialogService } from '@angular-mdl/core'; @Component({ selector: 'app-settings', - templateUrl: './settings.component.html', - styleUrls: ['./settings.component.scss'], + template: ` + + ` }) export class SettingsComponent { @@ -50,6 +63,22 @@ export class SettingsComponent { } } + get isPerformingInstallUninstall(): boolean { + return this.isInstalling || this.isUninstalling; + } + + get isTraceEnabled(): boolean { + return this.settings.traceEnabled; + } + + get isDebugEnabled(): boolean { + return this.settings.debugEnabled; + } + + mlcpPathChanged(path: string) { + return this.mlcpPath = path; + } + debugEnabled() { return this.settings.debugEnabled; } diff --git a/quick-start/src/main/ui/app/shared/components/app-ui.component.html b/quick-start/src/main/ui/app/shared/components/app-ui.component.html new file mode 100644 index 0000000000..1004d4800c --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/app-ui.component.html @@ -0,0 +1,6 @@ + + +
+ +
+
diff --git a/quick-start/src/main/ui/app/app.component.scss b/quick-start/src/main/ui/app/shared/components/app-ui.component.scss similarity index 100% rename from quick-start/src/main/ui/app/app.component.scss rename to quick-start/src/main/ui/app/shared/components/app-ui.component.scss diff --git a/quick-start/src/main/ui/app/shared/components/app-ui.component.ts b/quick-start/src/main/ui/app/shared/components/app-ui.component.ts new file mode 100644 index 0000000000..6a398699bc --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/app-ui.component.ts @@ -0,0 +1,11 @@ +import {Component, EventEmitter, Input, Output} from "@angular/core"; + +@Component({ + selector: 'app-ui', + templateUrl: './app-ui.component.html', + styleUrls: ['./app-ui.component.scss'], +}) +export class AppUiComponent { + @Input() canShowHeader: boolean; + @Input() headerOffset: string; +} diff --git a/quick-start/src/main/ui/app/entity-modeler/choose-collation.component.html b/quick-start/src/main/ui/app/shared/components/choose-collation/choose-collation.component.html similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/choose-collation.component.html rename to quick-start/src/main/ui/app/shared/components/choose-collation/choose-collation.component.html diff --git a/quick-start/src/main/ui/app/entity-modeler/choose-collation.component.scss b/quick-start/src/main/ui/app/shared/components/choose-collation/choose-collation.component.scss similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/choose-collation.component.scss rename to quick-start/src/main/ui/app/shared/components/choose-collation/choose-collation.component.scss diff --git a/quick-start/src/main/ui/app/entity-modeler/choose-collation.component.ts b/quick-start/src/main/ui/app/shared/components/choose-collation/choose-collation.component.ts similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/choose-collation.component.ts rename to quick-start/src/main/ui/app/shared/components/choose-collation/choose-collation.component.ts diff --git a/quick-start/src/main/ui/app/codemirror/addon/edit/closebrackets.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/closebrackets.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/edit/closebrackets.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/closebrackets.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/edit/closetag.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/closetag.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/edit/closetag.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/closetag.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/edit/continuelist.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/continuelist.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/edit/continuelist.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/continuelist.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/edit/matchbrackets.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/matchbrackets.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/edit/matchbrackets.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/matchbrackets.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/edit/matchtags.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/matchtags.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/edit/matchtags.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/matchtags.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/edit/trailingspace.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/trailingspace.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/edit/trailingspace.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/edit/trailingspace.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/anyword-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/anyword-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/anyword-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/anyword-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/css-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/css-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/css-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/css-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/html-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/html-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/html-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/html-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/javascript-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/javascript-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/javascript-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/javascript-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-docs-additions.json b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-docs-additions.json similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-docs-additions.json rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-docs-additions.json diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-docs.json b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-docs.json similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-docs.json rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-docs.json diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-suggestions.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-suggestions.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-suggestions.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-suggestions.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-templates.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-templates.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-templates.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-templates.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-types.json b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-types.json similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint-types.json rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint-types.json diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint.css b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint.css similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint.css rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint.css diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/marklogic-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/marklogic-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/show-hint.css b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/show-hint.css similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/show-hint.css rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/show-hint.css diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/show-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/show-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/show-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/show-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/sql-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/sql-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/sql-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/sql-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/templates-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/templates-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/templates-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/templates-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/xml-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xml-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/xml-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xml-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/xquery/system-functions.xml.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xquery/system-functions.xml.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/xquery/system-functions.xml.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xquery/system-functions.xml.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/xquery/xquery-hint.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xquery/xquery-hint.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/xquery/xquery-hint.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xquery/xquery-hint.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/hint/xquery/xquery-templates.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xquery/xquery-templates.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/hint/xquery/xquery-templates.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/hint/xquery/xquery-templates.js diff --git a/quick-start/src/main/ui/app/codemirror/addon/mode/xquery.js b/quick-start/src/main/ui/app/shared/components/codemirror/addon/mode/xquery.js similarity index 100% rename from quick-start/src/main/ui/app/codemirror/addon/mode/xquery.js rename to quick-start/src/main/ui/app/shared/components/codemirror/addon/mode/xquery.js diff --git a/quick-start/src/main/ui/app/codemirror/codemirror.component.scss b/quick-start/src/main/ui/app/shared/components/codemirror/codemirror.component.scss similarity index 100% rename from quick-start/src/main/ui/app/codemirror/codemirror.component.scss rename to quick-start/src/main/ui/app/shared/components/codemirror/codemirror.component.scss diff --git a/quick-start/src/main/ui/app/codemirror/codemirror.component.ts b/quick-start/src/main/ui/app/shared/components/codemirror/codemirror.component.ts similarity index 100% rename from quick-start/src/main/ui/app/codemirror/codemirror.component.ts rename to quick-start/src/main/ui/app/shared/components/codemirror/codemirror.component.ts diff --git a/quick-start/src/main/ui/app/codemirror/index.ts b/quick-start/src/main/ui/app/shared/components/codemirror/index.ts similarity index 100% rename from quick-start/src/main/ui/app/codemirror/index.ts rename to quick-start/src/main/ui/app/shared/components/codemirror/index.ts diff --git a/quick-start/src/main/ui/app/dashboard/dashboard.component.html b/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.html similarity index 95% rename from quick-start/src/main/ui/app/dashboard/dashboard.component.html rename to quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.html index d4ad35d818..7ae56251f8 100644 --- a/quick-start/src/main/ui/app/dashboard/dashboard.component.html +++ b/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.html @@ -4,7 +4,7 @@
Databases
@@ -26,7 +26,7 @@
@@ -85,7 +85,7 @@

@@ -53,7 +53,3 @@ - - - - diff --git a/quick-start/src/main/ui/app/mappings/mappings.component.scss b/quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.scss similarity index 99% rename from quick-start/src/main/ui/app/mappings/mappings.component.scss rename to quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.scss index 8c5a0f8837..b5fd9ce489 100644 --- a/quick-start/src/main/ui/app/mappings/mappings.component.scss +++ b/quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $table-title-color: unquote("rgb(#{$palette-datahub-50})"); $hover-color: unquote("rgb(#{$palette-datahub-A100})"); diff --git a/quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.ts b/quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.ts new file mode 100644 index 0000000000..b85fe28df6 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/mappings/mappings-ui.component.ts @@ -0,0 +1,70 @@ +import { Router, ActivatedRoute, Params } from '@angular/router'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { Entity } from '../../../entities'; +import { MdlDialogService } from '@angular-mdl/core'; + +import * as _ from 'lodash'; +import {Mapping} from "../../../mappings/mapping.model"; +import {Subscriber} from "rxjs/Subscriber"; + + +@Component({ + selector: 'app-mappings-ui', + templateUrl: './mappings-ui.component.html', + styleUrls: ['./mappings-ui.component.scss'] +}) +export class MappingsUiComponent { + + @Input() entities: Array = new Array(); + @Input() entityMappingsMap: Map> = new Map>(); + + @Output() showNewMapping = new EventEmitter(); + @Output() editMapping = new EventEmitter(); + @Output() deleteMapping = new EventEmitter(); + + public subscribers: Map> = new Map(); + + private activeEntity: Entity; + private activeMapping: Mapping; + public flowName: string; + + private entitiesLoaded: boolean = false; + + public mappings: Array = []; + + private entityMap: Map = new Map(); + + constructor( + private dialogService: MdlDialogService + ) {} + + isActiveMap(entity: Entity, mapping: Mapping): boolean { + return this.activeEntity && this.activeEntity.name === entity.name && + this.activeMapping && this.activeMapping.name === mapping.name; + } + + onShowNewMapping(entity: Entity, mappings: Array) { + this.showNewMapping.emit({entity: entity, mappings: mappings}); + } + + onEditMapping(entity: Entity, mapping: Mapping){ + this.activeEntity = entity; + this.activeMapping = mapping; + this.editMapping.emit({entity: entity, mapping: mapping}); + } + + onDeleteMapping(event: MouseEvent, mapping: Mapping): void { + if (event.stopPropagation) { + event.stopPropagation(); + } + if (event.preventDefault) { + event.preventDefault(); + } + event.cancelBubble = true; + this.dialogService.confirm(`Really delete ${mapping.name} mapping?`, 'Cancel', 'Delete').subscribe(() => { + this.deleteMapping.emit({event: event, mapping: mapping}); + }, + () => {}); + } + +} diff --git a/quick-start/src/main/ui/app/mlcp-ui/index.ts b/quick-start/src/main/ui/app/shared/components/mlcp/index.ts similarity index 100% rename from quick-start/src/main/ui/app/mlcp-ui/index.ts rename to quick-start/src/main/ui/app/shared/components/mlcp/index.ts diff --git a/quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.html b/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.html similarity index 77% rename from quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.html rename to quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.html index f81bee78fb..6d9d7c7d3b 100644 --- a/quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.html +++ b/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.html @@ -7,8 +7,8 @@

@@ -26,9 +26,10 @@

- {{setting.label}} + (change)="handleValueChanged(setting, $event)"> + {{setting.label}} + [label]="setting.label" + name="{{setting.field}}" *ngIf="isText(setting.type)" + [ngModel]="setting.value" + (input)="handleValueChanged(setting, $event.target.value)" + [disabled]="setting.readOnly"> + @@ -69,7 +72,7 @@

@@ -83,10 +86,8 @@

-
- Save Options -
- Run Import + Save Options + Run Import
diff --git a/quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.scss b/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.scss similarity index 97% rename from quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.scss rename to quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.scss index 8217919fa8..66a0c1009d 100644 --- a/quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.component.scss +++ b/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $error: unquote("rgb(#{$palette-datahub-red})"); diff --git a/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.ts b/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.ts new file mode 100644 index 0000000000..a244096cdf --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/mlcp/mlcp-ui.component.ts @@ -0,0 +1,81 @@ +import {Component, EventEmitter, Input, Output} from '@angular/core'; +import { Flow } from '../../../entities/flow.model'; + +@Component({ + selector: 'app-mlcp-ui', + templateUrl: './mlcp-ui.component.html', + styleUrls: ['./mlcp-ui.component.scss'], +}) +export class MlcpUiComponent { + @Input() startPath: string; + @Input() flow: Flow; + @Input() mlcpOptions: any; + @Input() hasErrors: boolean; + @Input() groups: Array; + @Input() mlcpCommand: string; + + @Output() folderClicked = new EventEmitter(); + @Output() fileClicked = new EventEmitter(); + @Output() saveOptionsClicked = new EventEmitter(); + @Output() valueChanged = new EventEmitter(); + @Output() runImportClicked = new EventEmitter(); + @Output() clipboardSuccess = new EventEmitter(); + + + sections: any = { + inputFiles: { + collapsed: false + }, + 'General Options': { + collapsed: true + }, + 'Delimited Text Options': { + collapsed: true + }, + 'Delimited Json Options': { + collapsed: true + }, + 'Aggregate XML Options': { + collapsed: true + }, + 'Transform Options': { + collapsed: true + } + }; + + getSectionClass(group: string): string { + const section = this.sections[group]; + return section.collapsed ? 'collapsed' : ''; + } + + toggleSection(group: string): void { + const section = this.sections[group]; + section.collapsed = !section.collapsed; + } + + isText(type: string): boolean { + if (type === 'string' || type === 'comma-list' || type === 'number' || type === 'character') { + return true; + } + + return false; + } + + isGroupVisible(category: string): boolean { + const inputFileType = this.groups[0].settings[1].value; + if (category === 'Delimited Text Options' && inputFileType !== 'delimited_text') { + return false; + } else if (category === 'Delimited Json Options' && inputFileType !== 'delimited_json') { + return false; + } else if (category === 'Aggregate XML Options' && inputFileType !== 'aggregates') { + return false; + } + return true; + } + + handleValueChanged(setting, event) { + setting.value = event; + this.valueChanged.emit(); + } + +} diff --git a/quick-start/src/main/ui/app/new-entity/new-entity.component.html b/quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.html similarity index 99% rename from quick-start/src/main/ui/app/new-entity/new-entity.component.html rename to quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.html index 152cdea6b1..fe6a5e651c 100644 --- a/quick-start/src/main/ui/app/new-entity/new-entity.component.html +++ b/quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.html @@ -19,4 +19,4 @@ - + \ No newline at end of file diff --git a/quick-start/src/main/ui/app/new-entity/new-entity.component.scss b/quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.scss similarity index 100% rename from quick-start/src/main/ui/app/new-entity/new-entity.component.scss rename to quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.scss diff --git a/quick-start/src/main/ui/app/new-entity/new-entity.component.ts b/quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.ts similarity index 100% rename from quick-start/src/main/ui/app/new-entity/new-entity.component.ts rename to quick-start/src/main/ui/app/shared/components/new-entity/new-entity.component.ts diff --git a/quick-start/src/main/ui/app/new-flow/new-flow.component.html b/quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.html similarity index 84% rename from quick-start/src/main/ui/app/new-flow/new-flow.component.html rename to quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.html index 67a7187ca1..df55cf2837 100644 --- a/quick-start/src/main/ui/app/new-flow/new-flow.component.html +++ b/quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.html @@ -10,9 +10,9 @@
diff --git a/quick-start/src/main/ui/app/new-flow/new-flow.component.scss b/quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.scss similarity index 100% rename from quick-start/src/main/ui/app/new-flow/new-flow.component.scss rename to quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.scss diff --git a/quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.ts b/quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.ts new file mode 100644 index 0000000000..ab7f7ea602 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/new-flow/new-flow-ui.component.ts @@ -0,0 +1,72 @@ +import {Component, EventEmitter, Input, Output, Inject, HostListener} from "@angular/core"; +import {MdlDialogReference} from '@angular-mdl/core'; +import * as _ from 'lodash'; + +@Component({ + selector: 'app-new-flow-ui', + templateUrl: './new-flow-ui.component.html', + styleUrls: ['./new-flow-ui.component.scss'], +}) +export class NewFlowUiComponent { + @Input() markLogicVersion: number; + @Input() flowType: string; + @Input() scaffoldOptions: any; + @Input() mappingOptions: any; + @Input() codeFormats: any; + @Input() dataFormats: any; + @Input() startingScaffoldOption: any; + @Input() startingMappingOption: any; + @Input() entity: any; + @Input() flow: any; + @Input() flows: any; + + @Output() flowChanged = new EventEmitter(); + @Output() createClicked = new EventEmitter(); + @Output() cancelClicked = new EventEmitter(); + + public isNameValid: boolean = true; + public errorMsg: string = ''; + + constructor( + public dialog: MdlDialogReference + ) { } + + @HostListener('keydown.esc') + public onEsc(): void { + this.cancel(); + } + + hide() { + this.dialog.hide(); + } + + create() { + this.dialog.hide(); + this.createClicked.emit(); + } + + cancel() { + this.hide(); + this.cancelClicked.emit(); + } + + updateflow(prop: string, val: any) { + this.flow[prop] = val; + this.emitUpdatedFlow(); + } + + emitUpdatedFlow() { + this.flowChanged.emit(this.flow); + } + + checkName() { + let nameValid = true; + let entityName = this.entity && this.entity.info && this.entity.info.title; + let flowPrefix = (this.flowType.toUpperCase() === 'INPUT') ? 'an' : 'a'; + _.forEach(this.flows, (f) => { + nameValid = (this.flow.flowName === f.flowName) ? false: nameValid; + }); + this.errorMsg = (!nameValid) ? `Flow names must be unique. Entity "${entityName}" already contains ${flowPrefix} ${this.flowType} flow named "${this.flow.flowName}"` : ''; + this.isNameValid = nameValid; + } +} diff --git a/quick-start/src/main/ui/app/shared/components/search/index.ts b/quick-start/src/main/ui/app/shared/components/search/index.ts new file mode 100644 index 0000000000..3a6754fdc7 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/search/index.ts @@ -0,0 +1,2 @@ +export * from './search-viewer-ui.component'; +export * from './search-ui.component'; diff --git a/quick-start/src/main/ui/app/search/search.component.html b/quick-start/src/main/ui/app/shared/components/search/search-ui.component.html similarity index 67% rename from quick-start/src/main/ui/app/search/search.component.html rename to quick-start/src/main/ui/app/shared/components/search/search-ui.component.html index 0373fe0266..4150b0e004 100644 --- a/quick-start/src/main/ui/app/search/search.component.html +++ b/quick-start/src/main/ui/app/shared/components/search/search-ui.component.html @@ -1,40 +1,50 @@
- + {{database}} - + Entities Only
- +
No Data
+ (activeFacetsChange)="onActiveFacetsChange.emit($event)">

diff --git a/quick-start/src/main/ui/app/dashboard/dashboard.component.scss b/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.scss similarity index 93% rename from quick-start/src/main/ui/app/dashboard/dashboard.component.scss rename to quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.scss index 83995cd1dd..3106624597 100644 --- a/quick-start/src/main/ui/app/dashboard/dashboard.component.scss +++ b/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $primary: unquote("rgb(#{$color-primary})"); $light: unquote("rgb(#{$palette-datahub-A100})"); diff --git a/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.ts b/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.ts new file mode 100644 index 0000000000..8a79bf2a00 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/dashboard/dashboard-ui.component.ts @@ -0,0 +1,37 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; + +@Component({ + selector: 'app-dashboard-ui', + templateUrl: './dashboard-ui.component.html', + styleUrls: ['./dashboard-ui.component.scss'] +}) +export class DashboardUiComponent { + + @Input() rows: any; + @Input() databases: any; + @Input() stats: any; + + @Output() clearDatabase = new EventEmitter(); + @Output() clearAllDatabases = new EventEmitter(); + + constructor() {} + + labelify(db) { + if (db === "job") { + return "jobs"; + } else { + return db; + } + } + getDbCount(db) { + return this.stats[db + 'Count']; + } + + emitClearDatabase(db) { + this.clearDatabase.emit(db); + } + + emitClearAllDatabases() { + this.clearAllDatabases.emit(); + } +} diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-box.component.html b/quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.html similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/entity-box.component.html rename to quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.html diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-box.component.scss b/quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.scss similarity index 98% rename from quick-start/src/main/ui/app/entity-modeler/entity-box.component.scss rename to quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.scss index 6c95667fa9..c01ec027ef 100644 --- a/quick-start/src/main/ui/app/entity-modeler/entity-box.component.scss +++ b/quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $title-color: unquote("rgb(#{$palette-datahub-100})"); $table-title-color: unquote("rgb(#{$palette-datahub-50})"); diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-box.component.ts b/quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.ts similarity index 95% rename from quick-start/src/main/ui/app/entity-modeler/entity-box.component.ts rename to quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.ts index 07e303b508..c3a76db6c5 100644 --- a/quick-start/src/main/ui/app/entity-modeler/entity-box.component.ts +++ b/quick-start/src/main/ui/app/shared/components/entity-box/entity-box.component.ts @@ -9,8 +9,8 @@ import { ViewChild } from '@angular/core'; -import { Entity, PropertyType } from '../entities'; -import { ResizableComponent } from '../shared/components/resizable/resizable.component'; +import { Entity, PropertyType } from '../../../entities'; +import { ResizableComponent } from '../resizable/resizable.component'; @Component({ selector: 'app-entity-box', diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.html b/quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.html similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/entity-editor.component.html rename to quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.html diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.scss b/quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.scss similarity index 96% rename from quick-start/src/main/ui/app/entity-modeler/entity-editor.component.scss rename to quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.scss index f73afac384..cfa562412b 100644 --- a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.scss +++ b/quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/colors'; +@import '../theme/styles/colors'; $bg-color: unquote("rgb(#{$palette-datahub-500})"); diff --git a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.ts b/quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.ts similarity index 96% rename from quick-start/src/main/ui/app/entity-modeler/entity-editor.component.ts rename to quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.ts index d896001121..b0eb2125ad 100644 --- a/quick-start/src/main/ui/app/entity-modeler/entity-editor.component.ts +++ b/quick-start/src/main/ui/app/shared/components/entity-editor/entity-editor.component.ts @@ -8,10 +8,10 @@ import { } from '@angular/core'; import { MdlDialogService, MdlDialogReference } from '@angular-mdl/core'; -import { ChooseCollationComponent } from './choose-collation.component'; -import { ExternalDefDialogComponent } from './externaldef-dialog.component'; +import { ChooseCollationComponent } from '../choose-collation/choose-collation.component'; +import { ExternalDefDialogComponent } from '../externaldef-dialog/externaldef-dialog.component'; -import { Cardinality, Entity, PropertyType } from '../entities'; +import { Cardinality, Entity, PropertyType } from '../../../entities'; import * as _ from 'lodash'; @@ -64,7 +64,7 @@ export class EntityEditorComponent implements AfterViewChecked { this.dataTypes = dataTypes; this.entityBackup = JSON.stringify(this.entity); // Set property ui flags based on entity state - this.entity.definition.properties.forEach(function(property) { + this.entity.definition.properties.forEach((property) => { property.isPrimaryKey = this.entity.definition.primaryKey === property.name; property.hasElementRangeIndex = this.entity.definition.elementRangeIndex.indexOf(property.name) >= 0; property.hasRangeIndex = this.entity.definition.rangeIndex.indexOf(property.name) >= 0; @@ -232,7 +232,7 @@ export class EntityEditorComponent implements AfterViewChecked { this.entity.definition.wordLexicon = []; this.entity.definition.required = []; this.entity.definition.pii = []; - this.entity.definition.properties.forEach(function(property) { + this.entity.definition.properties.forEach((property) => { if (property.isPrimaryKey) { this.entity.definition.primaryKey = property.name; } diff --git a/quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.html b/quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.html similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.html rename to quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.html diff --git a/quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.scss b/quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.scss similarity index 100% rename from quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.scss rename to quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.scss diff --git a/quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.ts b/quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.ts similarity index 95% rename from quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.ts rename to quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.ts index 5a07f8f3c4..1cb7cb7abc 100644 --- a/quick-start/src/main/ui/app/entity-modeler/externaldef-dialog.component.ts +++ b/quick-start/src/main/ui/app/shared/components/externaldef-dialog/externaldef-dialog.component.ts @@ -6,7 +6,7 @@ import { } from '@angular/core'; import { MdlDialogReference } from '@angular-mdl/core'; -import { PropertyType } from '../entities'; +import { PropertyType } from '../../../entities'; @Component({ selector: 'app-external-def-dialog', diff --git a/quick-start/src/main/ui/app/flows/flows.component.html b/quick-start/src/main/ui/app/shared/components/flows/flows-ui.component.html old mode 100755 new mode 100644 similarity index 94% rename from quick-start/src/main/ui/app/flows/flows.component.html rename to quick-start/src/main/ui/app/shared/components/flows/flows-ui.component.html index 986a220ea3..be38539fce --- a/quick-start/src/main/ui/app/flows/flows.component.html +++ b/quick-start/src/main/ui/app/shared/components/flows/flows-ui.component.html @@ -2,9 +2,9 @@
- + Entities - +
@@ -58,13 +58,12 @@ -
+
      Whitespaces are not allowed in property names       
         diff --git a/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.scss b/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.scss similarity index 90% rename from quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.scss rename to quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.scss index 065534d1e6..3a8de067d0 100644 --- a/quick-start/src/main/ui/app/harmonize-flow-options/harmonize-flow-options.component.scss +++ b/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $error: unquote("rgb(#{$palette-datahub-red})"); diff --git a/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.ts b/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.ts new file mode 100644 index 0000000000..135ea93195 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/harmonize-flow-options-ui.component.ts @@ -0,0 +1,31 @@ +import {Component, EventEmitter, Input, Output} from "@angular/core"; +import { Flow } from '../../../entities/flow.model'; + +@Component({ + selector: 'app-harmonize-flow-options-ui', + templateUrl: './harmonize-flow-options-ui.component.html', + styleUrls: ['./harmonize-flow-options-ui.component.scss'], +}) +export class HarmonizeFlowOptionsUiComponent { + @Input() flow: Flow; + @Input() settings: any; + @Input() keyVals: any; + @Input() keyValTitle: string; + @Input() validEntityCheck: boolean; + + @Output() keyValuesUpdate = new EventEmitter(); + @Output() saveSetting = new EventEmitter(); + @Output() harmonize = new EventEmitter(); + + saveSettings() { + this.saveSetting.emit(); + } + + updateKayVals(event) { + this.keyValuesUpdate.emit(event); + } + + runHarmonize() { + this.harmonize.emit(); + } +} diff --git a/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/index.ts b/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/index.ts new file mode 100644 index 0000000000..4a6b42113b --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/harmonize-flow-options/index.ts @@ -0,0 +1 @@ +export * from './harmonize-flow-options-ui.component'; diff --git a/quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.html b/quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.html similarity index 100% rename from quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.html rename to quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.html diff --git a/quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.scss b/quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.scss similarity index 86% rename from quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.scss rename to quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.scss index 2c21f3ba0a..bd0c492137 100644 --- a/quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.scss +++ b/quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.scss @@ -1,4 +1,5 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; + $error: unquote("rgb(#{$palette-datahub-red})"); .has-bugs-dialog { diff --git a/quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.ts b/quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.ts similarity index 87% rename from quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.ts rename to quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.ts index 2577eddf00..a980955925 100644 --- a/quick-start/src/main/ui/app/has-bugs-dialog/has-bugs-dialog.component.ts +++ b/quick-start/src/main/ui/app/shared/components/has-bugs-dialog/has-bugs-dialog.component.ts @@ -1,6 +1,7 @@ import { Component, - Inject + Inject, + Input } from '@angular/core'; import { MdlDialogReference } from '@angular-mdl/core'; @@ -11,13 +12,12 @@ import { MdlDialogReference } from '@angular-mdl/core'; styleUrls: ['./has-bugs-dialog.component.scss'] }) export class HasBugsDialogComponent { - public errors: any; + @Input() errors: any; constructor( public dialog: MdlDialogReference, @Inject('errors') errors: any) { this.errors = errors; - console.log(this.errors); } } diff --git a/quick-start/src/main/ui/app/has-bugs-dialog/index.ts b/quick-start/src/main/ui/app/shared/components/has-bugs-dialog/index.ts similarity index 100% rename from quick-start/src/main/ui/app/has-bugs-dialog/index.ts rename to quick-start/src/main/ui/app/shared/components/has-bugs-dialog/index.ts diff --git a/quick-start/src/main/ui/app/header/header.component.html b/quick-start/src/main/ui/app/shared/components/header/header-ui.component.html similarity index 76% rename from quick-start/src/main/ui/app/header/header.component.html rename to quick-start/src/main/ui/app/shared/components/header/header-ui.component.html index 3abe00a017..bf569d1db9 100644 --- a/quick-start/src/main/ui/app/header/header.component.html +++ b/quick-start/src/main/ui/app/shared/components/header/header-ui.component.html @@ -1,13 +1,13 @@
- + Data Hub QuickStart
-
- Running {{getRunningJobCount()}} jobs - - {{getPercentComplete()}}% +
+ Running {{runningJobs}} jobs + + {{percentageComplete}}%
@@ -25,7 +25,7 @@ - Logout + Logout
diff --git a/quick-start/src/main/ui/app/header/header.component.scss b/quick-start/src/main/ui/app/shared/components/header/header-ui.component.scss similarity index 94% rename from quick-start/src/main/ui/app/header/header.component.scss rename to quick-start/src/main/ui/app/shared/components/header/header-ui.component.scss index f00131a024..8fee3a3293 100644 --- a/quick-start/src/main/ui/app/header/header.component.scss +++ b/quick-start/src/main/ui/app/shared/components/header/header-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $highlight-color: unquote("rgb(#{$palette-datahub-A100})"); $bg-color: unquote("rgb(#{$palette-datahub-500})"); diff --git a/quick-start/src/main/ui/app/shared/components/header/header-ui.component.ts b/quick-start/src/main/ui/app/shared/components/header/header-ui.component.ts new file mode 100644 index 0000000000..03172fb1b2 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/header/header-ui.component.ts @@ -0,0 +1,32 @@ +import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-header-ui', + templateUrl: './header-ui.component.html', + styleUrls: ['./header-ui.component.scss'], +}) +export class HeaderUiComponent { + + @Input() activeCheck: Function; + @Input() runningJobs: number; + @Input() percentageComplete: number; + + @Output() logout = new EventEmitter(); + + constructor( + private router: Router + ) {} + + logoutClicked() { + this.logout.emit(); + } + + isActive(url: string): boolean { + if (url === '/') { + return this.router.url === url; + } + return this.router.url.startsWith(url); + } + +} diff --git a/quick-start/src/main/ui/app/shared/components/index.ts b/quick-start/src/main/ui/app/shared/components/index.ts index 84b7103d03..cc7a1c7adb 100644 --- a/quick-start/src/main/ui/app/shared/components/index.ts +++ b/quick-start/src/main/ui/app/shared/components/index.ts @@ -1,3 +1,4 @@ +export * from './app-ui.component'; export * from './folder-browser/folder-browser-ui.component'; export * from './select-list/select-list.component'; export * from './ml-error/ml-error.component'; @@ -5,4 +6,24 @@ export * from './theme'; export * from './inline-edit/inline-edit.component'; export * from './pagination'; export * from './select/select.component'; -export * from './mappings/new-map-ui.component'; +export * from './mappings'; +export * from './login'; +export * from './search'; +export * from './choose-collation/choose-collation.component'; +export * from './entity-box/entity-box.component'; +export * from './resizable/resizable.component'; +export * from './settings/settings-ui.component'; +export * from './select-key-values/select-key-values.component'; +export * from './jobs/jobs-ui.component'; +export * from './jobs/job-output-ui.component'; +export * from './jobs/job-export-ui.component'; +export * from './has-bugs-dialog/has-bugs-dialog.component'; +export * from './grid/grid.component'; +export * from './harmonize-flow-options/harmonize-flow-options-ui.component'; +export * from './header/header-ui.component'; +export * from './tooltip/tooltip-container-ui.component'; +export * from './trace-viewer/trace-viewer-ui.component'; +export * from './entity-editor/entity-editor.component'; +export * from './new-flow/new-flow-ui.component'; +export * from './externaldef-dialog/externaldef-dialog.component'; +export * from './dashboard/dashboard-ui.component'; diff --git a/quick-start/src/main/ui/app/shared/components/jobs/index.ts b/quick-start/src/main/ui/app/shared/components/jobs/index.ts new file mode 100644 index 0000000000..0e2bfe5196 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/jobs/index.ts @@ -0,0 +1,3 @@ +export * from './jobs-ui.component'; +export * from './job-output-ui.component'; +export * from './job-export-ui.component'; diff --git a/quick-start/src/main/ui/app/jobs/job-export.component.html b/quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.html similarity index 75% rename from quick-start/src/main/ui/app/jobs/job-export.component.html rename to quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.html index cc47f83498..18d09eac66 100644 --- a/quick-start/src/main/ui/app/jobs/job-export.component.html +++ b/quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.html @@ -5,6 +5,6 @@

Export Jobs and Traces

- +
diff --git a/quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.ts b/quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.ts new file mode 100644 index 0000000000..abbd263939 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/jobs/job-export-ui.component.ts @@ -0,0 +1,49 @@ +import {Component, EventEmitter, HostListener, Input, Output, Inject} from "@angular/core"; +import {MdlDialogReference, MdlDialogService} from '@angular-mdl/core'; + +@Component({ + selector: 'app-job-export-ui', + templateUrl: './job-export-ui.component.html' +}) +export class JobExportUiComponent { + @Input() jobIds: string[]; + @Output() exportClicked = new EventEmitter(); + + question: string; + + constructor( + public dialog: MdlDialogReference, + private dialogService: MdlDialogService, + @Inject('jobIds') jobIds: string[] + ) { + + this.jobIds = jobIds; + this.question = "Export and download "; + if (jobIds.length === 0) { + this.question += "all jobs and their traces?"; + } else if (this.jobIds.length === 1) { + this.question += "1 job and its traces?"; + } else { + this.question += this.jobIds.length + " jobs and their traces?"; + } + } + + @HostListener('keydown.esc') + public onEsc(): void { + this.dialog.hide(); + } + + public export(): void { + this.dialog.hide(); + this.exportClicked.emit(); + } + + public cancel(): void { + this.dialog.hide(); + } + + public alert(msg: string): void { + this.dialogService.alert(msg); + } + +} diff --git a/quick-start/src/main/ui/app/jobs/job-output.component.html b/quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.html similarity index 85% rename from quick-start/src/main/ui/app/jobs/job-output.component.html rename to quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.html index 6921795e83..c27ed0a88e 100644 --- a/quick-start/src/main/ui/app/jobs/job-output.component.html +++ b/quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.html @@ -2,7 +2,7 @@
Job Output for {{job.jobId}}
- +
diff --git a/quick-start/src/main/ui/app/jobs/job-output.component.scss b/quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.scss similarity index 100% rename from quick-start/src/main/ui/app/jobs/job-output.component.scss rename to quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.scss diff --git a/quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.ts b/quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.ts new file mode 100644 index 0000000000..f598c1a44f --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/jobs/job-output-ui.component.ts @@ -0,0 +1,12 @@ +import {Component, EventEmitter, Input, Output} from "@angular/core"; + +@Component({ + selector: 'app-job-output-ui', + templateUrl: './job-output-ui.component.html', + styleUrls: ['./job-output-ui.component.scss'], +}) +export class JobOutputUiComponent { + @Input() job: any; + @Input() jobOutput: Array; + @Output() cancelClicked = new EventEmitter(); +} diff --git a/quick-start/src/main/ui/app/jobs/jobs.component.html b/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.html similarity index 73% rename from quick-start/src/main/ui/app/jobs/jobs.component.html rename to quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.html index ee7a28272a..421f22da3f 100644 --- a/quick-start/src/main/ui/app/jobs/jobs.component.html +++ b/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.html @@ -2,8 +2,13 @@

Jobs

@@ -11,14 +16,14 @@

Jobs

+ (pageChanged)="pageChanged.emit($event)">
No Jobs
+ (activeFacetsChange)="activeFacetsChange.emit($event)">
Jobs - Export Jobs and Traces - Delete Jobs and Traces + Export Jobs and Traces + Delete Jobs and Traces - + - + diff --git a/quick-start/src/main/ui/app/jobs/jobs.component.scss b/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.scss similarity index 96% rename from quick-start/src/main/ui/app/jobs/jobs.component.scss rename to quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.scss index 1b615d5563..698fec2dd5 100644 --- a/quick-start/src/main/ui/app/jobs/jobs.component.scss +++ b/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $bg-color: unquote("rgb(#{$palette-datahub-500})"); diff --git a/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.ts b/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.ts new file mode 100644 index 0000000000..417ced6f90 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/jobs/jobs-ui.component.ts @@ -0,0 +1,26 @@ +import {Component, EventEmitter, Input, Output} from "@angular/core"; + +@Component({ + selector: 'app-jobs-ui', + templateUrl: './jobs-ui.component.html', + styleUrls: ['./jobs-ui.component.scss'], +}) +export class JobsUiComponent { + @Input() loadingJobs: boolean; + @Input() searchText: string; + @Input() searchResponse: any; + @Input() activeFacets: any; + @Input() jobs: Array; + @Input() selectedJobs: string[]; + + @Output() searchClicked = new EventEmitter(); + @Output() showConsoleClicked = new EventEmitter(); + @Output() exportJobsClicked = new EventEmitter(); + @Output() deleteJobsClicked = new EventEmitter(); + @Output() pageChanged = new EventEmitter(); + @Output() activeFacetsChange = new EventEmitter(); + @Output() searchTextChanged = new EventEmitter(); + @Output() showTracesClicked = new EventEmitter(); + @Output() toggleSelectJobClicked = new EventEmitter(); + +} diff --git a/quick-start/src/main/ui/app/shared/components/login/index.ts b/quick-start/src/main/ui/app/shared/components/login/index.ts new file mode 100644 index 0000000000..5f0a986d99 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/login/index.ts @@ -0,0 +1 @@ +export * from './login-ui.component'; diff --git a/quick-start/src/main/ui/app/login/login.component.html b/quick-start/src/main/ui/app/shared/components/login/login-ui.component.html similarity index 93% rename from quick-start/src/main/ui/app/login/login.component.html rename to quick-start/src/main/ui/app/shared/components/login/login-ui.component.html index f4a1be2773..5251c76939 100644 --- a/quick-start/src/main/ui/app/login/login.component.html +++ b/quick-start/src/main/ui/app/shared/components/login/login-ui.component.html @@ -1,11 +1,11 @@
@@ -60,10 +56,10 @@

Browse for a Project Folder

This project needs to be initialized

The project located at {{currentProject.path}} needs to be initialized.

-
+
- +
@@ -124,7 +120,7 @@

Other

+ (click)="this.onRestoreInitDefaults.emit()">Restore Defaults
@@ -142,7 +138,7 @@

Project Initialized

- +
@@ -162,7 +158,7 @@

Choose Your Project Environment

@@ -178,7 +174,7 @@

Choose Your Project Environment

@@ -237,7 +233,7 @@

Automatic Hub Update Failed!

{{hubUpdateError}}.

Go read the documentation page that describes the changes necessary and try them manually.

- How to update a Hub Project + How to update a Hub Project
@@ -291,7 +287,7 @@

Installation Needed

MarkLogic server.

- +
@@ -352,10 +348,10 @@

Install Status

{{job.flowType}} {{job.flowType}} {{job.jobId}} {{job.entityName}} {{job.flowName}} {{job.status}} {{job.startTime | datePipe}}{{getDuration(job)}} seconds{{job.duration}} seconds + (click)="showConsoleClicked.emit(job)"> Jobs container="body"> - + (click)="showTracesClicked.emit(job.jobId)"> + + (click)="toggleSelectJobClicked.emit(job.jobId)">
- +
- +
@@ -378,7 +374,7 @@

DHF Project Version Mismatch!

- +
diff --git a/quick-start/src/main/ui/app/login/login.component.scss b/quick-start/src/main/ui/app/shared/components/login/login-ui.component.scss similarity index 99% rename from quick-start/src/main/ui/app/login/login.component.scss rename to quick-start/src/main/ui/app/shared/components/login/login-ui.component.scss index 6babd59375..ef6edc4fdc 100644 --- a/quick-start/src/main/ui/app/login/login.component.scss +++ b/quick-start/src/main/ui/app/shared/components/login/login-ui.component.scss @@ -1,4 +1,4 @@ -@import '../shared/components/theme/styles/variables'; +@import '../theme/styles/variables'; $ml-blue: unquote("rgb(#{$palette-datahub-500})"); diff --git a/quick-start/src/main/ui/app/shared/components/login/login-ui.component.ts b/quick-start/src/main/ui/app/shared/components/login/login-ui.component.ts new file mode 100644 index 0000000000..b758b9bc06 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/login/login-ui.component.ts @@ -0,0 +1,112 @@ +import {Component, EventEmitter, Input, Output, Renderer2} from "@angular/core"; +import * as _ from "lodash"; +import {LoginInfo} from "../../../login/login-info.model"; +import {HubSettings} from "../../../environment/hub-settings.model"; + +@Component({ + selector: 'app-login-ui', + templateUrl: './login-ui.component.html', + styleUrls: ['./login-ui.component.scss'] +}) +export class LoginUIComponent { + @Input() installationStatus: string; + @Input() currentEnvironment: any; + @Input() uninstalling: boolean; + @Input() installing: boolean; + @Input() percentComplete: number; + @Input() showInitAdvanced: boolean; + @Input() showFolderBrowser: boolean = true; + @Input() projects: Array; + @Input() currentProject: any; + @Input() lastProject: any; + @Input() loggingIn: boolean; + @Input() loginError: string; + @Input() loginInfo: LoginInfo; + @Input() hubUpdating: boolean; + @Input() hubUpdateFailed: boolean; + @Input() runningPreinstallCheck: boolean; + @Input() preinstallCheck: any; + @Input() initSettings: HubSettings; + + @Output() onPostInitNext: EventEmitter = new EventEmitter(); + @Output() onChooseProject: EventEmitter = new EventEmitter(); + @Output() onInstall: EventEmitter = new EventEmitter(); + @Output() onUninstall: EventEmitter = new EventEmitter(); + @Output() onInstallNext: EventEmitter = new EventEmitter(); + @Output() onLogin: EventEmitter = new EventEmitter(); + @Output() onHubNameChanged: EventEmitter = new EventEmitter(); + @Output() onGotEnvironment: EventEmitter = new EventEmitter(); + @Output() onHubUpdateUrl: EventEmitter = new EventEmitter(); + @Output() onUpdateProject: EventEmitter = new EventEmitter(); + @Output() onProjectSelected: EventEmitter = new EventEmitter(); + @Output() onRemoveProject: EventEmitter = new EventEmitter(); + @Output() onInitProject: EventEmitter = new EventEmitter(); + @Output() onRestoreInitDefaults: EventEmitter = new EventEmitter(); + @Output() onShowFolderBrowser: EventEmitter = new EventEmitter(); + + currentEnvironmentString: string; + + constructor(private renderer: Renderer2) { + } + + tabs: any = { + ProjectDir: true, + InitIfNeeded: false, + PostInit: false, + Environment: false, + Login: false, + InstalledCheck: false, + PreInstallCheck: false, + Installer: false, + RequiresUpdate: false + }; + + currentTab: string = 'ProjectDir'; + visitedTabs: Array = []; + + private disableTabs() { + _.each(this.tabs, (tab, key) => { + this.tabs[key] = false; + }); + } + + back() { + if (this.visitedTabs.length > 0) { + this.disableTabs(); + this.currentTab = this.visitedTabs.pop(); + this.tabs[this.currentTab] = true; + } + } + + gotoTab(tabName: string): void { + this.disableTabs(); + this.tabs[tabName] = true; + + const skipUs = ['InstalledCheck', 'InitIfNeeded', 'PostInit', 'PreInstallCheck']; + if (skipUs.indexOf(this.currentTab) < 0) { + this.visitedTabs.push(this.currentTab); + } + this.currentTab = tabName; + } + + environmentNext() { + this.gotoTab('Login'); + setTimeout(() => { + this.renderer.selectRootElement('input#username').focus(); + }, 500); + } + + clickShowFolderBrowser() { + this.showFolderBrowser = !this.showFolderBrowser; + this.onShowFolderBrowser.emit(this.showFolderBrowser); + } + + getInstalledIcon(isTrue: boolean) { + return isTrue ? 'fa-check' : 'fa-close'; + } + + setCurrentEvironmentString(str: string) { + this.currentEnvironmentString = str; + this.onGotEnvironment.emit(str); + } +} diff --git a/quick-start/src/main/ui/app/shared/components/mappings/index.ts b/quick-start/src/main/ui/app/shared/components/mappings/index.ts new file mode 100644 index 0000000000..ef8420d759 --- /dev/null +++ b/quick-start/src/main/ui/app/shared/components/mappings/index.ts @@ -0,0 +1,3 @@ +export * from "./map-ui.component"; +export * from './mappings-ui.component'; +export * from './new-map-ui.component'; diff --git a/quick-start/src/main/ui/app/listfilter/listfilter.pipe.ts b/quick-start/src/main/ui/app/shared/components/mappings/listfilter.pipe.ts similarity index 76% rename from quick-start/src/main/ui/app/listfilter/listfilter.pipe.ts rename to quick-start/src/main/ui/app/shared/components/mappings/listfilter.pipe.ts index 0bee30c82f..a87bdba809 100644 --- a/quick-start/src/main/ui/app/listfilter/listfilter.pipe.ts +++ b/quick-start/src/main/ui/app/shared/components/mappings/listfilter.pipe.ts @@ -1,16 +1,16 @@ import { Pipe, PipeTransform } from '@angular/core'; import * as _ from 'lodash'; - + @Pipe({ name: 'listFilter', }) -export class ListFilterPipe implements PipeTransform { +export class ListFilterPipe implements PipeTransform { transform(input: any[] = [], options: Array, value: string): any { let filteredInput = input; if (value && value.length) { value = String(value).toLowerCase(); // normalzied to lowercase - filteredInput = _.filter(input, function(i) { + filteredInput = _.filter(input, function(i) { let found = false; _.forEach(options, (field) => { let fieldVal = String(i[field]).toLowerCase(); @@ -19,12 +19,10 @@ export class ListFilterPipe implements PipeTransform { return false; // forEach break loop } }) - return found; + return found; }); - - filteredInput = _.sortBy(filteredInput, options); } - + return filteredInput; } } diff --git a/quick-start/src/main/ui/app/mappings/map.component.html b/quick-start/src/main/ui/app/shared/components/mappings/map-ui.component.html similarity index 93% rename from quick-start/src/main/ui/app/mappings/map.component.html rename to quick-start/src/main/ui/app/shared/components/mappings/map-ui.component.html index 4537c0dec6..3d876452ce 100644 --- a/quick-start/src/main/ui/app/mappings/map.component.html +++ b/quick-start/src/main/ui/app/shared/components/mappings/map-ui.component.html @@ -6,7 +6,7 @@

- {{mapName}} + {{mapping.name}}

No description @@ -14,16 +14,16 @@

- +

- Save Mapping + Save Mapping Save Mapping - Reset + Reset Reset
@@ -39,13 +39,13 @@

URI: - {{ getLastChars(sampleDocURI, 45, '...') }} + {{ getLastChars(mapping.sourceURI, 45, '...') }}

URI: - +