33 |
34 |
35 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/lib/dbSeeder.js:
--------------------------------------------------------------------------------
1 | // Module dependencies
2 | const mongoose = require('mongoose'),
3 | Customer = require('../models/customer'),
4 | State = require('../models/state'),
5 | dbConfig = require('./configLoader').databaseConfig,
6 | connectionString = `mongodb://${dbConfig.host}/${dbConfig.database}`,
7 | connection = null;
8 |
9 | class DBSeeder {
10 |
11 | init() {
12 | mongoose.connection.db.listCollections({name: 'customers'})
13 | .next((err, collinfo) => {
14 | if (!collinfo) {
15 | console.log('Starting dbSeeder...');
16 | this.seed();
17 | }
18 | });
19 | }
20 |
21 | seed() {
22 |
23 | console.log('Seeding data....');
24 |
25 | //Customers
26 | var customerNames =
27 | [
28 | "Marcus,HighTower,Male,acmecorp.com",
29 | "Jesse,Smith,Female,gmail.com",
30 | "Albert,Einstein,Male,outlook.com",
31 | "Dan,Wahlin,Male,yahoo.com",
32 | "Ward,Bell,Male,gmail.com",
33 | "Brad,Green,Male,gmail.com",
34 | "Igor,Minar,Male,gmail.com",
35 | "Miško,Hevery,Male,gmail.com",
36 | "Michelle,Avery,Female,acmecorp.com",
37 | "Heedy,Wahlin,Female,hotmail.com",
38 | "Thomas,Martin,Male,outlook.com",
39 | "Jean,Martin,Female,outlook.com",
40 | "Robin,Cleark,Female,acmecorp.com",
41 | "Juan,Paulo,Male,yahoo.com",
42 | "Gene,Thomas,Male,gmail.com",
43 | "Pinal,Dave,Male,gmail.com",
44 | "Fred,Roberts,Male,outlook.com",
45 | "Tina,Roberts,Female,outlook.com",
46 | "Cindy,Jamison,Female,gmail.com",
47 | "Robyn,Flores,Female,yahoo.com",
48 | "Jeff,Wahlin,Male,gmail.com",
49 | "Danny,Wahlin,Male,gmail.com",
50 | "Elaine,Jones,Female,yahoo.com",
51 | "John,Papa,Male,gmail.com"
52 | ];
53 | var addresses =
54 | [
55 | "1234 Anywhere St.",
56 | "435 Main St.",
57 | "1 Atomic St.",
58 | "85 Cedar Dr.",
59 | "12 Ocean View St.",
60 | "1600 Amphitheatre Parkway",
61 | "1604 Amphitheatre Parkway",
62 | "1607 Amphitheatre Parkway",
63 | "346 Cedar Ave.",
64 | "4576 Main St.",
65 | "964 Point St.",
66 | "98756 Center St.",
67 | "35632 Richmond Circle Apt B",
68 | "2352 Angular Way",
69 | "23566 Directive Pl.",
70 | "235235 Yaz Blvd.",
71 | "7656 Crescent St.",
72 | "76543 Moon Ave.",
73 | "84533 Hardrock St.",
74 | "5687534 Jefferson Way",
75 | "346346 Blue Pl.",
76 | "23423 Adams St.",
77 | "633 Main St.",
78 | "899 Mickey Way"
79 | ];
80 |
81 | var citiesStates =
82 | [
83 | "Phoenix,AZ,Arizona",
84 | "Encinitas,CA,California",
85 | "Seattle,WA,Washington",
86 | "Chandler,AZ,Arizona",
87 | "Dallas,TX,Texas",
88 | "Orlando,FL,Florida",
89 | "Carey,NC,North Carolina",
90 | "Anaheim,CA,California",
91 | "Dallas,TX,Texas",
92 | "New York,NY,New York",
93 | "White Plains,NY,New York",
94 | "Las Vegas,NV,Nevada",
95 | "Los Angeles,CA,California",
96 | "Portland,OR,Oregon",
97 | "Seattle,WA,Washington",
98 | "Houston,TX,Texas",
99 | "Chicago,IL,Illinois",
100 | "Atlanta,GA,Georgia",
101 | "Chandler,AZ,Arizona",
102 | "Buffalo,NY,New York",
103 | "Albuquerque,AZ,Arizona",
104 | "Boise,ID,Idaho",
105 | "Salt Lake City,UT,Utah",
106 | "Orlando,FL,Florida"
107 | ];
108 |
109 | var citiesIds = [5, 9, 44, 5, 36, 17, 16, 9, 36, 14, 14, 6, 9, 24, 44, 36, 25, 19, 5, 14, 5, 23, 38, 17];
110 |
111 |
112 | var zip = 85229;
113 |
114 | var orders =
115 | [
116 | { "product": "Basket", "price": 29.99, "quantity": 1 },
117 | { "product": "Yarn", "price": 9.99, "quantity": 1 },
118 | { "product": "Needes", "price": 5.99, "quantity": 1 },
119 | { "product": "Speakers", "price": 499.99, "quantity": 1 },
120 | { "product": "iPod", "price": 399.99, "quantity": 1 },
121 | { "product": "Table", "price": 329.99, "quantity": 1 },
122 | { "product": "Chair", "price": 129.99, "quantity": 4 },
123 | { "product": "Lamp", "price": 89.99, "quantity": 5 },
124 | { "product": "Call of Duty", "price": 59.99, "quantity": 1 },
125 | { "product": "Controller", "price": 49.99, "quantity": 1 },
126 | { "product": "Gears of War", "price": 49.99, "quantity": 1 },
127 | { "product": "Lego City", "price": 49.99, "quantity": 1 },
128 | { "product": "Baseball", "price": 9.99, "quantity": 5 },
129 | { "product": "Bat", "price": 19.99, "quantity": 1 }
130 | ];
131 |
132 | Customer.remove({});
133 |
134 | var l = customerNames.length,
135 | i,
136 | j,
137 | firstOrder,
138 | lastOrder,
139 | tempOrder,
140 | n = orders.length;
141 |
142 | for (i = 0; i < l; i++) {
143 | var nameGenderHost = customerNames[i].split(',');
144 | var cityState = citiesStates[i].split(',');
145 | var state = { 'id': citiesIds[i], 'abbreviation': cityState[1], 'name': cityState[2] };
146 | var customer = new Customer({
147 | 'firstName': nameGenderHost[0],
148 | 'lastName': nameGenderHost[1],
149 | 'email': nameGenderHost[0] + '.' + nameGenderHost[1] + '@' + nameGenderHost[3],
150 | 'address': addresses[i],
151 | 'city': cityState[0],
152 | 'state': state,
153 | 'stateId': citiesIds[i],
154 | 'zip': zip + i,
155 | 'gender': nameGenderHost[2],
156 | 'orderCount': 0
157 | });
158 | firstOrder = Math.floor(Math.random() * orders.length);
159 | lastOrder = Math.floor(Math.random() * orders.length);
160 | if (firstOrder > lastOrder) {
161 | tempOrder = firstOrder;
162 | firstOrder = lastOrder;
163 | lastOrder = tempOrder;
164 | }
165 |
166 | customer.orders = [];
167 | //console.log('firstOrder: ' + firstOrder + ", lastOrder: " + lastOrder);
168 | for (j = firstOrder; j <= lastOrder && j < n; j++) {
169 | var today = new Date();
170 | var tomorrow = new Date();
171 | tomorrow.setDate(today.getDate() + (Math.random() * 100));
172 |
173 | var o = {
174 | "product": orders[j].product,
175 | "price": orders[j].price,
176 | "quantity": orders[j].quantity,
177 | "date": tomorrow
178 | };
179 | customer.orders.push(o);
180 | }
181 | customer.orderCount = customer.orders.length;
182 |
183 | customer.save((err, cust) => {
184 | if (err) {
185 | console.log(err);
186 | } else {
187 | console.log('inserted customer: ' + cust.firstName + ' ' + cust.lastName);
188 | }
189 | });
190 | }
191 |
192 | //States
193 | var states = [
194 | { "name": "Alabama", "abbreviation": "AL" },
195 | { "name": "Montana", "abbreviation": "MT" },
196 | { "name": "Alaska", "abbreviation": "AK" },
197 | { "name": "Nebraska", "abbreviation": "NE" },
198 | { "name": "Arizona", "abbreviation": "AZ" },
199 | { "name": "Nevada", "abbreviation": "NV" },
200 | { "name": "Arkansas", "abbreviation": "AR" },
201 | { "name": "New Hampshire", "abbreviation": "NH" },
202 | { "name": "California", "abbreviation": "CA" },
203 | { "name": "New Jersey", "abbreviation": "NJ" },
204 | { "name": "Colorado", "abbreviation": "CO" },
205 | { "name": "New Mexico", "abbreviation": "NM" },
206 | { "name": "Connecticut", "abbreviation": "CT" },
207 | { "name": "New York", "abbreviation": "NY" },
208 | { "name": "Delaware", "abbreviation": "DE" },
209 | { "name": "North Carolina", "abbreviation": "NC" },
210 | { "name": "Florida", "abbreviation": "FL" },
211 | { "name": "North Dakota", "abbreviation": "ND" },
212 | { "name": "Georgia", "abbreviation": "GA" },
213 | { "name": "Ohio", "abbreviation": "OH" },
214 | { "name": "Hawaii", "abbreviation": "HI" },
215 | { "name": "Oklahoma", "abbreviation": "OK" },
216 | { "name": "Idaho", "abbreviation": "ID" },
217 | { "name": "Oregon", "abbreviation": "OR" },
218 | { "name": "Illinois", "abbreviation": "IL" },
219 | { "name": "Pennsylvania", "abbreviation": "PA" },
220 | { "name": "Indiana", "abbreviation": "IN" },
221 | { "name": "Rhode Island", "abbreviation": "RI" },
222 | { "name": "Iowa", "abbreviation": "IA" },
223 | { "name": "South Carolina", "abbreviation": "SC" },
224 | { "name": "Kansas", "abbreviation": "KS" },
225 | { "name": "South Dakota", "abbreviation": "SD" },
226 | { "name": "Kentucky", "abbreviation": "KY" },
227 | { "name": "Tennessee", "abbreviation": "TN" },
228 | { "name": "Louisiana", "abbreviation": "LA" },
229 | { "name": "Texas", "abbreviation": "TX" },
230 | { "name": "Maine", "abbreviation": "ME" },
231 | { "name": "Utah", "abbreviation": "UT" },
232 | { "name": "Maryland", "abbreviation": "MD" },
233 | { "name": "Vermont", "abbreviation": "VT" },
234 | { "name": "Massachusetts", "abbreviation": "MA" },
235 | { "name": "Virginia", "abbreviation": "VA" },
236 | { "name": "Michigan", "abbreviation": "MI" },
237 | { "name": "Washington", "abbreviation": "WA" },
238 | { "name": "Minnesota", "abbreviation": "MN" },
239 | { "name": "West Virginia", "abbreviation": "WV" },
240 | { "name": "Mississippi", "abbreviation": "MS" },
241 | { "name": "Wisconsin", "abbreviation": "WI" },
242 | { "name": "Missouri", "abbreviation": "MO" },
243 | { "name": "Wyoming", "abbreviation": "WY" }
244 | ];
245 |
246 | var l = states.length,
247 | i;
248 |
249 | State.remove({});
250 |
251 | for (i = 0; i < l; i++) {
252 | var state = new State ({ 'id': i + 1, 'name': states[i].name, 'abbreviation': states[i].abbreviation });
253 | state.save();
254 | }
255 | }
256 | }
257 |
258 | module.exports = new DBSeeder();
259 |
260 |
261 |
262 |
263 |
--------------------------------------------------------------------------------
/public/3rdpartylicenses.txt:
--------------------------------------------------------------------------------
1 | @angular/common
2 | MIT
3 |
4 | @angular/core
5 | MIT
6 |
7 | @angular/forms
8 | MIT
9 |
10 | @angular/platform-browser
11 | MIT
12 |
13 | @angular/router
14 | MIT
15 |
16 | rxjs
17 | Apache-2.0
18 | Apache License
19 | Version 2.0, January 2004
20 | http://www.apache.org/licenses/
21 |
22 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
23 |
24 | 1. Definitions.
25 |
26 | "License" shall mean the terms and conditions for use, reproduction,
27 | and distribution as defined by Sections 1 through 9 of this document.
28 |
29 | "Licensor" shall mean the copyright owner or entity authorized by
30 | the copyright owner that is granting the License.
31 |
32 | "Legal Entity" shall mean the union of the acting entity and all
33 | other entities that control, are controlled by, or are under common
34 | control with that entity. For the purposes of this definition,
35 | "control" means (i) the power, direct or indirect, to cause the
36 | direction or management of such entity, whether by contract or
37 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
38 | outstanding shares, or (iii) beneficial ownership of such entity.
39 |
40 | "You" (or "Your") shall mean an individual or Legal Entity
41 | exercising permissions granted by this License.
42 |
43 | "Source" form shall mean the preferred form for making modifications,
44 | including but not limited to software source code, documentation
45 | source, and configuration files.
46 |
47 | "Object" form shall mean any form resulting from mechanical
48 | transformation or translation of a Source form, including but
49 | not limited to compiled object code, generated documentation,
50 | and conversions to other media types.
51 |
52 | "Work" shall mean the work of authorship, whether in Source or
53 | Object form, made available under the License, as indicated by a
54 | copyright notice that is included in or attached to the work
55 | (an example is provided in the Appendix below).
56 |
57 | "Derivative Works" shall mean any work, whether in Source or Object
58 | form, that is based on (or derived from) the Work and for which the
59 | editorial revisions, annotations, elaborations, or other modifications
60 | represent, as a whole, an original work of authorship. For the purposes
61 | of this License, Derivative Works shall not include works that remain
62 | separable from, or merely link (or bind by name) to the interfaces of,
63 | the Work and Derivative Works thereof.
64 |
65 | "Contribution" shall mean any work of authorship, including
66 | the original version of the Work and any modifications or additions
67 | to that Work or Derivative Works thereof, that is intentionally
68 | submitted to Licensor for inclusion in the Work by the copyright owner
69 | or by an individual or Legal Entity authorized to submit on behalf of
70 | the copyright owner. For the purposes of this definition, "submitted"
71 | means any form of electronic, verbal, or written communication sent
72 | to the Licensor or its representatives, including but not limited to
73 | communication on electronic mailing lists, source code control systems,
74 | and issue tracking systems that are managed by, or on behalf of, the
75 | Licensor for the purpose of discussing and improving the Work, but
76 | excluding communication that is conspicuously marked or otherwise
77 | designated in writing by the copyright owner as "Not a Contribution."
78 |
79 | "Contributor" shall mean Licensor and any individual or Legal Entity
80 | on behalf of whom a Contribution has been received by Licensor and
81 | subsequently incorporated within the Work.
82 |
83 | 2. Grant of Copyright License. Subject to the terms and conditions of
84 | this License, each Contributor hereby grants to You a perpetual,
85 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
86 | copyright license to reproduce, prepare Derivative Works of,
87 | publicly display, publicly perform, sublicense, and distribute the
88 | Work and such Derivative Works in Source or Object form.
89 |
90 | 3. Grant of Patent License. Subject to the terms and conditions of
91 | this License, each Contributor hereby grants to You a perpetual,
92 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
93 | (except as stated in this section) patent license to make, have made,
94 | use, offer to sell, sell, import, and otherwise transfer the Work,
95 | where such license applies only to those patent claims licensable
96 | by such Contributor that are necessarily infringed by their
97 | Contribution(s) alone or by combination of their Contribution(s)
98 | with the Work to which such Contribution(s) was submitted. If You
99 | institute patent litigation against any entity (including a
100 | cross-claim or counterclaim in a lawsuit) alleging that the Work
101 | or a Contribution incorporated within the Work constitutes direct
102 | or contributory patent infringement, then any patent licenses
103 | granted to You under this License for that Work shall terminate
104 | as of the date such litigation is filed.
105 |
106 | 4. Redistribution. You may reproduce and distribute copies of the
107 | Work or Derivative Works thereof in any medium, with or without
108 | modifications, and in Source or Object form, provided that You
109 | meet the following conditions:
110 |
111 | (a) You must give any other recipients of the Work or
112 | Derivative Works a copy of this License; and
113 |
114 | (b) You must cause any modified files to carry prominent notices
115 | stating that You changed the files; and
116 |
117 | (c) You must retain, in the Source form of any Derivative Works
118 | that You distribute, all copyright, patent, trademark, and
119 | attribution notices from the Source form of the Work,
120 | excluding those notices that do not pertain to any part of
121 | the Derivative Works; and
122 |
123 | (d) If the Work includes a "NOTICE" text file as part of its
124 | distribution, then any Derivative Works that You distribute must
125 | include a readable copy of the attribution notices contained
126 | within such NOTICE file, excluding those notices that do not
127 | pertain to any part of the Derivative Works, in at least one
128 | of the following places: within a NOTICE text file distributed
129 | as part of the Derivative Works; within the Source form or
130 | documentation, if provided along with the Derivative Works; or,
131 | within a display generated by the Derivative Works, if and
132 | wherever such third-party notices normally appear. The contents
133 | of the NOTICE file are for informational purposes only and
134 | do not modify the License. You may add Your own attribution
135 | notices within Derivative Works that You distribute, alongside
136 | or as an addendum to the NOTICE text from the Work, provided
137 | that such additional attribution notices cannot be construed
138 | as modifying the License.
139 |
140 | You may add Your own copyright statement to Your modifications and
141 | may provide additional or different license terms and conditions
142 | for use, reproduction, or distribution of Your modifications, or
143 | for any such Derivative Works as a whole, provided Your use,
144 | reproduction, and distribution of the Work otherwise complies with
145 | the conditions stated in this License.
146 |
147 | 5. Submission of Contributions. Unless You explicitly state otherwise,
148 | any Contribution intentionally submitted for inclusion in the Work
149 | by You to the Licensor shall be under the terms and conditions of
150 | this License, without any additional terms or conditions.
151 | Notwithstanding the above, nothing herein shall supersede or modify
152 | the terms of any separate license agreement you may have executed
153 | with Licensor regarding such Contributions.
154 |
155 | 6. Trademarks. This License does not grant permission to use the trade
156 | names, trademarks, service marks, or product names of the Licensor,
157 | except as required for reasonable and customary use in describing the
158 | origin of the Work and reproducing the content of the NOTICE file.
159 |
160 | 7. Disclaimer of Warranty. Unless required by applicable law or
161 | agreed to in writing, Licensor provides the Work (and each
162 | Contributor provides its Contributions) on an "AS IS" BASIS,
163 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
164 | implied, including, without limitation, any warranties or conditions
165 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
166 | PARTICULAR PURPOSE. You are solely responsible for determining the
167 | appropriateness of using or redistributing the Work and assume any
168 | risks associated with Your exercise of permissions under this License.
169 |
170 | 8. Limitation of Liability. In no event and under no legal theory,
171 | whether in tort (including negligence), contract, or otherwise,
172 | unless required by applicable law (such as deliberate and grossly
173 | negligent acts) or agreed to in writing, shall any Contributor be
174 | liable to You for damages, including any direct, indirect, special,
175 | incidental, or consequential damages of any character arising as a
176 | result of this License or out of the use or inability to use the
177 | Work (including but not limited to damages for loss of goodwill,
178 | work stoppage, computer failure or malfunction, or any and all
179 | other commercial damages or losses), even if such Contributor
180 | has been advised of the possibility of such damages.
181 |
182 | 9. Accepting Warranty or Additional Liability. While redistributing
183 | the Work or Derivative Works thereof, You may choose to offer,
184 | and charge a fee for, acceptance of support, warranty, indemnity,
185 | or other liability obligations and/or rights consistent with this
186 | License. However, in accepting such obligations, You may act only
187 | on Your own behalf and on Your sole responsibility, not on behalf
188 | of any other Contributor, and only if You agree to indemnify,
189 | defend, and hold each Contributor harmless for any liability
190 | incurred by, or claims asserted against, such Contributor by reason
191 | of your accepting any such warranty or additional liability.
192 |
193 | END OF TERMS AND CONDITIONS
194 |
195 | APPENDIX: How to apply the Apache License to your work.
196 |
197 | To apply the Apache License to your work, attach the following
198 | boilerplate notice, with the fields enclosed by brackets "[]"
199 | replaced with your own identifying information. (Don't include
200 | the brackets!) The text should be enclosed in the appropriate
201 | comment syntax for the file format. We also recommend that a
202 | file or class name and description of purpose be included on the
203 | same "printed page" as the copyright notice for easier
204 | identification within third-party archives.
205 |
206 | Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
207 |
208 | Licensed under the Apache License, Version 2.0 (the "License");
209 | you may not use this file except in compliance with the License.
210 | You may obtain a copy of the License at
211 |
212 | http://www.apache.org/licenses/LICENSE-2.0
213 |
214 | Unless required by applicable law or agreed to in writing, software
215 | distributed under the License is distributed on an "AS IS" BASIS,
216 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
217 | See the License for the specific language governing permissions and
218 | limitations under the License.
219 |
220 |
221 |
222 | tslib
223 | 0BSD
224 | Copyright (c) Microsoft Corporation.
225 |
226 | Permission to use, copy, modify, and/or distribute this software for any
227 | purpose with or without fee is hereby granted.
228 |
229 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
230 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
231 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
232 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
233 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
234 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
235 | PERFORMANCE OF THIS SOFTWARE.
236 |
237 | zone.js
238 | MIT
239 | The MIT License
240 |
241 | Copyright (c) 2010-2020 Google LLC. https://angular.io/license
242 |
243 | Permission is hereby granted, free of charge, to any person obtaining a copy
244 | of this software and associated documentation files (the "Software"), to deal
245 | in the Software without restriction, including without limitation the rights
246 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
247 | copies of the Software, and to permit persons to whom the Software is
248 | furnished to do so, subject to the following conditions:
249 |
250 | The above copyright notice and this permission notice shall be included in
251 | all copies or substantial portions of the Software.
252 |
253 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
254 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
255 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
256 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
257 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
258 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
259 | THE SOFTWARE.
260 |
--------------------------------------------------------------------------------
/public/polyfills.0ed53563d957f923.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunkmy_project=self.webpackChunkmy_project||[]).push([[429],{435:(Ee,Pe,Oe)=>{Oe(609)},609:(Ee,Pe,Oe)=>{var De;void 0!==(De=function(){!function(e){var r=e.performance;function t(h){r&&r.mark&&r.mark(h)}function n(h,a){r&&r.measure&&r.measure(h,a)}t("Zone");var u=e.__Zone_symbol_prefix||"__zone_symbol__";function c(h){return u+h}var l=!0===e[c("forceDuplicateZoneCheck")];if(e.Zone){if(l||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}var v=function(){function h(a,o){this._parent=a,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new d(this,this._parent&&this._parent._zoneDelegate,o)}return h.assertZonePatched=function(){if(e.Promise!==F.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(h,"root",{get:function(){for(var a=h.current;a.parent;)a=a.parent;return a},enumerable:!1,configurable:!0}),Object.defineProperty(h,"current",{get:function(){return A.zone},enumerable:!1,configurable:!0}),Object.defineProperty(h,"currentTask",{get:function(){return ie},enumerable:!1,configurable:!0}),h.__load_patch=function(a,o,i){if(void 0===i&&(i=!1),F.hasOwnProperty(a)){if(!i&&l)throw Error("Already loaded patch: "+a)}else if(!e["__Zone_disable_"+a]){var P="Zone:"+a;t(P),F[a]=o(e,h,O),n(P,P)}},Object.defineProperty(h.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(h.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),h.prototype.get=function(a){var o=this.getZoneWith(a);if(o)return o._properties[a]},h.prototype.getZoneWith=function(a){for(var o=this;o;){if(o._properties.hasOwnProperty(a))return o;o=o._parent}return null},h.prototype.fork=function(a){if(!a)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,a)},h.prototype.wrap=function(a,o){if("function"!=typeof a)throw new Error("Expecting function got: "+a);var i=this._zoneDelegate.intercept(this,a,o),P=this;return function(){return P.runGuarded(i,this,arguments,o)}},h.prototype.run=function(a,o,i,P){A={parent:A,zone:this};try{return this._zoneDelegate.invoke(this,a,o,i,P)}finally{A=A.parent}},h.prototype.runGuarded=function(a,o,i,P){void 0===o&&(o=null),A={parent:A,zone:this};try{try{return this._zoneDelegate.invoke(this,a,o,i,P)}catch(z){if(this._zoneDelegate.handleError(this,z))throw z}}finally{A=A.parent}},h.prototype.runTask=function(a,o,i){if(a.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(a.zone||B).name+"; Execution: "+this.name+")");if(a.state!==j||a.type!==R&&a.type!==Y){var P=a.state!=k;P&&a._transitionTo(k,U),a.runCount++;var z=ie;ie=a,A={parent:A,zone:this};try{a.type==Y&&a.data&&!a.data.isPeriodic&&(a.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,a,o,i)}catch(se){if(this._zoneDelegate.handleError(this,se))throw se}}finally{a.state!==j&&a.state!==I&&(a.type==R||a.data&&a.data.isPeriodic?P&&a._transitionTo(U,k):(a.runCount=0,this._updateTaskCount(a,-1),P&&a._transitionTo(j,k,j))),A=A.parent,ie=z}}},h.prototype.scheduleTask=function(a){if(a.zone&&a.zone!==this)for(var o=this;o;){if(o===a.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+a.zone.name);o=o.parent}a._transitionTo(V,j);var i=[];a._zoneDelegates=i,a._zone=this;try{a=this._zoneDelegate.scheduleTask(this,a)}catch(P){throw a._transitionTo(I,V,j),this._zoneDelegate.handleError(this,P),P}return a._zoneDelegates===i&&this._updateTaskCount(a,1),a.state==V&&a._transitionTo(U,V),a},h.prototype.scheduleMicroTask=function(a,o,i,P){return this.scheduleTask(new p(ee,a,o,i,P,void 0))},h.prototype.scheduleMacroTask=function(a,o,i,P,z){return this.scheduleTask(new p(Y,a,o,i,P,z))},h.prototype.scheduleEventTask=function(a,o,i,P,z){return this.scheduleTask(new p(R,a,o,i,P,z))},h.prototype.cancelTask=function(a){if(a.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(a.zone||B).name+"; Execution: "+this.name+")");a._transitionTo($,U,k);try{this._zoneDelegate.cancelTask(this,a)}catch(o){throw a._transitionTo(I,$),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(a,-1),a._transitionTo(j,$),a.runCount=0,a},h.prototype._updateTaskCount=function(a,o){var i=a._zoneDelegates;-1==o&&(a._zoneDelegates=null);for(var P=0;P0,macroTask:i.macroTask>0,eventTask:i.eventTask>0,change:a})},h}(),p=function(){function h(a,o,i,P,z,se){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=a,this.source=o,this.data=P,this.scheduleFn=z,this.cancelFn=se,!i)throw new Error("callback is not defined");this.callback=i;var f=this;this.invoke=a===R&&P&&P.useG?h.invokeTask:function(){return h.invokeTask.call(e,f,this,arguments)}}return h.invokeTask=function(a,o,i){a||(a=this),ne++;try{return a.runCount++,a.zone.runTask(a,o,i)}finally{1==ne&&m(),ne--}},Object.defineProperty(h.prototype,"zone",{get:function(){return this._zone},enumerable:!1,configurable:!0}),Object.defineProperty(h.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),h.prototype.cancelScheduleRequest=function(){this._transitionTo(j,V)},h.prototype._transitionTo=function(a,o,i){if(this._state!==o&&this._state!==i)throw new Error(this.type+" '"+this.source+"': can not transition to '"+a+"', expecting state '"+o+"'"+(i?" or '"+i+"'":"")+", was '"+this._state+"'.");this._state=a,a==j&&(this._zoneDelegates=null)},h.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},h.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},h}(),y=c("setTimeout"),b=c("Promise"),w=c("then"),N=[],M=!1;function g(h){if(0===ne&&0===N.length)if(X||e[b]&&(X=e[b].resolve(0)),X){var a=X[w];a||(a=X.then),a.call(X,m)}else e[y](m,0);h&&N.push(h)}function m(){if(!M){for(M=!0;N.length;){var h=N;N=[];for(var a=0;a=0;t--)"function"==typeof e[t]&&(e[t]=ze(e[t],r+"_"+t));return e}function rr(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}var tr="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Ne=!("nw"in J)&&void 0!==J.process&&"[object process]"==={}.toString.call(J.process),qe=!Ne&&!tr&&!(!Ze||!ye.HTMLElement),nr=void 0!==J.process&&"[object process]"==={}.toString.call(J.process)&&!tr&&!(!Ze||!ye.HTMLElement),Le={},or=function(e){if(e=e||J.event){var r=Le[e.type];r||(r=Le[e.type]=G("ON_PROPERTY"+e.type));var u,t=this||e.target||J,n=t[r];return qe&&t===ye&&"error"===e.type?!0===(u=n&&n.call(this,e.message,e.filename,e.lineno,e.colno,e.error))&&e.preventDefault():null!=(u=n&&n.apply(this,arguments))&&!u&&e.preventDefault(),u}};function ar(e,r,t){var n=we(e,r);if(!n&&t&&we(t,r)&&(n={enumerable:!0,configurable:!0}),n&&n.configurable){var c=G("on"+r+"patched");if(!e.hasOwnProperty(c)||!e[c]){delete n.writable,delete n.value;var l=n.get,v=n.set,T=r.substr(2),d=Le[T];d||(d=Le[T]=G("ON_PROPERTY"+T)),n.set=function(p){var y=this;!y&&e===J&&(y=J),y&&(y[d]&&y.removeEventListener(T,or),v&&v.apply(y,Sr),"function"==typeof p?(y[d]=p,y.addEventListener(T,or,!1)):y[d]=null)},n.get=function(){var p=this;if(!p&&e===J&&(p=J),!p)return null;var y=p[d];if(y)return y;if(l){var b=l&&l.call(this);if(b)return n.set.call(this,b),"function"==typeof p.removeAttribute&&p.removeAttribute(r),b}return null},xe(e,r,n),e[c]=!0}}}function ir(e,r,t){if(r)for(var n=0;n=0&&"function"==typeof v[T.cbIdx]?We(T.name,v[T.cbIdx],T,u):c.apply(l,v)}})}function he(e,r){e[G("OriginalDelegate")]=r}var sr=!1,Ye=!1;function Zr(){if(sr)return Ye;sr=!0;try{var e=ye.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Ye=!0)}catch(r){}return Ye}Zone.__load_patch("ZoneAwarePromise",function(e,r,t){var n=Object.getOwnPropertyDescriptor,u=Object.defineProperty;var l=t.symbol,v=[],T=!0===e[l("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],d=l("Promise"),p=l("then");t.onUnhandledError=function(f){if(t.showUncaughtError()){var E=f&&f.rejection;E?console.error("Unhandled Promise rejection:",E instanceof Error?E.message:E,"; Zone:",f.zone.name,"; Task:",f.task&&f.task.source,"; Value:",E,E instanceof Error?E.stack:void 0):console.error(f)}},t.microtaskDrainDone=function(){for(var f=function(){var E=v.shift();try{E.zone.runGuarded(function(){throw E.throwOriginal?E.rejection:E})}catch(s){!function w(f){t.onUnhandledError(f);try{var E=r[b];"function"==typeof E&&E.call(this,f)}catch(s){}}(s)}};v.length;)f()};var b=l("unhandledPromiseRejectionHandler");function N(f){return f&&f.then}function M(f){return f}function X(f){return o.reject(f)}var g=l("state"),m=l("value"),B=l("finally"),j=l("parentPromiseValue"),V=l("parentPromiseState"),k=null,$=!0,I=!1;function Y(f,E){return function(s){try{A(f,E,s)}catch(_){A(f,!1,_)}}}var O=l("currentTaskTrace");function A(f,E,s){var _=function(){var f=!1;return function(s){return function(){f||(f=!0,s.apply(null,arguments))}}}();if(f===s)throw new TypeError("Promise resolved with itself");if(f[g]===k){var S=null;try{("object"==typeof s||"function"==typeof s)&&(S=s&&s.then)}catch(Z){return _(function(){A(f,!1,Z)})(),f}if(E!==I&&s instanceof o&&s.hasOwnProperty(g)&&s.hasOwnProperty(m)&&s[g]!==k)ne(s),A(f,s[g],s[m]);else if(E!==I&&"function"==typeof S)try{S.call(s,_(Y(f,E)),_(Y(f,!1)))}catch(Z){_(function(){A(f,!1,Z)})()}else{f[g]=E;var C=f[m];if(f[m]=s,f[B]===B&&E===$&&(f[g]=f[V],f[m]=f[j]),E===I&&s instanceof Error){var L=r.currentTask&&r.currentTask.data&&r.currentTask.data.__creationTrace__;L&&u(s,O,{configurable:!0,enumerable:!1,writable:!0,value:L})}for(var x=0;x1?new c(T,d):new c(T),w=e.ObjectGetOwnPropertyDescriptor(p,"onmessage");return w&&!1===w.configurable?(y=e.ObjectCreate(p),b=p,[n,u,"send","close"].forEach(function(N){y[N]=function(){var M=e.ArraySlice.call(arguments);if(N===n||N===u){var X=M.length>0?M[0]:void 0;if(X){var g=Zone.__symbol__("ON_PROPERTY"+X);p[g]=y[g]}}return p[N].apply(p,M)}})):y=p,e.patchOnProperties(y,["close","error","message","open"],b),y};var l=r.WebSocket;for(var v in c)l[v]=c[v]}(e,r),Zone[e.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(e,r,t){t.patchOnProperties=ir,t.patchMethod=ve,t.bindArguments=Xe,t.patchMacroTask=Cr;var n=r.__symbol__("BLACK_LISTED_EVENTS"),u=r.__symbol__("UNPATCHED_EVENTS");e[u]&&(e[n]=e[u]),e[n]&&(r[n]=r[u]=e[n]),t.patchEventPrototype=Mr,t.patchEventTarget=Lr,t.isIEOrEdge=Zr,t.ObjectDefineProperty=xe,t.ObjectGetOwnPropertyDescriptor=we,t.ObjectCreate=Pr,t.ArraySlice=Or,t.patchClass=Re,t.wrapWithCurrentZone=ze,t.filterProperties=_r,t.attachOriginToPatched=he,t._redefineProperty=Object.defineProperty,t.patchCallbacks=Ir,t.getGlobalObjects=function(){return{globalSources:ur,zoneSymbolEventNames:ae,eventNames:ge,isBrowser:qe,isMix:nr,isNode:Ne,TRUE_STR:fe,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Se,ADD_EVENT_LISTENER_STR:Fe,REMOVE_EVENT_LISTENER_STR:Ge}}}),e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r=e.__Zone_symbol_prefix||"__zone_symbol__",e[function t(n){return r+n}("legacyPatch")]=function(){var n=e.Zone;n.__load_patch("defineProperty",function(u,c,l){l._redefineProperty=Yr,function qr(){Ie=Zone.__symbol__,Ae=Object[Ie("defineProperty")]=Object.defineProperty,pr=Object[Ie("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,Er=Object.create,pe=Ie("unconfigurables"),Object.defineProperty=function(e,r,t){if(yr(e,r))throw new TypeError("Cannot assign to read only property '"+r+"' of "+e);var n=t.configurable;return"prototype"!==r&&(t=Qe(e,r,t)),mr(e,r,t,n)},Object.defineProperties=function(e,r){return Object.keys(r).forEach(function(t){Object.defineProperty(e,t,r[t])}),e},Object.create=function(e,r){return"object"==typeof r&&!Object.isFrozen(r)&&Object.keys(r).forEach(function(t){r[t]=Qe(e,t,r[t])}),Er(e,r)},Object.getOwnPropertyDescriptor=function(e,r){var t=pr(e,r);return t&&yr(e,r)&&(t.configurable=!1),t}}()}),n.__load_patch("registerElement",function(u,c,l){!function rt(e,r){var t=r.getGlobalObjects();(t.isBrowser||t.isMix)&&"registerElement"in e.document&&r.patchCallbacks(r,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}(u,l)}),n.__load_patch("EventTargetLegacy",function(u,c,l){(function Kr(e,r){var t=r.getGlobalObjects(),n=t.eventNames,u=t.globalSources,c=t.zoneSymbolEventNames,l=t.TRUE_STR,v=t.FALSE_STR,T=t.ZONE_SYMBOL_PREFIX,p="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),y="EventTarget",b=[],w=e.wtf,N="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video".split(",");w?b=N.map(function(H){return"HTML"+H+"Element"}).concat(p):e[y]?b.push(y):b=p;for(var M=e.__Zone_disable_IE_check||!1,X=e.__Zone_enable_cross_context_check||!1,g=r.isIEOrEdge(),B="[object FunctionWrapper]",j="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",V={MSPointerCancel:"pointercancel",MSPointerDown:"pointerdown",MSPointerEnter:"pointerenter",MSPointerHover:"pointerhover",MSPointerLeave:"pointerleave",MSPointerMove:"pointermove",MSPointerOut:"pointerout",MSPointerOver:"pointerover",MSPointerUp:"pointerup"},U=0;U0){var h=R.invoke;R.invoke=function(){for(var a=O[r.__symbol__("loadfalse")],o=0;o{Ee(Ee.s=435)}]);
--------------------------------------------------------------------------------