Version Description
Download this release
Release Info
Developer | tareq1988 |
Plugin | Dokan – Best WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy |
Version | 3.6.5 |
Comparing to | |
See all releases |
Code changes from version 3.6.4 to 3.6.5
- assets/css/setup-no-wc.css +2 -5
- assets/css/setup.css +1 -3
- assets/css/style.css +86 -12
- assets/js/product-category-ui.js +2 -1
- assets/js/product-category-ui.min.js +1 -1
- assets/js/vue-vendor.js +12147 -12268
- assets/js/vue-vendor.min.js +4 -4
assets/css/setup-no-wc.css
CHANGED
@@ -63,8 +63,7 @@ body {
|
|
63 |
.wc-setup .wc-setup-actions .button-primary {
|
64 |
background-color: #bb77ae;
|
65 |
border-color: #a36597;
|
66 |
-
|
67 |
-
text-shadow: 0 -1px 1px #a36597, 1px 0 1px #a36597, 0 1px 1px #a36597, -1px 0 1px #a36597;
|
68 |
margin: 0;
|
69 |
opacity: 1;
|
70 |
}
|
@@ -292,15 +291,13 @@ body {
|
|
292 |
color: #fff;
|
293 |
background: #f2624d;
|
294 |
border-color: #f2624d;
|
295 |
-
|
296 |
-
text-shadow: 0 -1px 1px #f2624d, 1px 0 1px #f2624d, 0 1px 1px #f2624d, -1px 0 1px #f2624d;
|
297 |
}
|
298 |
.wc-setup .wc-setup-actions .button-primary:hover,
|
299 |
.wc-setup .wc-setup-actions .button-primary:active,
|
300 |
.wc-setup .wc-setup-actions .button-primary:focus {
|
301 |
background-color: #ef381d;
|
302 |
border-color: #ef381d;
|
303 |
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #ef381d;
|
304 |
}
|
305 |
.wc-setup .wc-setup-content a {
|
306 |
color: #f2624d;
|
63 |
.wc-setup .wc-setup-actions .button-primary {
|
64 |
background-color: #bb77ae;
|
65 |
border-color: #a36597;
|
66 |
+
text-shadow: none;
|
|
|
67 |
margin: 0;
|
68 |
opacity: 1;
|
69 |
}
|
291 |
color: #fff;
|
292 |
background: #f2624d;
|
293 |
border-color: #f2624d;
|
294 |
+
text-shadow: none;
|
|
|
295 |
}
|
296 |
.wc-setup .wc-setup-actions .button-primary:hover,
|
297 |
.wc-setup .wc-setup-actions .button-primary:active,
|
298 |
.wc-setup .wc-setup-actions .button-primary:focus {
|
299 |
background-color: #ef381d;
|
300 |
border-color: #ef381d;
|
|
|
301 |
}
|
302 |
.wc-setup .wc-setup-content a {
|
303 |
color: #f2624d;
|
assets/css/setup.css
CHANGED
@@ -162,15 +162,13 @@
|
|
162 |
color: #fff;
|
163 |
background: #f2624d;
|
164 |
border-color: #f2624d;
|
165 |
-
|
166 |
-
text-shadow: 0 -1px 1px #f2624d, 1px 0 1px #f2624d, 0 1px 1px #f2624d, -1px 0 1px #f2624d;
|
167 |
}
|
168 |
.wc-setup .wc-setup-actions .button-primary:hover,
|
169 |
.wc-setup .wc-setup-actions .button-primary:active,
|
170 |
.wc-setup .wc-setup-actions .button-primary:focus {
|
171 |
background-color: #ef381d;
|
172 |
border-color: #ef381d;
|
173 |
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #ef381d;
|
174 |
}
|
175 |
.wc-setup .wc-setup-content a {
|
176 |
color: #f2624d;
|
162 |
color: #fff;
|
163 |
background: #f2624d;
|
164 |
border-color: #f2624d;
|
165 |
+
text-shadow: none;
|
|
|
166 |
}
|
167 |
.wc-setup .wc-setup-actions .button-primary:hover,
|
168 |
.wc-setup .wc-setup-actions .button-primary:active,
|
169 |
.wc-setup .wc-setup-actions .button-primary:focus {
|
170 |
background-color: #ef381d;
|
171 |
border-color: #ef381d;
|
|
|
172 |
}
|
173 |
.wc-setup .wc-setup-content a {
|
174 |
color: #f2624d;
|
assets/css/style.css
CHANGED
@@ -602,8 +602,10 @@ a.dokan-btn:focus,
|
|
602 |
input[type='submit'].dokan-btn.focus,
|
603 |
a.dokan-btn.focus,
|
604 |
.dokan-btn.focus {
|
605 |
-
color: #
|
|
|
606 |
text-decoration: none;
|
|
|
607 |
}
|
608 |
input[type='submit'].dokan-btn:active,
|
609 |
a.dokan-btn:active,
|
@@ -1435,10 +1437,12 @@ table.my_account_orders tbody tr td.order-actions a.button {
|
|
1435 |
margin-left: 10px;
|
1436 |
}
|
1437 |
.dokan-dashboard-content ul.dokan_tabs li a {
|
|
|
1438 |
display: block;
|
1439 |
padding: 6px 8px !important;
|
1440 |
}
|
1441 |
.dokan-dashboard-content ul.dokan_tabs li a:hover {
|
|
|
1442 |
background-color: #eee;
|
1443 |
}
|
1444 |
.dokan-dashboard-content ul.dokan_tabs li.dokan-hide {
|
@@ -1447,6 +1451,9 @@ table.my_account_orders tbody tr td.order-actions a.button {
|
|
1447 |
.dokan-dashboard-content ul.dokan_tabs li.active {
|
1448 |
border-bottom: 1px solid #fff !important;
|
1449 |
}
|
|
|
|
|
|
|
1450 |
.wc_error_tip {
|
1451 |
max-width: 20em;
|
1452 |
line-height: 1.8em;
|
@@ -1698,15 +1705,22 @@ ul.subsubsub {
|
|
1698 |
padding: 0;
|
1699 |
}
|
1700 |
ul.subsubsub li {
|
1701 |
-
line-height: 13px;
|
1702 |
padding: 0 5px;
|
|
|
1703 |
border-right: 1px solid #EDEDED;
|
1704 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1705 |
ul.subsubsub li:last-child {
|
1706 |
border-right: none;
|
1707 |
}
|
1708 |
ul.subsubsub li.active a {
|
1709 |
-
color: #
|
1710 |
}
|
1711 |
.pagination-wrap ul.pagination {
|
1712 |
display: inline-block;
|
@@ -1771,6 +1785,12 @@ table.dokan-table .toggle-row::before {
|
|
1771 |
font-size: inherit;
|
1772 |
text-rendering: auto;
|
1773 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
1774 |
table.dokan-table .is-expanded .toggle-row::before {
|
1775 |
content: '\f0d8';
|
1776 |
}
|
@@ -1988,7 +2008,7 @@ span.error {
|
|
1988 |
.dokan-announcement-wrapper .dokan-announcement-wrapper-item .dokan-annnouncement-date .announcement-day {
|
1989 |
font-size: 20px;
|
1990 |
font-weight: bold;
|
1991 |
-
margin-top:
|
1992 |
}
|
1993 |
.dokan-announcement-wrapper .dokan-announcement-wrapper-item .dokan-annnouncement-date .announcement-year {
|
1994 |
font-weight: bold;
|
@@ -2226,6 +2246,9 @@ div.media-sidebar a.edit-attachment {
|
|
2226 |
.dokan-dashboard .dokan-dashboard-wrap * {
|
2227 |
box-sizing: border-box;
|
2228 |
}
|
|
|
|
|
|
|
2229 |
.dokan-dashboard header.dokan-dashboard-header {
|
2230 |
margin: 0 0 15px 0;
|
2231 |
}
|
@@ -2278,6 +2301,16 @@ div.media-sidebar a.edit-attachment {
|
|
2278 |
color: #ccc;
|
2279 |
padding-right: 5px;
|
2280 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2281 |
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget.big-counter {
|
2282 |
text-align: center;
|
2283 |
}
|
@@ -2324,6 +2357,9 @@ div.media-sidebar a.edit-attachment {
|
|
2324 |
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .chart-placeholder.main {
|
2325 |
height: 347px;
|
2326 |
}
|
|
|
|
|
|
|
2327 |
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .list-count .count {
|
2328 |
float: right;
|
2329 |
}
|
@@ -2663,7 +2699,25 @@ div.media-sidebar a.edit-attachment {
|
|
2663 |
width: 100%!important;
|
2664 |
}
|
2665 |
}
|
2666 |
-
.dokan-orders-content .dokan-orders-area td.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2667 |
padding: 2px;
|
2668 |
margin: 0;
|
2669 |
border: 1px solid #dfdfdf;
|
@@ -2671,6 +2725,13 @@ div.media-sidebar a.edit-attachment {
|
|
2671 |
width: 46px;
|
2672 |
height: auto;
|
2673 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2674 |
.dokan-orders-content .dokan-orders-area table.table.order-items {
|
2675 |
margin-bottom: 0;
|
2676 |
}
|
@@ -2718,11 +2779,15 @@ div.media-sidebar a.edit-attachment {
|
|
2718 |
padding: 0 5px;
|
2719 |
border-right: 1px solid #EDEDED;
|
2720 |
}
|
|
|
|
|
|
|
|
|
2721 |
.dokan-orders-content .dokan-orders-area ul.order-statuses-filter li:last-child {
|
2722 |
border-right: none;
|
2723 |
}
|
2724 |
.dokan-orders-content .dokan-orders-area ul.order-statuses-filter li.active a {
|
2725 |
-
color: #
|
2726 |
}
|
2727 |
.dokan-orders-content .dokan-orders-area ul.order_notes {
|
2728 |
font-size: 13px;
|
@@ -2787,12 +2852,6 @@ div.media-sidebar a.edit-attachment {
|
|
2787 |
font-size: 12px;
|
2788 |
color: #ccc;
|
2789 |
}
|
2790 |
-
.dokan-product-listing .dokan-product-listing-area .row-actions .delete a {
|
2791 |
-
color: #a05;
|
2792 |
-
}
|
2793 |
-
.dokan-product-listing .dokan-product-listing-area .row-actions .delete a:hover {
|
2794 |
-
color: red;
|
2795 |
-
}
|
2796 |
.dokan-product-listing .dokan-product-listing-area tr:hover .row-actions {
|
2797 |
visibility: visible;
|
2798 |
}
|
@@ -2875,6 +2934,18 @@ div.media-sidebar a.edit-attachment {
|
|
2875 |
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td {
|
2876 |
vertical-align: top;
|
2877 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2878 |
.dokan-product-listing .dokan-product-listing-area table.product-listing-table p {
|
2879 |
margin-bottom: 0px;
|
2880 |
padding-bottom: 0px;
|
@@ -5313,6 +5384,9 @@ div.media-sidebar a.edit-attachment {
|
|
5313 |
vertical-align: middle;
|
5314 |
margin-right: 10px;
|
5315 |
}
|
|
|
|
|
|
|
5316 |
.dokan-withdraw-content .dokan-withdraw-area .dokan-panel-body .dokan-panel-inner-container .dokan-w5 {
|
5317 |
position: absolute;
|
5318 |
right: 10px;
|
602 |
input[type='submit'].dokan-btn.focus,
|
603 |
a.dokan-btn.focus,
|
604 |
.dokan-btn.focus {
|
605 |
+
color: #fff;
|
606 |
+
border-color: #f05025;
|
607 |
text-decoration: none;
|
608 |
+
background-color: #f05025;
|
609 |
}
|
610 |
input[type='submit'].dokan-btn:active,
|
611 |
a.dokan-btn:active,
|
1437 |
margin-left: 10px;
|
1438 |
}
|
1439 |
.dokan-dashboard-content ul.dokan_tabs li a {
|
1440 |
+
color: #6d6d6d;
|
1441 |
display: block;
|
1442 |
padding: 6px 8px !important;
|
1443 |
}
|
1444 |
.dokan-dashboard-content ul.dokan_tabs li a:hover {
|
1445 |
+
color: #000;
|
1446 |
background-color: #eee;
|
1447 |
}
|
1448 |
.dokan-dashboard-content ul.dokan_tabs li.dokan-hide {
|
1451 |
.dokan-dashboard-content ul.dokan_tabs li.active {
|
1452 |
border-bottom: 1px solid #fff !important;
|
1453 |
}
|
1454 |
+
.dokan-dashboard-content ul.dokan_tabs li.active a {
|
1455 |
+
color: #000;
|
1456 |
+
}
|
1457 |
.wc_error_tip {
|
1458 |
max-width: 20em;
|
1459 |
line-height: 1.8em;
|
1705 |
padding: 0;
|
1706 |
}
|
1707 |
ul.subsubsub li {
|
|
|
1708 |
padding: 0 5px;
|
1709 |
+
line-height: 13px;
|
1710 |
border-right: 1px solid #EDEDED;
|
1711 |
}
|
1712 |
+
ul.subsubsub li a {
|
1713 |
+
color: #6d6d6d;
|
1714 |
+
transition: 0.2s linear;
|
1715 |
+
}
|
1716 |
+
ul.subsubsub li a:hover {
|
1717 |
+
color: #000;
|
1718 |
+
}
|
1719 |
ul.subsubsub li:last-child {
|
1720 |
border-right: none;
|
1721 |
}
|
1722 |
ul.subsubsub li.active a {
|
1723 |
+
color: #000;
|
1724 |
}
|
1725 |
.pagination-wrap ul.pagination {
|
1726 |
display: inline-block;
|
1785 |
font-size: inherit;
|
1786 |
text-rendering: auto;
|
1787 |
}
|
1788 |
+
table.dokan-table td a {
|
1789 |
+
color: #6d6d6d;
|
1790 |
+
}
|
1791 |
+
table.dokan-table td a:hover {
|
1792 |
+
color: #000;
|
1793 |
+
}
|
1794 |
table.dokan-table .is-expanded .toggle-row::before {
|
1795 |
content: '\f0d8';
|
1796 |
}
|
2008 |
.dokan-announcement-wrapper .dokan-announcement-wrapper-item .dokan-annnouncement-date .announcement-day {
|
2009 |
font-size: 20px;
|
2010 |
font-weight: bold;
|
2011 |
+
margin-top: 4px;
|
2012 |
}
|
2013 |
.dokan-announcement-wrapper .dokan-announcement-wrapper-item .dokan-annnouncement-date .announcement-year {
|
2014 |
font-weight: bold;
|
2246 |
.dokan-dashboard .dokan-dashboard-wrap * {
|
2247 |
box-sizing: border-box;
|
2248 |
}
|
2249 |
+
.dokan-dashboard .dokan-dashboard-wrap a:focus {
|
2250 |
+
outline-color: #ff5a40;
|
2251 |
+
}
|
2252 |
.dokan-dashboard header.dokan-dashboard-header {
|
2253 |
margin: 0 0 15px 0;
|
2254 |
}
|
2301 |
color: #ccc;
|
2302 |
padding-right: 5px;
|
2303 |
}
|
2304 |
+
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .widget-title .pull-right {
|
2305 |
+
float: right;
|
2306 |
+
}
|
2307 |
+
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .widget-title .pull-right a {
|
2308 |
+
color: #6d6d6d;
|
2309 |
+
transition: 0.2s linear;
|
2310 |
+
}
|
2311 |
+
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .widget-title .pull-right a:hover {
|
2312 |
+
color: #000;
|
2313 |
+
}
|
2314 |
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget.big-counter {
|
2315 |
text-align: center;
|
2316 |
}
|
2357 |
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .chart-placeholder.main {
|
2358 |
height: 347px;
|
2359 |
}
|
2360 |
+
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .list-count a {
|
2361 |
+
color: #6d6d6d;
|
2362 |
+
}
|
2363 |
.dokan-dashboard .dokan-dashboard-content article.dashboard-content-area .dashboard-widget .list-count .count {
|
2364 |
float: right;
|
2365 |
}
|
2699 |
width: 100%!important;
|
2700 |
}
|
2701 |
}
|
2702 |
+
.dokan-orders-content .dokan-orders-area td.dokan-order-action {
|
2703 |
+
gap: 5px;
|
2704 |
+
width: 100%;
|
2705 |
+
display: grid;
|
2706 |
+
grid-gap: 5px;
|
2707 |
+
flex-direction: column;
|
2708 |
+
grid-template-columns: repeat(3, 1fr);
|
2709 |
+
}
|
2710 |
+
.dokan-orders-content .dokan-orders-area td.dokan-order-action .wpo_wcpdf {
|
2711 |
+
border: 1px solid transparent;
|
2712 |
+
padding: 5px 10px;
|
2713 |
+
border-color: #ccc;
|
2714 |
+
border-radius: 3px;
|
2715 |
+
background-color: #fff;
|
2716 |
+
}
|
2717 |
+
.dokan-orders-content .dokan-orders-area td.dokan-order-action .wpo_wcpdf img {
|
2718 |
+
width: 22px !important;
|
2719 |
+
}
|
2720 |
+
.dokan-orders-content .dokan-orders-area td img {
|
2721 |
padding: 2px;
|
2722 |
margin: 0;
|
2723 |
border: 1px solid #dfdfdf;
|
2725 |
width: 46px;
|
2726 |
height: auto;
|
2727 |
}
|
2728 |
+
.dokan-orders-content .dokan-orders-area td a {
|
2729 |
+
color: #6d6d6d;
|
2730 |
+
transition: 0.2s linear;
|
2731 |
+
}
|
2732 |
+
.dokan-orders-content .dokan-orders-area td a:hover {
|
2733 |
+
color: #000;
|
2734 |
+
}
|
2735 |
.dokan-orders-content .dokan-orders-area table.table.order-items {
|
2736 |
margin-bottom: 0;
|
2737 |
}
|
2779 |
padding: 0 5px;
|
2780 |
border-right: 1px solid #EDEDED;
|
2781 |
}
|
2782 |
+
.dokan-orders-content .dokan-orders-area ul.order-statuses-filter li a {
|
2783 |
+
color: #6d6d6d;
|
2784 |
+
transition: 0.2s linear;
|
2785 |
+
}
|
2786 |
.dokan-orders-content .dokan-orders-area ul.order-statuses-filter li:last-child {
|
2787 |
border-right: none;
|
2788 |
}
|
2789 |
.dokan-orders-content .dokan-orders-area ul.order-statuses-filter li.active a {
|
2790 |
+
color: #000;
|
2791 |
}
|
2792 |
.dokan-orders-content .dokan-orders-area ul.order_notes {
|
2793 |
font-size: 13px;
|
2852 |
font-size: 12px;
|
2853 |
color: #ccc;
|
2854 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2855 |
.dokan-product-listing .dokan-product-listing-area tr:hover .row-actions {
|
2856 |
visibility: visible;
|
2857 |
}
|
2934 |
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td {
|
2935 |
vertical-align: top;
|
2936 |
}
|
2937 |
+
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td.column-primary a,
|
2938 |
+
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td .row-actions a {
|
2939 |
+
color: #6d6d6d;
|
2940 |
+
}
|
2941 |
+
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td.column-primary a:hover,
|
2942 |
+
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td .row-actions a:hover {
|
2943 |
+
color: #000;
|
2944 |
+
}
|
2945 |
+
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td.column-primary .delete a:hover,
|
2946 |
+
.dokan-product-listing .dokan-product-listing-area table.product-listing-table td .row-actions .delete a:hover {
|
2947 |
+
color: red;
|
2948 |
+
}
|
2949 |
.dokan-product-listing .dokan-product-listing-area table.product-listing-table p {
|
2950 |
margin-bottom: 0px;
|
2951 |
padding-bottom: 0px;
|
5384 |
vertical-align: middle;
|
5385 |
margin-right: 10px;
|
5386 |
}
|
5387 |
+
.dokan-withdraw-content .dokan-withdraw-area .dokan-panel-body .dokan-panel-inner-container .dokan-w8 strong a {
|
5388 |
+
color: #f05025;
|
5389 |
+
}
|
5390 |
.dokan-withdraw-content .dokan-withdraw-area .dokan-panel-body .dokan-panel-inner-container .dokan-w5 {
|
5391 |
position: absolute;
|
5392 |
right: 10px;
|
assets/js/product-category-ui.js
CHANGED
@@ -110,7 +110,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|
110 |
$(category_box).attr('data-activate', 'no');
|
111 |
},
|
112 |
setCatUiBasedOnOneCat: function setCatUiBasedOnOneCat(catId, category) {
|
113 |
-
|
|
|
114 |
|
115 |
var allUl = __WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_toConsumableArray___default()(category.parents);
|
116 |
|
110 |
$(category_box).attr('data-activate', 'no');
|
111 |
},
|
112 |
setCatUiBasedOnOneCat: function setCatUiBasedOnOneCat(catId, category) {
|
113 |
+
var disable = undefined !== category.children.length && category.children.length > 0;
|
114 |
+
ProductCategory.disableDoneBtn(disable);
|
115 |
|
116 |
var allUl = __WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_toConsumableArray___default()(category.parents);
|
117 |
|
assets/js/product-category-ui.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
dokanWebpack([6],{289:function(a,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=e(21),o=e.n(n),c=e(290),i=e.n(c),r=e(22),d=e.n(r);!function(a){var t=a("#dokan-product-category-modal"),e=a("#dokan-cat-search-res"),n=a("#dokan-cat-search-res-ul"),c=a(".dokan-single-categories-right"),r=a(".dokan-single-categories-left"),s=[],l=[],u="",g=0,h="",p={init:function(){a("body").on("click",".dokan-product-category-li",this.categoryLiClick),a("body").on("click",".dokan-cat-search-res-li",this.clickSearchResLi),a("body").on("keyup","#dokan-single-cat-search-input",p.debounce(this.typeToSearch,500)),a("#dokan-single-categories").scroll(this.categoryScroll),a("body").on("click",".dokan-single-categories-right-box",p.indicatorScrollTo),a("body").on("click",".dokan-single-categories-left-box",function(){p.indicatorScrollTo(!1)}),a("body").on("click",".dokan-single-cat-select-btn",p.chooseCatButton),a("body").on("click",".dokan-category-open-modal",p.initModal),a("body").on("click","#dokan-category-close-modal",p.hideCategoryModal),a("body").on("click",".dokan-single-cat-add-btn",p.addANewCatBox),a("body").on("click",".dokan-select-product-category-remove-container",p.removeCatBox)},initModal:function(){u=a(this).data("dokansclevel"),g=a(this).data("selectfor");var t=a(this).siblings(".dokan-cat-inputs-holder").find(".dokan_chosen_product_cat");a(this).parent().attr("data-activate","yes"),p.openModal(t)},removeCatBox:function(){a(this).closest(".dokan-select-product-category-container")[0].remove()},categoryLiClick:function(){var t=a(this).data(),e=t.catlevel,n=t.termId,o=t.name,c=t.haschild;h=n,p.removeAfterClickedUls(e,n),p.loadChildCategories(e,n,o,c)},clickSearchResLi:function(){var t=a(this).data(),e=t.termid,n=t.index;t.name;e&&(h=e,p.setCatUiBasedOnOneCat(e,l[n]))},typeToSearch:function(){var t=a(this).val();a("#dokan-cat-search-text-limit").html(t.length),t.length>0?(p.hideSearchResults(!1),p.doSearchCates(t)):p.hideSearchResults()},categoryScroll:function(){var t=a("#dokan-single-categories").get(0).scrollWidth-a("#dokan-single-categories").innerWidth(),e=a(this).scrollLeft(),n=t-e;p.showIndicators(r,e),p.showIndicators(c,n)},chooseCatButton:function(){var t=".dokan-select-product-category-container.dokan_select_cat_for_".concat(g,"_").concat(u,"[data-activate='yes']");a(t).parent().children(".dokan-select-product-category-container").children(".dokan-cat-inputs-holder").find(".dokan_chosen_product_cat_".concat(h)).length?dokan_sweetalert(dokan_product_category_data.i18n.duplicate_category,{icon:"warning"}):(p.setCatName(p.getSelectedLabel(),a(t)),p.setCatId(h,a(t)),p.hideCategoryModal(),a(t).attr("data-activate","no"))},setCatUiBasedOnOneCat:function(a,t){p.disableDoneBtn(t.children.length>0);var e=i()(t.parents),n=i()(t.parents);e.unshift(0),n.push(Number(a));var o=e.map(function(a,t){return p.getCategoriesWithParentId(a,t+1,n[t])});s=o,p.updateCategoryUi(),p.hideSearchResults(),p.scrollTo(o.length)},doSearchCates:function(a){return o()(d.a.mark(function t(){var e,n,o,c;return d.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(n in e=[],dokan_product_category_data.categories)o=dokan_product_category_data.categories[n],c=o.name,a=a.toLowerCase(),c.toLowerCase().indexOf(a)>=0&&e.push(o);l=e,p.updateSearchResultUi();case 4:case"end":return t.stop()}},t)}))()},hideSearchResults:function(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?e.addClass("dokan-hide"):e.removeClass("dokan-hide")},showIndicators:function(a,t){t>5?a.removeClass("dokan-hide"):a.addClass("dokan-hide")},showCategoryModal:function(){h="",p.disableDoneBtn(),t.css("display","flex"),p.hideSearchResults(),a("#dokan-single-cat-search-input").val(""),s=[],p.loadAllParentCategories()},disableDoneBtn:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a(".dokan-single-cat-select-btn").prop("disabled",t)},hideCategoryModal:function(){t.css("display","none"),a(".dokan-select-product-category-container").attr("data-activate","no")},loadAllParentCategories:function(){s.push(p.getCategoriesWithParentId()),p.updateCategoryUi()},getCategoriesWithParentId:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=[];for(var o in dokan_product_category_data.categories){var c=dokan_product_category_data.categories[o];c.parent_id==a&&(c.uiActivaion=Number(c.term_id)===e&&"dokan-product-category-li-active",n.push(c))}return{categories:n,level:t,term_id:a}},loadChildCategories:function(a,t,e,n){if(n){p.disableDoneBtn();var o=p.getCategoriesWithParentId(t,a+1);s.push(o),p.updateCategoryUi(),p.scrollTo(a)}else p.disableDoneBtn(!1)},updateSearchResultUi:function(){var a="";a=l.map(function(a,t){return'<li data-name="'.concat(a.name,'" data-termid="').concat(a.term_id,'" data-index="').concat(t,'" class="dokan-cat-search-res-li">\n <div class="dokan-cat-search-res-item">\n ').concat(a.name,'\n </div>\n <div class="dokan-cat-search-res-history">\n ').concat(p.getSearchedParentHistory(a.parents,a.name),"\n </div>\n </li>")}),0==l.length&&(a='<li data-name="" data-termid="" data-index="" class="dokan-cat-search-res-li">\n <div class="dokan-cat-search-res-item">\n '.concat(window.dokan.i18n_no_result_found,'\n </div>\n <div class="dokan-cat-search-res-history">\n </div>\n </li>')),n.html(a)},getSearchedParentHistory:function(a,t){var e="";return e=a.map(function(a,t){return'<span class="dokan-cat-search-res-suggestion">'.concat(p.findCategory(a).name,'</span>\n <span class="dokan-cat-search-res-indicator"><i class="fas fa-caret-right"></i></span>')}).join(""),e+='<span class="dokan-cat-search-res-suggestion-selected">'.concat(p.highlight(t),"</span>")},highlight:function(t){var e=a("#dokan-single-cat-search-input").val().toLowerCase(),n=t.toLowerCase().indexOf(e);if(n>=0)return"<span>".concat(t.substring(0,n),"</span>\n <span class='dokan-cat-highlight'>").concat(t.substring(n,n+e.length),"</span>\n <span>").concat(t.substring(n+e.length),"</span>")},updateCategoryUi:function(){var t=p.getCatUlHtml();a("#dokan-single-categories").html(t),p.updateSelectedLabel(),p.adjustCategoryPosition()},updateSelectedLabel:function(){a("#dokan-selected-category-span").html(p.getSelectedLabel())},adjustCategoryPosition:function(){a.each(a(".dokan-product-category-ul").find(".dokan-product-category-li-active"),function(t,e){var n=a(e).data(),o=n.catlevel,c=n.indexli;a("#".concat(o,"-level-cat-ul")).scrollTop(36.38*c)})},getSelectedLabel:function(){var t=a(".dokan-product-category-li-active"),e=t.length,n="";return t.each(function(a,t){var o=t.dataset;n+='<span class="dokan-selected-category-product '.concat(e==a+1?"dokan-cat-selected":"",'">').concat(o.name,"</span>\n ").concat(e!=a+1?'<span class="dokan-selected-category-icon"><i class="fas fa-chevron-right"></i></span>':"")}),n},updateCategorySelection:function(a,t){var e=s[a-1].categories.map(function(a){return a.term_id==t?a.uiActivaion="dokan-product-category-li-active":a.uiActivaion="",a});s[a-1].categories=e,p.updateCategoryUi()},getCatUlHtml:function(){return s.map(function(a,t){var e=p.getCatLiHtml(a.categories,a.level);return'<ul id="'.concat(a.level,'-level-cat-ul" class="dokan-product-category-ul ').concat(a.level,'-level-cat" data-level="').concat(a.level,'">').concat(e,"</ul>")})},getCatLiHtml:function(a,t){var e="";return a.forEach(function(a,n){e+='<li data-indexli="'.concat(n,'" data-haschild="').concat(a.children.length>0,'" data-name="').concat(a.name,'" data-catLevel="').concat(t,'" class="').concat(a.uiActivaion?a.uiActivaion:""," dokan-product-category-li ").concat(a.children.length>0?"dokan-cat-has-child":"",'" data-term-id="').concat(a.term_id,'" data-taxonomy="product_cat">\n <span class="dokan-product-category">').concat(a.name,'</span>\n <span class="dokan-product-category-icon"><i class="fas fa-chevron-right"></i></span>\n </li>')}),e},removeAfterClickedUls:function(a,t){var e=s.filter(function(t){if(t.level<=a)return t});s=e,p.updateCategorySelection(a,t)},scrollTo:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;a("#dokan-single-categories").animate({scrollLeft:300*t},800)},indicatorScrollTo:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a("#dokan-single-categories").animate({scrollLeft:"".concat(t?"+":"-","=350px")},800)},setCatId:function(a,t){var e='<input data-field-name="chosen_product_cat" type="hidden" class="dokan_chosen_product_cat dokan_chosen_product_cat_'.concat(a,'" name="chosen_product_cat[]" value="').concat(a,'"></input>');e+='<input type="hidden" name="chosen_product_cat_bulk[]" value="'.concat(a,'"></input>'),t.children(".dokan-cih-level-".concat(u)).html(e)},setCatName:function(a,t){t.children(".dokan-select-product-category").children(".dokan-ssct-level-".concat(u)).html(a)},addANewCatBox:function(){var t=a(this)[0],e=a(t).data("selectfor");g=e;var n=a(this).parent().siblings(".dokan-add-new-cat-box").children(".dokan-select-product-category-container").length,o=a(this).parent().siblings(".dokan-add-new-cat-box").children(".dokan-select-product-category-container")[n-1],c=a(o).find("#dokan-category-open-modal").data("dokansclevel")+1;isNaN(c)&&(c=0);var i='\n <div data-activate="no" class="dokan-select-product-category-container dokan_select_cat_for_'.concat(e,"_").concat(c,'">\n <div class="dokan-form-group dokan-select-product-category dokan-category-open-modal" data-dokansclevel="').concat(c,'" id="dokan-category-open-modal" data-selectfor="').concat(e,'">\n <span id="dokan_product_cat_res" class="dokan-select-product-category-title dokan-ssct-level-').concat(c,'">- ').concat(dokan_product_category_data.i18n.select_a_category,' -</span>\n <span class="dokan-select-product-category-icon"><i class="fas fa-edit"></i></span>\n </div>\n ').concat(dokan_product_category_data.is_single?"":'\n <div class="dokan-select-product-category-remove-container">\n <span class="dokan-select-product-category-remove"><i class="fas fa-times"></i></span>\n </div>','\n <span class="dokan-cat-inputs-holder dokan-cih-level-').concat(c,'" ></span>\n </div>\n ');a(this).parent().parent().children(".cat_box_for_".concat(e)).append(i)},findCategory:function(a){return dokan_product_category_data.categories[a]},debounce:function(a,t,e){var n;return function(){var o=this,c=arguments,i=e&&!n;clearTimeout(n),n=setTimeout(function(){n=null,e||a.apply(o,c)},t),i&&a.apply(o,c)}},openModal:function(a){if(p.showCategoryModal(),a.length>0){var t=a.val();h=t;var e=dokan_product_category_data.categories[t];p.setCatUiBasedOnOneCat(t,e)}}};a(document).ready(function(){p.init()})}(jQuery)}},[289]);
|
1 |
+
dokanWebpack([6],{289:function(a,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=e(21),o=e.n(n),c=e(290),i=e.n(c),r=e(22),d=e.n(r);!function(a){var t=a("#dokan-product-category-modal"),e=a("#dokan-cat-search-res"),n=a("#dokan-cat-search-res-ul"),c=a(".dokan-single-categories-right"),r=a(".dokan-single-categories-left"),s=[],l=[],u="",g=0,h="",p={init:function(){a("body").on("click",".dokan-product-category-li",this.categoryLiClick),a("body").on("click",".dokan-cat-search-res-li",this.clickSearchResLi),a("body").on("keyup","#dokan-single-cat-search-input",p.debounce(this.typeToSearch,500)),a("#dokan-single-categories").scroll(this.categoryScroll),a("body").on("click",".dokan-single-categories-right-box",p.indicatorScrollTo),a("body").on("click",".dokan-single-categories-left-box",function(){p.indicatorScrollTo(!1)}),a("body").on("click",".dokan-single-cat-select-btn",p.chooseCatButton),a("body").on("click",".dokan-category-open-modal",p.initModal),a("body").on("click","#dokan-category-close-modal",p.hideCategoryModal),a("body").on("click",".dokan-single-cat-add-btn",p.addANewCatBox),a("body").on("click",".dokan-select-product-category-remove-container",p.removeCatBox)},initModal:function(){u=a(this).data("dokansclevel"),g=a(this).data("selectfor");var t=a(this).siblings(".dokan-cat-inputs-holder").find(".dokan_chosen_product_cat");a(this).parent().attr("data-activate","yes"),p.openModal(t)},removeCatBox:function(){a(this).closest(".dokan-select-product-category-container")[0].remove()},categoryLiClick:function(){var t=a(this).data(),e=t.catlevel,n=t.termId,o=t.name,c=t.haschild;h=n,p.removeAfterClickedUls(e,n),p.loadChildCategories(e,n,o,c)},clickSearchResLi:function(){var t=a(this).data(),e=t.termid,n=t.index;t.name;e&&(h=e,p.setCatUiBasedOnOneCat(e,l[n]))},typeToSearch:function(){var t=a(this).val();a("#dokan-cat-search-text-limit").html(t.length),t.length>0?(p.hideSearchResults(!1),p.doSearchCates(t)):p.hideSearchResults()},categoryScroll:function(){var t=a("#dokan-single-categories").get(0).scrollWidth-a("#dokan-single-categories").innerWidth(),e=a(this).scrollLeft(),n=t-e;p.showIndicators(r,e),p.showIndicators(c,n)},chooseCatButton:function(){var t=".dokan-select-product-category-container.dokan_select_cat_for_".concat(g,"_").concat(u,"[data-activate='yes']");a(t).parent().children(".dokan-select-product-category-container").children(".dokan-cat-inputs-holder").find(".dokan_chosen_product_cat_".concat(h)).length?dokan_sweetalert(dokan_product_category_data.i18n.duplicate_category,{icon:"warning"}):(p.setCatName(p.getSelectedLabel(),a(t)),p.setCatId(h,a(t)),p.hideCategoryModal(),a(t).attr("data-activate","no"))},setCatUiBasedOnOneCat:function(a,t){var e=void 0!==t.children.length&&t.children.length>0;p.disableDoneBtn(e);var n=i()(t.parents),o=i()(t.parents);n.unshift(0),o.push(Number(a));var c=n.map(function(a,t){return p.getCategoriesWithParentId(a,t+1,o[t])});s=c,p.updateCategoryUi(),p.hideSearchResults(),p.scrollTo(c.length)},doSearchCates:function(a){return o()(d.a.mark(function t(){var e,n,o,c;return d.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(n in e=[],dokan_product_category_data.categories)o=dokan_product_category_data.categories[n],c=o.name,a=a.toLowerCase(),c.toLowerCase().indexOf(a)>=0&&e.push(o);l=e,p.updateSearchResultUi();case 4:case"end":return t.stop()}},t)}))()},hideSearchResults:function(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?e.addClass("dokan-hide"):e.removeClass("dokan-hide")},showIndicators:function(a,t){t>5?a.removeClass("dokan-hide"):a.addClass("dokan-hide")},showCategoryModal:function(){h="",p.disableDoneBtn(),t.css("display","flex"),p.hideSearchResults(),a("#dokan-single-cat-search-input").val(""),s=[],p.loadAllParentCategories()},disableDoneBtn:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a(".dokan-single-cat-select-btn").prop("disabled",t)},hideCategoryModal:function(){t.css("display","none"),a(".dokan-select-product-category-container").attr("data-activate","no")},loadAllParentCategories:function(){s.push(p.getCategoriesWithParentId()),p.updateCategoryUi()},getCategoriesWithParentId:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=[];for(var o in dokan_product_category_data.categories){var c=dokan_product_category_data.categories[o];c.parent_id==a&&(c.uiActivaion=Number(c.term_id)===e&&"dokan-product-category-li-active",n.push(c))}return{categories:n,level:t,term_id:a}},loadChildCategories:function(a,t,e,n){if(n){p.disableDoneBtn();var o=p.getCategoriesWithParentId(t,a+1);s.push(o),p.updateCategoryUi(),p.scrollTo(a)}else p.disableDoneBtn(!1)},updateSearchResultUi:function(){var a="";a=l.map(function(a,t){return'<li data-name="'.concat(a.name,'" data-termid="').concat(a.term_id,'" data-index="').concat(t,'" class="dokan-cat-search-res-li">\n <div class="dokan-cat-search-res-item">\n ').concat(a.name,'\n </div>\n <div class="dokan-cat-search-res-history">\n ').concat(p.getSearchedParentHistory(a.parents,a.name),"\n </div>\n </li>")}),0==l.length&&(a='<li data-name="" data-termid="" data-index="" class="dokan-cat-search-res-li">\n <div class="dokan-cat-search-res-item">\n '.concat(window.dokan.i18n_no_result_found,'\n </div>\n <div class="dokan-cat-search-res-history">\n </div>\n </li>')),n.html(a)},getSearchedParentHistory:function(a,t){var e="";return e=a.map(function(a,t){return'<span class="dokan-cat-search-res-suggestion">'.concat(p.findCategory(a).name,'</span>\n <span class="dokan-cat-search-res-indicator"><i class="fas fa-caret-right"></i></span>')}).join(""),e+='<span class="dokan-cat-search-res-suggestion-selected">'.concat(p.highlight(t),"</span>")},highlight:function(t){var e=a("#dokan-single-cat-search-input").val().toLowerCase(),n=t.toLowerCase().indexOf(e);if(n>=0)return"<span>".concat(t.substring(0,n),"</span>\n <span class='dokan-cat-highlight'>").concat(t.substring(n,n+e.length),"</span>\n <span>").concat(t.substring(n+e.length),"</span>")},updateCategoryUi:function(){var t=p.getCatUlHtml();a("#dokan-single-categories").html(t),p.updateSelectedLabel(),p.adjustCategoryPosition()},updateSelectedLabel:function(){a("#dokan-selected-category-span").html(p.getSelectedLabel())},adjustCategoryPosition:function(){a.each(a(".dokan-product-category-ul").find(".dokan-product-category-li-active"),function(t,e){var n=a(e).data(),o=n.catlevel,c=n.indexli;a("#".concat(o,"-level-cat-ul")).scrollTop(36.38*c)})},getSelectedLabel:function(){var t=a(".dokan-product-category-li-active"),e=t.length,n="";return t.each(function(a,t){var o=t.dataset;n+='<span class="dokan-selected-category-product '.concat(e==a+1?"dokan-cat-selected":"",'">').concat(o.name,"</span>\n ").concat(e!=a+1?'<span class="dokan-selected-category-icon"><i class="fas fa-chevron-right"></i></span>':"")}),n},updateCategorySelection:function(a,t){var e=s[a-1].categories.map(function(a){return a.term_id==t?a.uiActivaion="dokan-product-category-li-active":a.uiActivaion="",a});s[a-1].categories=e,p.updateCategoryUi()},getCatUlHtml:function(){return s.map(function(a,t){var e=p.getCatLiHtml(a.categories,a.level);return'<ul id="'.concat(a.level,'-level-cat-ul" class="dokan-product-category-ul ').concat(a.level,'-level-cat" data-level="').concat(a.level,'">').concat(e,"</ul>")})},getCatLiHtml:function(a,t){var e="";return a.forEach(function(a,n){e+='<li data-indexli="'.concat(n,'" data-haschild="').concat(a.children.length>0,'" data-name="').concat(a.name,'" data-catLevel="').concat(t,'" class="').concat(a.uiActivaion?a.uiActivaion:""," dokan-product-category-li ").concat(a.children.length>0?"dokan-cat-has-child":"",'" data-term-id="').concat(a.term_id,'" data-taxonomy="product_cat">\n <span class="dokan-product-category">').concat(a.name,'</span>\n <span class="dokan-product-category-icon"><i class="fas fa-chevron-right"></i></span>\n </li>')}),e},removeAfterClickedUls:function(a,t){var e=s.filter(function(t){if(t.level<=a)return t});s=e,p.updateCategorySelection(a,t)},scrollTo:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;a("#dokan-single-categories").animate({scrollLeft:300*t},800)},indicatorScrollTo:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a("#dokan-single-categories").animate({scrollLeft:"".concat(t?"+":"-","=350px")},800)},setCatId:function(a,t){var e='<input data-field-name="chosen_product_cat" type="hidden" class="dokan_chosen_product_cat dokan_chosen_product_cat_'.concat(a,'" name="chosen_product_cat[]" value="').concat(a,'"></input>');e+='<input type="hidden" name="chosen_product_cat_bulk[]" value="'.concat(a,'"></input>'),t.children(".dokan-cih-level-".concat(u)).html(e)},setCatName:function(a,t){t.children(".dokan-select-product-category").children(".dokan-ssct-level-".concat(u)).html(a)},addANewCatBox:function(){var t=a(this)[0],e=a(t).data("selectfor");g=e;var n=a(this).parent().siblings(".dokan-add-new-cat-box").children(".dokan-select-product-category-container").length,o=a(this).parent().siblings(".dokan-add-new-cat-box").children(".dokan-select-product-category-container")[n-1],c=a(o).find("#dokan-category-open-modal").data("dokansclevel")+1;isNaN(c)&&(c=0);var i='\n <div data-activate="no" class="dokan-select-product-category-container dokan_select_cat_for_'.concat(e,"_").concat(c,'">\n <div class="dokan-form-group dokan-select-product-category dokan-category-open-modal" data-dokansclevel="').concat(c,'" id="dokan-category-open-modal" data-selectfor="').concat(e,'">\n <span id="dokan_product_cat_res" class="dokan-select-product-category-title dokan-ssct-level-').concat(c,'">- ').concat(dokan_product_category_data.i18n.select_a_category,' -</span>\n <span class="dokan-select-product-category-icon"><i class="fas fa-edit"></i></span>\n </div>\n ').concat(dokan_product_category_data.is_single?"":'\n <div class="dokan-select-product-category-remove-container">\n <span class="dokan-select-product-category-remove"><i class="fas fa-times"></i></span>\n </div>','\n <span class="dokan-cat-inputs-holder dokan-cih-level-').concat(c,'" ></span>\n </div>\n ');a(this).parent().parent().children(".cat_box_for_".concat(e)).append(i)},findCategory:function(a){return dokan_product_category_data.categories[a]},debounce:function(a,t,e){var n;return function(){var o=this,c=arguments,i=e&&!n;clearTimeout(n),n=setTimeout(function(){n=null,e||a.apply(o,c)},t),i&&a.apply(o,c)}},openModal:function(a){if(p.showCategoryModal(),a.length>0){var t=a.val();h=t;var e=dokan_product_category_data.categories[t];p.setCatUiBasedOnOneCat(t,e)}}};a(document).ready(function(){p.init()})}(jQuery)}},[289]);
|
assets/js/vue-vendor.js
CHANGED
@@ -218,12048 +218,11913 @@ module.exports = function normalizeComponent (
|
|
218 |
|
219 |
"use strict";
|
220 |
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
221 |
-
/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {
|
222 |
-
|
223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
* Released under the MIT License.
|
225 |
*/
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
function
|
237 |
-
|
238 |
-
}
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
typeof value === '
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
*
|
265 |
-
*/
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
/**
|
271 |
-
*
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
*
|
282 |
-
*/
|
283 |
-
function
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
function
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
) {
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
}
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
function
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
}
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
}
|
462 |
-
|
463 |
-
|
464 |
-
*
|
465 |
-
*/
|
466 |
-
function
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
}
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
}
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
function once (fn) {
|
561 |
-
var called = false;
|
562 |
-
return function () {
|
563 |
-
if (!called) {
|
564 |
-
called = true;
|
565 |
-
fn.apply(this, arguments);
|
566 |
-
}
|
567 |
-
}
|
568 |
-
}
|
569 |
-
|
570 |
-
var SSR_ATTR = 'data-server-rendered';
|
571 |
-
|
572 |
-
var ASSET_TYPES = [
|
573 |
-
'component',
|
574 |
-
'directive',
|
575 |
-
'filter'
|
576 |
-
];
|
577 |
-
|
578 |
-
var LIFECYCLE_HOOKS = [
|
579 |
-
'beforeCreate',
|
580 |
-
'created',
|
581 |
-
'beforeMount',
|
582 |
-
'mounted',
|
583 |
-
'beforeUpdate',
|
584 |
-
'updated',
|
585 |
-
'beforeDestroy',
|
586 |
-
'destroyed',
|
587 |
-
'activated',
|
588 |
-
'deactivated',
|
589 |
-
'errorCaptured',
|
590 |
-
'serverPrefetch'
|
591 |
];
|
592 |
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
* Parse the real tag name for the specific platform.
|
670 |
-
*/
|
671 |
-
parsePlatformTagName: identity,
|
672 |
-
|
673 |
-
/**
|
674 |
-
* Check if an attribute must be bound using property, e.g. value
|
675 |
-
* Platform-dependent.
|
676 |
-
*/
|
677 |
-
mustUseProp: no,
|
678 |
-
|
679 |
-
/**
|
680 |
-
* Perform updates asynchronously. Intended to be used by Vue Test Utils
|
681 |
-
* This will significantly reduce performance if set to false.
|
682 |
-
*/
|
683 |
-
async: true,
|
684 |
-
|
685 |
-
/**
|
686 |
-
* Exposed for legacy reasons
|
687 |
-
*/
|
688 |
-
_lifecycleHooks: LIFECYCLE_HOOKS
|
689 |
-
});
|
690 |
-
|
691 |
-
/* */
|
692 |
-
|
693 |
-
/**
|
694 |
-
* unicode letters used for parsing html tags, component names and property paths.
|
695 |
-
* using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
|
696 |
-
* skipping \u10000-\uEFFFF due to it freezing up PhantomJS
|
697 |
-
*/
|
698 |
-
var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
|
699 |
-
|
700 |
-
/**
|
701 |
-
* Check if a string starts with $ or _
|
702 |
-
*/
|
703 |
-
function isReserved (str) {
|
704 |
-
var c = (str + '').charCodeAt(0);
|
705 |
-
return c === 0x24 || c === 0x5F
|
706 |
-
}
|
707 |
-
|
708 |
-
/**
|
709 |
-
* Define a property.
|
710 |
-
*/
|
711 |
-
function def (obj, key, val, enumerable) {
|
712 |
-
Object.defineProperty(obj, key, {
|
713 |
-
value: val,
|
714 |
-
enumerable: !!enumerable,
|
715 |
-
writable: true,
|
716 |
-
configurable: true
|
717 |
-
});
|
718 |
-
}
|
719 |
-
|
720 |
-
/**
|
721 |
-
* Parse simple path.
|
722 |
-
*/
|
723 |
-
var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]"));
|
724 |
-
function parsePath (path) {
|
725 |
-
if (bailRE.test(path)) {
|
726 |
-
return
|
727 |
-
}
|
728 |
-
var segments = path.split('.');
|
729 |
-
return function (obj) {
|
730 |
-
for (var i = 0; i < segments.length; i++) {
|
731 |
-
if (!obj) { return }
|
732 |
-
obj = obj[segments[i]];
|
733 |
-
}
|
734 |
-
return obj
|
735 |
-
}
|
736 |
-
}
|
737 |
-
|
738 |
-
/* */
|
739 |
-
|
740 |
-
// can we use __proto__?
|
741 |
-
var hasProto = '__proto__' in {};
|
742 |
-
|
743 |
-
// Browser environment sniffing
|
744 |
-
var inBrowser = typeof window !== 'undefined';
|
745 |
-
var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;
|
746 |
-
var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();
|
747 |
-
var UA = inBrowser && window.navigator.userAgent.toLowerCase();
|
748 |
-
var isIE = UA && /msie|trident/.test(UA);
|
749 |
-
var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
|
750 |
-
var isEdge = UA && UA.indexOf('edge/') > 0;
|
751 |
-
var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
|
752 |
-
var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
|
753 |
-
var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
|
754 |
-
var isPhantomJS = UA && /phantomjs/.test(UA);
|
755 |
-
var isFF = UA && UA.match(/firefox\/(\d+)/);
|
756 |
-
|
757 |
-
// Firefox has a "watch" function on Object.prototype...
|
758 |
-
var nativeWatch = ({}).watch;
|
759 |
-
|
760 |
-
var supportsPassive = false;
|
761 |
-
if (inBrowser) {
|
762 |
-
try {
|
763 |
-
var opts = {};
|
764 |
-
Object.defineProperty(opts, 'passive', ({
|
765 |
-
get: function get () {
|
766 |
-
/* istanbul ignore next */
|
767 |
-
supportsPassive = true;
|
768 |
-
}
|
769 |
-
})); // https://github.com/facebook/flow/issues/285
|
770 |
-
window.addEventListener('test-passive', null, opts);
|
771 |
-
} catch (e) {}
|
772 |
-
}
|
773 |
-
|
774 |
-
// this needs to be lazy-evaled because vue may be required before
|
775 |
-
// vue-server-renderer can set VUE_ENV
|
776 |
-
var _isServer;
|
777 |
-
var isServerRendering = function () {
|
778 |
-
if (_isServer === undefined) {
|
779 |
-
/* istanbul ignore if */
|
780 |
-
if (!inBrowser && !inWeex && typeof global !== 'undefined') {
|
781 |
-
// detect presence of vue-server-renderer and avoid
|
782 |
-
// Webpack shimming the process
|
783 |
-
_isServer = global['process'] && global['process'].env.VUE_ENV === 'server';
|
784 |
-
} else {
|
785 |
-
_isServer = false;
|
786 |
-
}
|
787 |
-
}
|
788 |
-
return _isServer
|
789 |
};
|
790 |
|
791 |
-
|
792 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
793 |
|
794 |
-
|
795 |
-
|
796 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
797 |
}
|
798 |
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
var
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
823 |
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
var
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
.
|
916 |
-
|
917 |
-
|
918 |
-
}
|
919 |
-
|
920 |
-
}
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
Dep.
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
}
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
}
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
/**
|
1088 |
-
*
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
var
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
}
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
-
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
}
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
/*
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
}
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
function
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
-
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
-
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
-
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
|
1315 |
-
|
1316 |
-
|
1317 |
-
|
1318 |
-
target
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
target
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
function
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
*
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
-
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
-
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
-
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
-
|
1437 |
-
}
|
1438 |
-
|
1439 |
-
|
1440 |
-
|
1441 |
-
|
1442 |
-
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
-
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
-
|
1462 |
-
|
1463 |
-
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
-
|
1471 |
-
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
-
|
1489 |
-
|
1490 |
-
|
1491 |
-
|
1492 |
-
|
1493 |
-
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
) {
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
1519 |
-
|
1520 |
-
|
1521 |
-
|
1522 |
-
|
1523 |
-
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
-
|
1531 |
-
|
1532 |
-
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
)
|
1538 |
-
|
1539 |
-
|
1540 |
-
|
1541 |
-
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
}
|
1546 |
-
|
1547 |
-
|
1548 |
-
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
-
|
1558 |
-
|
1559 |
-
|
1560 |
-
|
1561 |
-
|
1562 |
-
) {
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
-
|
1567 |
-
|
1568 |
-
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
-
|
1576 |
-
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
) {
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
|
1607 |
-
}
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
-
|
1613 |
-
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
|
1636 |
-
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
function
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
-
|
1679 |
-
}
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
-
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
-
|
1703 |
-
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
-
|
1739 |
-
|
1740 |
-
|
1741 |
-
)
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
-
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
-
|
1767 |
-
|
1768 |
-
|
1769 |
-
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
-
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
-
|
1791 |
-
|
1792 |
-
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
1800 |
-
|
1801 |
-
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
-
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
)
|
1815 |
-
|
1816 |
-
|
1817 |
-
}
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
-
|
1827 |
-
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
-
|
1842 |
-
|
1843 |
-
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
-
|
1861 |
-
|
1862 |
-
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
|
1871 |
-
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
-
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
function
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
-
|
1921 |
-
|
1922 |
-
|
1923 |
-
if (
|
1924 |
-
|
1925 |
-
}
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
|
1959 |
-
|
1960 |
-
|
1961 |
-
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
-
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
1995 |
-
|
1996 |
-
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
|
2015 |
-
|
2016 |
-
|
2017 |
-
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
}
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
-
|
2037 |
-
|
2038 |
-
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
-
|
2050 |
-
|
2051 |
-
|
2052 |
-
}
|
2053 |
-
|
2054 |
-
|
2055 |
-
|
2056 |
-
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
-
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
|
2086 |
-
|
2087 |
-
|
2088 |
-
|
2089 |
-
|
2090 |
-
|
2091 |
-
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
-
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
-
|
2101 |
-
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
var
|
2135 |
-
|
2136 |
-
|
2137 |
-
|
2138 |
-
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
|
2166 |
-
|
2167 |
-
|
2168 |
-
|
2169 |
-
|
2170 |
-
|
2171 |
-
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
|
2177 |
-
|
2178 |
-
|
2179 |
-
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
|
2184 |
-
|
2185 |
-
|
2186 |
-
|
2187 |
-
|
2188 |
-
|
2189 |
-
|
2190 |
-
|
2191 |
-
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
if (
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
}
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
|
2228 |
-
|
2229 |
-
|
2230 |
-
|
2231 |
-
|
2232 |
-
|
2233 |
-
|
2234 |
-
|
2235 |
-
|
2236 |
-
}
|
2237 |
-
|
2238 |
-
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
2245 |
-
|
2246 |
-
|
2247 |
-
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
-
}
|
2262 |
-
|
2263 |
-
|
2264 |
-
|
2265 |
-
var
|
2266 |
-
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
|
2274 |
-
|
2275 |
-
|
2276 |
-
|
2277 |
-
|
2278 |
-
|
2279 |
-
|
2280 |
-
|
2281 |
-
|
2282 |
-
|
2283 |
-
|
2284 |
-
|
2285 |
-
|
2286 |
-
|
2287 |
-
|
2288 |
-
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
2292 |
-
|
2293 |
-
|
2294 |
-
|
2295 |
-
|
2296 |
-
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
|
2301 |
-
|
2302 |
-
|
2303 |
-
|
2304 |
-
|
2305 |
-
|
2306 |
-
|
2307 |
-
|
2308 |
-
|
2309 |
-
|
2310 |
-
|
2311 |
-
|
2312 |
-
|
2313 |
-
|
2314 |
-
|
2315 |
-
|
2316 |
-
|
2317 |
-
|
2318 |
-
|
2319 |
-
|
2320 |
-
|
2321 |
-
else
|
2322 |
-
|
2323 |
-
|
2324 |
-
}
|
2325 |
-
|
2326 |
-
|
2327 |
-
|
2328 |
-
|
2329 |
-
|
2330 |
-
|
2331 |
-
|
2332 |
-
|
2333 |
-
|
2334 |
-
|
2335 |
-
|
2336 |
-
|
2337 |
-
|
2338 |
-
|
2339 |
-
|
2340 |
-
|
2341 |
-
|
2342 |
-
|
2343 |
-
|
2344 |
-
|
2345 |
-
}
|
2346 |
-
|
2347 |
-
|
2348 |
-
|
2349 |
-
|
2350 |
-
|
2351 |
-
|
2352 |
-
|
2353 |
-
|
2354 |
-
|
2355 |
-
|
2356 |
-
|
2357 |
-
|
2358 |
-
|
2359 |
-
|
2360 |
-
|
2361 |
-
|
2362 |
-
|
2363 |
-
|
2364 |
-
|
2365 |
-
|
2366 |
-
|
2367 |
-
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
|
2372 |
-
|
2373 |
-
|
2374 |
-
|
2375 |
-
|
2376 |
-
|
2377 |
-
|
2378 |
-
|
2379 |
-
|
2380 |
-
|
2381 |
-
|
2382 |
-
|
2383 |
-
|
2384 |
-
|
2385 |
-
|
2386 |
-
}
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
-
|
2391 |
-
|
2392 |
-
|
2393 |
-
|
2394 |
-
|
2395 |
-
|
2396 |
-
|
2397 |
-
|
2398 |
-
|
2399 |
-
|
2400 |
-
|
2401 |
-
|
2402 |
-
|
2403 |
-
|
2404 |
-
|
2405 |
-
|
2406 |
-
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
2411 |
-
|
2412 |
-
|
2413 |
-
|
2414 |
-
|
2415 |
-
|
2416 |
-
|
2417 |
-
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
|
2430 |
-
|
2431 |
-
) {
|
2432 |
-
|
2433 |
-
|
2434 |
-
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
2438 |
-
|
2439 |
-
|
2440 |
-
|
2441 |
-
|
2442 |
-
|
2443 |
-
|
2444 |
-
|
2445 |
-
|
2446 |
-
|
2447 |
-
|
2448 |
-
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
}
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
|
2473 |
-
|
2474 |
-
|
2475 |
-
|
2476 |
-
|
2477 |
-
|
2478 |
-
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
|
2483 |
-
|
2484 |
-
|
2485 |
-
|
2486 |
-
|
2487 |
-
|
2488 |
-
|
2489 |
-
|
2490 |
-
|
2491 |
-
|
2492 |
-
|
2493 |
-
|
2494 |
-
|
2495 |
-
|
2496 |
-
|
2497 |
-
|
2498 |
-
|
2499 |
-
|
2500 |
-
|
2501 |
-
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
2511 |
-
|
2512 |
-
|
2513 |
-
|
2514 |
-
|
2515 |
-
|
2516 |
-
|
2517 |
-
|
2518 |
-
|
2519 |
-
|
2520 |
-
|
2521 |
-
|
2522 |
-
|
2523 |
-
|
2524 |
-
|
2525 |
-
|
2526 |
-
|
2527 |
-
|
2528 |
-
|
2529 |
-
|
2530 |
-
|
2531 |
-
|
2532 |
-
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
-
|
2541 |
-
|
2542 |
-
|
2543 |
-
|
2544 |
-
|
2545 |
-
|
2546 |
-
|
2547 |
-
|
2548 |
-
|
2549 |
-
if (
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
2555 |
-
|
2556 |
-
|
2557 |
-
|
2558 |
-
|
2559 |
-
|
2560 |
-
|
2561 |
-
|
2562 |
-
|
2563 |
-
|
2564 |
-
}
|
2565 |
-
|
2566 |
-
|
2567 |
-
|
2568 |
-
|
2569 |
-
|
2570 |
-
|
2571 |
-
|
2572 |
-
//
|
2573 |
-
|
2574 |
-
|
2575 |
-
//
|
2576 |
-
|
2577 |
-
|
2578 |
-
|
2579 |
-
|
2580 |
-
|
2581 |
-
|
2582 |
-
|
2583 |
-
|
2584 |
-
|
2585 |
-
|
2586 |
-
|
2587 |
-
|
2588 |
-
|
2589 |
-
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
2594 |
-
|
2595 |
-
|
2596 |
-
|
2597 |
-
|
2598 |
-
|
2599 |
-
}
|
2600 |
-
|
2601 |
-
|
2602 |
-
|
2603 |
-
|
2604 |
-
|
2605 |
-
|
2606 |
-
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
-
|
2613 |
-
|
2614 |
-
|
2615 |
-
|
2616 |
-
|
2617 |
-
|
2618 |
-
|
2619 |
-
|
2620 |
-
|
2621 |
-
|
2622 |
-
|
2623 |
-
|
2624 |
-
|
2625 |
-
|
2626 |
-
|
2627 |
-
|
2628 |
-
|
2629 |
-
|
2630 |
-
|
2631 |
-
|
2632 |
-
|
2633 |
-
|
2634 |
-
|
2635 |
-
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
|
2640 |
-
|
2641 |
-
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
-
}
|
2646 |
-
|
2647 |
-
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
-
|
2654 |
-
|
2655 |
-
|
2656 |
-
|
2657 |
-
|
2658 |
-
|
2659 |
-
|
2660 |
-
|
2661 |
-
|
2662 |
-
|
2663 |
-
|
2664 |
-
|
2665 |
-
|
2666 |
-
|
2667 |
-
|
2668 |
-
|
2669 |
-
|
2670 |
-
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
-
|
2687 |
-
|
2688 |
-
|
2689 |
-
|
2690 |
-
|
2691 |
-
|
2692 |
-
|
2693 |
-
|
2694 |
-
|
2695 |
-
|
2696 |
-
|
2697 |
-
|
2698 |
-
|
2699 |
-
|
2700 |
-
|
2701 |
-
|
2702 |
-
|
2703 |
-
|
2704 |
-
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
-
|
2709 |
-
|
2710 |
-
|
2711 |
-
|
2712 |
-
|
2713 |
-
|
2714 |
-
}
|
2715 |
-
|
2716 |
-
|
2717 |
-
|
2718 |
-
|
2719 |
-
|
2720 |
-
|
2721 |
-
}
|
2722 |
-
|
2723 |
-
|
2724 |
-
|
2725 |
-
|
2726 |
-
|
2727 |
-
|
2728 |
-
|
2729 |
-
|
2730 |
-
|
2731 |
-
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
|
2737 |
-
|
2738 |
-
|
2739 |
-
|
2740 |
-
|
2741 |
-
|
2742 |
-
|
2743 |
-
|
2744 |
-
|
2745 |
-
|
2746 |
-
|
2747 |
-
|
2748 |
-
|
2749 |
-
|
2750 |
-
|
2751 |
-
|
2752 |
-
|
2753 |
-
|
2754 |
-
|
2755 |
-
|
2756 |
-
|
2757 |
-
|
2758 |
-
|
2759 |
-
|
2760 |
-
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
-
|
2765 |
-
}
|
2766 |
-
|
2767 |
-
|
2768 |
-
|
2769 |
-
|
2770 |
-
function
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
-
|
2791 |
-
|
2792 |
-
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
-
|
2800 |
-
|
2801 |
-
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
-
|
2812 |
-
|
2813 |
-
|
2814 |
-
|
2815 |
-
|
2816 |
-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
-
|
2824 |
-
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
|
2829 |
-
|
2830 |
-
|
2831 |
-
|
2832 |
-
|
2833 |
-
|
2834 |
-
|
2835 |
-
|
2836 |
-
|
2837 |
-
|
2838 |
-
|
2839 |
-
|
2840 |
-
|
2841 |
-
|
2842 |
-
)
|
2843 |
-
|
2844 |
-
|
2845 |
-
|
2846 |
-
|
2847 |
-
|
2848 |
-
|
2849 |
-
|
2850 |
-
|
2851 |
-
|
2852 |
-
|
2853 |
-
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
2857 |
-
|
2858 |
-
|
2859 |
-
|
2860 |
-
|
2861 |
-
|
2862 |
-
|
2863 |
-
|
2864 |
-
|
2865 |
-
|
2866 |
-
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
-
|
2896 |
-
|
2897 |
-
|
2898 |
-
}
|
2899 |
-
|
2900 |
-
|
2901 |
-
|
2902 |
-
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
-
|
2907 |
-
|
2908 |
-
|
2909 |
-
|
2910 |
-
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
-
|
2923 |
-
|
2924 |
-
|
2925 |
-
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
2933 |
-
|
2934 |
-
|
2935 |
-
|
2936 |
-
|
2937 |
-
|
2938 |
-
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
}
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
-
|
2951 |
-
|
2952 |
-
|
2953 |
-
}
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
-
|
2978 |
-
|
2979 |
-
|
2980 |
-
|
2981 |
-
|
2982 |
-
|
2983 |
-
|
2984 |
-
|
2985 |
-
|
2986 |
-
|
2987 |
-
|
2988 |
-
|
2989 |
-
|
2990 |
-
|
2991 |
-
|
2992 |
-
|
2993 |
-
|
2994 |
-
|
2995 |
-
|
2996 |
-
|
2997 |
-
|
2998 |
-
|
2999 |
-
)
|
3000 |
-
|
3001 |
-
|
3002 |
-
|
3003 |
-
|
3004 |
-
|
3005 |
-
|
3006 |
-
|
3007 |
-
|
3008 |
-
|
3009 |
-
|
3010 |
-
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
-
|
3016 |
-
|
3017 |
-
|
3018 |
-
|
3019 |
-
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
-
|
3024 |
-
|
3025 |
-
|
3026 |
-
|
3027 |
-
|
3028 |
-
|
3029 |
-
|
3030 |
-
|
3031 |
-
|
3032 |
-
|
3033 |
-
|
3034 |
-
|
3035 |
-
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
3039 |
-
}
|
3040 |
-
|
3041 |
-
|
3042 |
-
}
|
3043 |
-
|
3044 |
-
|
3045 |
-
|
3046 |
-
|
3047 |
-
|
3048 |
-
|
3049 |
-
|
3050 |
-
|
3051 |
-
|
3052 |
-
) {
|
3053 |
-
|
3054 |
-
|
3055 |
-
|
3056 |
-
|
3057 |
-
|
3058 |
-
|
3059 |
-
|
3060 |
-
|
3061 |
-
|
3062 |
-
|
3063 |
-
|
3064 |
-
|
3065 |
-
|
3066 |
-
|
3067 |
-
|
3068 |
-
|
3069 |
-
|
3070 |
-
|
3071 |
-
|
3072 |
-
|
3073 |
-
|
3074 |
-
|
3075 |
-
|
3076 |
-
|
3077 |
-
|
3078 |
-
|
3079 |
-
|
3080 |
-
|
3081 |
-
}
|
3082 |
-
|
3083 |
-
|
3084 |
-
|
3085 |
-
|
3086 |
-
|
3087 |
-
|
3088 |
-
|
3089 |
-
|
3090 |
-
|
3091 |
-
|
3092 |
-
|
3093 |
-
|
3094 |
-
|
3095 |
-
|
3096 |
-
|
3097 |
-
|
3098 |
-
|
3099 |
-
|
3100 |
-
|
3101 |
-
|
3102 |
-
|
3103 |
-
|
3104 |
-
|
3105 |
-
|
3106 |
-
|
3107 |
-
|
3108 |
-
|
3109 |
-
|
3110 |
-
|
3111 |
-
|
3112 |
-
|
3113 |
-
|
3114 |
-
|
3115 |
-
|
3116 |
-
|
3117 |
-
|
3118 |
-
|
3119 |
-
|
3120 |
-
|
3121 |
-
|
3122 |
-
|
3123 |
-
|
3124 |
-
|
3125 |
-
|
3126 |
-
|
3127 |
-
|
3128 |
-
function
|
3129 |
-
|
3130 |
-
|
3131 |
-
|
3132 |
-
|
3133 |
-
|
3134 |
-
|
3135 |
-
|
3136 |
-
|
3137 |
-
|
3138 |
-
|
3139 |
-
|
3140 |
-
|
3141 |
-
|
3142 |
-
|
3143 |
-
|
3144 |
-
|
3145 |
-
|
3146 |
-
|
3147 |
-
|
3148 |
-
|
3149 |
-
|
3150 |
-
|
3151 |
-
|
3152 |
-
|
3153 |
-
|
3154 |
-
|
3155 |
-
|
3156 |
-
|
3157 |
-
|
3158 |
-
|
3159 |
-
|
3160 |
-
|
3161 |
-
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
-
|
3166 |
-
|
3167 |
-
|
3168 |
-
|
3169 |
-
|
3170 |
-
|
3171 |
-
|
3172 |
-
|
3173 |
-
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
}
|
3178 |
-
|
3179 |
-
|
3180 |
-
|
3181 |
-
|
3182 |
-
|
3183 |
-
|
3184 |
-
|
3185 |
-
|
3186 |
-
|
3187 |
-
|
3188 |
-
|
3189 |
-
|
3190 |
-
|
3191 |
-
|
3192 |
-
|
3193 |
-
|
3194 |
-
|
3195 |
-
|
3196 |
-
|
3197 |
-
|
3198 |
-
|
3199 |
-
}
|
3200 |
-
|
3201 |
-
|
3202 |
-
|
3203 |
-
|
3204 |
-
|
3205 |
-
|
3206 |
-
|
3207 |
-
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
-
|
3212 |
-
|
3213 |
-
|
3214 |
-
|
3215 |
-
|
3216 |
-
|
3217 |
-
|
3218 |
-
|
3219 |
-
|
3220 |
-
|
3221 |
-
|
3222 |
-
|
3223 |
-
|
3224 |
-
|
3225 |
-
|
3226 |
-
|
3227 |
-
|
3228 |
-
|
3229 |
-
|
3230 |
-
|
3231 |
-
|
3232 |
-
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
3237 |
-
|
3238 |
-
|
3239 |
-
|
3240 |
-
|
3241 |
-
|
3242 |
-
|
3243 |
-
}
|
3244 |
-
|
3245 |
-
|
3246 |
-
|
3247 |
-
|
3248 |
-
|
3249 |
-
|
3250 |
-
|
3251 |
-
|
3252 |
-
|
3253 |
-
|
3254 |
-
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
-
|
3260 |
-
|
3261 |
-
|
3262 |
-
|
3263 |
-
|
3264 |
-
|
3265 |
-
|
3266 |
-
|
3267 |
-
|
3268 |
-
|
3269 |
-
|
3270 |
-
|
3271 |
-
|
3272 |
-
|
3273 |
-
|
3274 |
-
|
3275 |
-
|
3276 |
-
|
3277 |
-
|
3278 |
-
|
3279 |
-
|
3280 |
-
|
3281 |
-
|
3282 |
-
|
3283 |
-
|
3284 |
-
|
3285 |
-
) {
|
3286 |
-
|
3287 |
-
|
3288 |
-
|
3289 |
-
|
3290 |
-
|
3291 |
-
|
3292 |
-
|
3293 |
-
|
3294 |
-
|
3295 |
-
|
3296 |
-
|
3297 |
-
|
3298 |
-
|
3299 |
-
|
3300 |
-
|
3301 |
-
|
3302 |
-
|
3303 |
-
|
3304 |
-
|
3305 |
-
|
3306 |
-
|
3307 |
-
|
3308 |
-
|
3309 |
-
|
3310 |
-
|
3311 |
-
|
3312 |
-
|
3313 |
-
|
3314 |
-
|
3315 |
-
|
3316 |
-
|
3317 |
-
|
3318 |
-
|
3319 |
-
|
3320 |
-
function
|
3321 |
-
|
3322 |
-
|
3323 |
-
|
3324 |
-
|
3325 |
-
|
3326 |
-
|
3327 |
-
|
3328 |
-
|
3329 |
-
|
3330 |
-
|
3331 |
-
|
3332 |
-
|
3333 |
-
|
3334 |
-
}
|
3335 |
-
|
3336 |
-
|
3337 |
-
|
3338 |
-
|
3339 |
-
|
3340 |
-
}
|
3341 |
-
|
3342 |
-
|
3343 |
-
|
3344 |
-
|
3345 |
-
|
3346 |
-
|
3347 |
-
|
3348 |
-
|
3349 |
-
|
3350 |
-
|
3351 |
-
|
3352 |
-
|
3353 |
-
|
3354 |
-
|
3355 |
-
|
3356 |
-
|
3357 |
-
|
3358 |
-
|
3359 |
-
|
3360 |
-
|
3361 |
-
|
3362 |
-
|
3363 |
-
|
3364 |
-
|
3365 |
-
|
3366 |
-
|
3367 |
-
|
3368 |
-
|
3369 |
-
|
3370 |
-
|
3371 |
-
|
3372 |
-
|
3373 |
-
|
3374 |
-
|
3375 |
-
|
3376 |
-
|
3377 |
-
|
3378 |
-
|
3379 |
-
|
3380 |
-
|
3381 |
-
|
3382 |
-
|
3383 |
-
|
3384 |
-
|
3385 |
-
|
3386 |
-
|
3387 |
-
|
3388 |
-
}
|
3389 |
-
|
3390 |
-
|
3391 |
-
|
3392 |
-
|
3393 |
-
|
3394 |
-
|
3395 |
-
|
3396 |
-
|
3397 |
-
|
3398 |
-
|
3399 |
-
|
3400 |
-
|
3401 |
-
|
3402 |
-
|
3403 |
-
|
3404 |
-
|
3405 |
-
|
3406 |
-
|
3407 |
-
|
3408 |
-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
3412 |
-
|
3413 |
-
|
3414 |
-
|
3415 |
-
|
3416 |
-
|
3417 |
-
|
3418 |
-
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
3422 |
-
|
3423 |
-
|
3424 |
-
|
3425 |
-
|
3426 |
-
|
3427 |
-
|
3428 |
-
|
3429 |
-
|
3430 |
-
|
3431 |
-
|
3432 |
-
|
3433 |
-
|
3434 |
-
|
3435 |
-
|
3436 |
-
|
3437 |
-
|
3438 |
-
|
3439 |
-
|
3440 |
-
|
3441 |
-
|
3442 |
-
|
3443 |
-
|
3444 |
-
|
3445 |
-
|
3446 |
-
|
3447 |
-
|
3448 |
-
|
3449 |
-
|
3450 |
-
|
3451 |
-
|
3452 |
-
|
3453 |
-
|
3454 |
-
|
3455 |
-
|
3456 |
-
|
3457 |
-
|
3458 |
-
|
3459 |
-
|
3460 |
-
}
|
3461 |
-
|
3462 |
-
|
3463 |
-
|
3464 |
-
|
3465 |
-
|
3466 |
-
|
3467 |
-
|
3468 |
-
|
3469 |
-
|
3470 |
-
|
3471 |
-
|
3472 |
-
|
3473 |
-
|
3474 |
-
|
3475 |
-
|
3476 |
-
|
3477 |
-
|
3478 |
-
|
3479 |
-
|
3480 |
-
|
3481 |
-
|
3482 |
-
|
3483 |
-
|
3484 |
-
|
3485 |
-
|
3486 |
-
|
3487 |
-
|
3488 |
-
|
3489 |
-
|
3490 |
-
|
3491 |
-
|
3492 |
-
|
3493 |
-
|
3494 |
-
|
3495 |
-
|
3496 |
-
|
3497 |
-
|
3498 |
-
|
3499 |
-
|
3500 |
-
|
3501 |
-
|
3502 |
-
|
3503 |
-
|
3504 |
-
|
3505 |
-
|
3506 |
-
|
3507 |
-
|
3508 |
-
|
3509 |
-
|
3510 |
-
|
3511 |
-
|
3512 |
-
|
3513 |
-
|
3514 |
-
|
3515 |
-
|
3516 |
-
|
3517 |
-
|
3518 |
-
|
3519 |
-
|
3520 |
-
|
3521 |
-
) {
|
3522 |
-
|
3523 |
-
|
3524 |
-
|
3525 |
-
|
3526 |
-
|
3527 |
-
|
3528 |
-
|
3529 |
-
|
3530 |
-
|
3531 |
-
|
3532 |
-
|
3533 |
-
|
3534 |
-
|
3535 |
-
|
3536 |
-
|
3537 |
-
|
3538 |
-
|
3539 |
-
|
3540 |
-
|
3541 |
-
|
3542 |
-
|
3543 |
-
|
3544 |
-
|
3545 |
-
|
3546 |
-
|
3547 |
-
|
3548 |
-
function
|
3549 |
-
|
3550 |
-
|
3551 |
-
|
3552 |
-
|
3553 |
-
|
3554 |
-
|
3555 |
-
|
3556 |
-
|
3557 |
-
|
3558 |
-
|
3559 |
-
|
3560 |
-
function
|
3561 |
-
|
3562 |
-
|
3563 |
-
|
3564 |
-
|
3565 |
-
|
3566 |
-
|
3567 |
-
|
3568 |
-
|
3569 |
-
|
3570 |
-
|
3571 |
-
|
3572 |
-
|
3573 |
-
|
3574 |
-
|
3575 |
-
|
3576 |
-
|
3577 |
-
|
3578 |
-
}
|
3579 |
-
|
3580 |
-
|
3581 |
-
|
3582 |
-
|
3583 |
-
|
3584 |
-
|
3585 |
-
//
|
3586 |
-
//
|
3587 |
-
|
3588 |
-
|
3589 |
-
|
3590 |
-
|
3591 |
-
|
3592 |
-
|
3593 |
-
|
3594 |
-
|
3595 |
-
|
3596 |
-
|
3597 |
-
|
3598 |
-
|
3599 |
-
|
3600 |
-
|
3601 |
-
|
3602 |
-
|
3603 |
-
|
3604 |
-
|
3605 |
-
|
3606 |
-
|
3607 |
-
|
3608 |
-
|
3609 |
-
|
3610 |
-
|
3611 |
-
|
3612 |
-
|
3613 |
-
|
3614 |
-
|
3615 |
-
|
3616 |
-
|
3617 |
-
|
3618 |
-
|
3619 |
-
|
3620 |
-
|
3621 |
-
|
3622 |
-
|
3623 |
-
|
3624 |
-
|
3625 |
-
|
3626 |
-
|
3627 |
-
|
3628 |
-
|
3629 |
-
|
3630 |
-
|
3631 |
-
|
3632 |
-
|
3633 |
-
|
3634 |
-
|
3635 |
-
|
3636 |
-
|
3637 |
-
|
3638 |
-
|
3639 |
-
|
3640 |
-
|
3641 |
-
|
3642 |
-
|
3643 |
-
|
3644 |
-
|
3645 |
-
|
3646 |
-
|
3647 |
-
|
3648 |
-
|
3649 |
-
|
3650 |
-
|
3651 |
-
|
3652 |
-
|
3653 |
-
|
3654 |
-
|
3655 |
-
|
3656 |
-
|
3657 |
-
|
3658 |
-
|
3659 |
-
|
3660 |
-
|
3661 |
-
|
3662 |
-
|
3663 |
-
|
3664 |
-
|
3665 |
-
|
3666 |
-
|
3667 |
-
|
3668 |
-
|
3669 |
-
|
3670 |
-
|
3671 |
-
|
3672 |
-
|
3673 |
-
|
3674 |
-
|
3675 |
-
|
3676 |
-
|
3677 |
-
|
3678 |
-
|
3679 |
-
|
3680 |
-
|
3681 |
-
|
3682 |
-
|
3683 |
-
|
3684 |
-
|
3685 |
-
|
3686 |
-
|
3687 |
-
|
3688 |
-
|
3689 |
-
|
3690 |
-
|
3691 |
-
|
3692 |
-
|
3693 |
-
|
3694 |
-
|
3695 |
-
}
|
3696 |
-
|
3697 |
-
|
3698 |
-
|
3699 |
-
|
3700 |
-
|
3701 |
-
|
3702 |
-
|
3703 |
-
|
3704 |
-
|
3705 |
-
|
3706 |
-
|
3707 |
-
|
3708 |
-
|
3709 |
-
|
3710 |
-
|
3711 |
-
|
3712 |
-
|
3713 |
-
|
3714 |
-
|
3715 |
-
|
3716 |
-
|
3717 |
-
|
3718 |
-
|
3719 |
-
|
3720 |
-
|
3721 |
-
|
3722 |
-
|
3723 |
-
|
3724 |
-
|
3725 |
-
|
3726 |
-
|
3727 |
-
|
3728 |
-
|
3729 |
-
|
3730 |
-
|
3731 |
-
|
3732 |
-
|
3733 |
-
|
3734 |
-
|
3735 |
-
|
3736 |
-
|
3737 |
-
|
3738 |
-
|
3739 |
-
|
3740 |
-
|
3741 |
-
|
3742 |
-
|
3743 |
-
|
3744 |
-
|
3745 |
-
|
3746 |
-
|
3747 |
-
|
3748 |
-
|
3749 |
-
|
3750 |
-
|
3751 |
-
|
3752 |
-
|
3753 |
-
|
3754 |
-
|
3755 |
-
|
3756 |
-
|
3757 |
-
|
3758 |
-
|
3759 |
-
|
3760 |
-
|
3761 |
-
|
3762 |
-
|
3763 |
-
|
3764 |
-
var
|
3765 |
-
|
3766 |
-
|
3767 |
-
|
3768 |
-
|
3769 |
-
|
3770 |
-
|
3771 |
-
|
3772 |
-
|
3773 |
-
|
3774 |
-
|
3775 |
-
|
3776 |
-
|
3777 |
-
|
3778 |
-
|
3779 |
-
|
3780 |
-
|
3781 |
-
|
3782 |
-
|
3783 |
-
|
3784 |
-
|
3785 |
-
|
3786 |
-
|
3787 |
-
|
3788 |
-
|
3789 |
-
|
3790 |
-
|
3791 |
-
|
3792 |
-
|
3793 |
-
|
3794 |
-
|
3795 |
-
|
3796 |
-
|
3797 |
-
|
3798 |
-
|
3799 |
-
|
3800 |
-
|
3801 |
-
|
3802 |
-
|
3803 |
-
|
3804 |
-
|
3805 |
-
|
3806 |
-
|
3807 |
-
|
3808 |
-
|
3809 |
-
|
3810 |
-
|
3811 |
-
|
3812 |
-
|
3813 |
-
|
3814 |
-
|
3815 |
-
|
3816 |
-
|
3817 |
-
|
3818 |
-
|
3819 |
-
|
3820 |
-
|
3821 |
-
|
3822 |
-
|
3823 |
-
|
3824 |
-
|
3825 |
-
|
3826 |
-
|
3827 |
-
|
3828 |
-
|
3829 |
-
|
3830 |
-
|
3831 |
-
|
3832 |
-
|
3833 |
-
|
3834 |
-
|
3835 |
-
|
3836 |
-
}
|
3837 |
-
|
3838 |
-
|
3839 |
-
|
3840 |
-
|
3841 |
-
|
3842 |
-
|
3843 |
-
(
|
3844 |
-
|
3845 |
-
|
3846 |
-
|
3847 |
-
|
3848 |
-
|
3849 |
-
|
3850 |
-
}
|
3851 |
-
|
3852 |
-
|
3853 |
-
|
3854 |
-
|
3855 |
-
|
3856 |
-
|
3857 |
-
|
3858 |
-
|
3859 |
-
|
3860 |
-
|
3861 |
-
|
3862 |
-
|
3863 |
-
|
3864 |
-
|
3865 |
-
|
3866 |
-
|
3867 |
-
|
3868 |
-
) {
|
3869 |
-
|
3870 |
-
|
3871 |
-
|
3872 |
-
|
3873 |
-
|
3874 |
-
|
3875 |
-
|
3876 |
-
|
3877 |
-
|
3878 |
-
|
3879 |
-
|
3880 |
-
|
3881 |
-
|
3882 |
-
|
3883 |
-
|
3884 |
-
|
3885 |
-
|
3886 |
-
|
3887 |
-
|
3888 |
-
|
3889 |
-
|
3890 |
-
|
3891 |
-
|
3892 |
-
|
3893 |
-
|
3894 |
-
|
3895 |
-
|
3896 |
-
|
3897 |
-
|
3898 |
-
|
3899 |
-
|
3900 |
-
|
3901 |
-
|
3902 |
-
|
3903 |
-
|
3904 |
-
|
3905 |
-
|
3906 |
-
|
3907 |
-
|
3908 |
-
|
3909 |
-
|
3910 |
-
|
3911 |
-
|
3912 |
-
|
3913 |
-
|
3914 |
-
|
3915 |
-
|
3916 |
-
|
3917 |
-
|
3918 |
-
|
3919 |
-
|
3920 |
-
|
3921 |
-
|
3922 |
-
|
3923 |
-
|
3924 |
-
|
3925 |
-
|
3926 |
-
|
3927 |
-
|
3928 |
-
|
3929 |
-
|
3930 |
-
|
3931 |
-
|
3932 |
-
|
3933 |
-
|
3934 |
-
|
3935 |
-
|
3936 |
-
|
3937 |
-
|
3938 |
-
|
3939 |
-
|
3940 |
-
|
3941 |
-
|
3942 |
-
|
3943 |
-
|
3944 |
-
|
3945 |
-
|
3946 |
-
|
3947 |
-
|
3948 |
-
|
3949 |
-
|
3950 |
-
|
3951 |
-
|
3952 |
-
|
3953 |
-
|
3954 |
-
|
3955 |
-
|
3956 |
-
|
3957 |
-
|
3958 |
-
|
3959 |
-
|
3960 |
-
|
3961 |
-
|
3962 |
-
|
3963 |
-
|
3964 |
-
|
3965 |
-
|
3966 |
-
|
3967 |
-
|
3968 |
-
|
3969 |
-
|
3970 |
-
|
3971 |
-
|
3972 |
-
|
3973 |
-
|
3974 |
-
|
3975 |
-
|
3976 |
-
|
3977 |
-
|
3978 |
-
|
3979 |
-
|
3980 |
-
|
3981 |
-
|
3982 |
-
|
3983 |
-
|
3984 |
-
|
3985 |
-
|
3986 |
-
|
3987 |
-
}
|
3988 |
-
|
3989 |
-
|
3990 |
-
|
3991 |
-
|
3992 |
-
|
3993 |
-
|
3994 |
-
|
3995 |
-
|
3996 |
-
|
3997 |
-
|
3998 |
-
|
3999 |
-
|
4000 |
-
|
4001 |
-
|
4002 |
-
|
4003 |
-
|
4004 |
-
|
4005 |
-
|
4006 |
-
|
4007 |
-
|
4008 |
-
|
4009 |
-
|
4010 |
-
|
4011 |
-
|
4012 |
-
|
4013 |
-
|
4014 |
-
}
|
4015 |
-
|
4016 |
-
|
4017 |
-
|
4018 |
-
|
4019 |
-
|
4020 |
-
|
4021 |
-
|
4022 |
-
|
4023 |
-
|
4024 |
-
|
4025 |
-
|
4026 |
-
|
4027 |
-
|
4028 |
-
|
4029 |
-
|
4030 |
-
|
4031 |
-
|
4032 |
-
|
4033 |
-
|
4034 |
-
|
4035 |
-
|
4036 |
-
|
4037 |
-
|
4038 |
-
|
4039 |
-
|
4040 |
-
|
4041 |
-
|
4042 |
-
|
4043 |
-
|
4044 |
-
|
4045 |
-
|
4046 |
-
|
4047 |
-
|
4048 |
-
|
4049 |
-
|
4050 |
-
|
4051 |
-
|
4052 |
-
|
4053 |
-
|
4054 |
-
|
4055 |
-
|
4056 |
-
|
4057 |
-
|
4058 |
-
|
4059 |
-
|
4060 |
-
|
4061 |
-
|
4062 |
-
|
4063 |
-
|
4064 |
-
|
4065 |
-
|
4066 |
-
|
4067 |
-
|
4068 |
-
|
4069 |
-
|
4070 |
-
|
4071 |
-
|
4072 |
-
|
4073 |
-
|
4074 |
-
|
4075 |
-
|
4076 |
-
|
4077 |
-
|
4078 |
-
|
4079 |
-
|
4080 |
-
|
4081 |
-
|
4082 |
-
|
4083 |
-
|
4084 |
-
|
4085 |
-
|
4086 |
-
|
4087 |
-
|
4088 |
-
|
4089 |
-
|
4090 |
-
|
4091 |
-
|
4092 |
-
|
4093 |
-
|
4094 |
-
|
4095 |
-
|
4096 |
-
|
4097 |
-
|
4098 |
-
|
4099 |
-
|
4100 |
-
|
4101 |
-
|
4102 |
-
|
4103 |
-
|
4104 |
-
|
4105 |
-
|
4106 |
-
|
4107 |
-
|
4108 |
-
|
4109 |
-
|
4110 |
-
|
4111 |
-
|
4112 |
-
|
4113 |
-
|
4114 |
-
|
4115 |
-
|
4116 |
-
|
4117 |
-
|
4118 |
-
|
4119 |
-
|
4120 |
-
|
4121 |
-
|
4122 |
-
|
4123 |
-
|
4124 |
-
|
4125 |
-
|
4126 |
-
|
4127 |
-
|
4128 |
-
|
4129 |
-
|
4130 |
-
|
4131 |
-
|
4132 |
-
|
4133 |
-
|
4134 |
-
|
4135 |
-
|
4136 |
-
|
4137 |
-
|
4138 |
-
|
4139 |
-
|
4140 |
-
|
4141 |
-
|
4142 |
-
|
4143 |
-
|
4144 |
-
|
4145 |
-
|
4146 |
-
|
4147 |
-
|
4148 |
-
|
4149 |
-
|
4150 |
-
|
4151 |
-
|
4152 |
-
|
4153 |
-
|
4154 |
-
|
4155 |
-
|
4156 |
-
|
4157 |
-
|
4158 |
-
|
4159 |
-
|
4160 |
-
|
4161 |
-
|
4162 |
-
|
4163 |
-
|
4164 |
-
|
4165 |
-
|
4166 |
-
|
4167 |
-
|
4168 |
-
|
4169 |
-
|
4170 |
-
|
4171 |
-
|
4172 |
-
|
4173 |
-
|
4174 |
-
|
4175 |
-
|
4176 |
-
|
4177 |
-
|
4178 |
-
|
4179 |
-
|
4180 |
-
|
4181 |
-
|
4182 |
-
|
4183 |
-
|
4184 |
-
|
4185 |
-
|
4186 |
-
|
4187 |
-
|
4188 |
-
|
4189 |
-
|
4190 |
-
|
4191 |
-
|
4192 |
-
|
4193 |
-
|
4194 |
-
|
4195 |
-
|
4196 |
-
|
4197 |
-
|
4198 |
-
|
4199 |
-
|
4200 |
-
|
4201 |
-
|
4202 |
-
|
4203 |
-
|
4204 |
-
|
4205 |
-
|
4206 |
-
|
4207 |
-
|
4208 |
-
|
4209 |
-
|
4210 |
-
|
4211 |
-
|
4212 |
-
|
4213 |
-
|
4214 |
-
|
4215 |
-
|
4216 |
-
|
4217 |
-
|
4218 |
-
|
4219 |
-
|
4220 |
-
|
4221 |
-
|
4222 |
-
|
4223 |
-
|
4224 |
-
|
4225 |
-
|
4226 |
-
|
4227 |
-
|
4228 |
-
|
4229 |
-
|
4230 |
-
|
4231 |
-
|
4232 |
-
|
4233 |
-
|
4234 |
-
|
4235 |
-
|
4236 |
-
|
4237 |
-
|
4238 |
-
|
4239 |
-
|
4240 |
-
|
4241 |
-
|
4242 |
-
|
4243 |
-
|
4244 |
-
|
4245 |
-
|
4246 |
-
|
4247 |
-
|
4248 |
-
|
4249 |
-
|
4250 |
-
|
4251 |
-
if (
|
4252 |
-
|
4253 |
-
|
4254 |
-
|
4255 |
-
if (
|
4256 |
-
|
4257 |
-
|
4258 |
-
|
4259 |
-
}
|
4260 |
-
|
4261 |
-
|
4262 |
-
|
4263 |
-
|
4264 |
-
|
4265 |
-
)
|
4266 |
-
|
4267 |
-
|
4268 |
-
|
4269 |
-
|
4270 |
-
|
4271 |
-
|
4272 |
-
|
4273 |
-
|
4274 |
-
|
4275 |
-
|
4276 |
-
|
4277 |
-
|
4278 |
-
|
4279 |
-
|
4280 |
-
|
4281 |
-
|
4282 |
-
|
4283 |
-
);
|
4284 |
-
|
4285 |
-
|
4286 |
-
|
4287 |
-
|
4288 |
-
|
4289 |
-
|
4290 |
-
|
4291 |
-
|
4292 |
-
|
4293 |
-
|
4294 |
-
|
4295 |
-
|
4296 |
-
|
4297 |
-
|
4298 |
-
|
4299 |
-
|
4300 |
-
|
4301 |
-
|
4302 |
-
|
4303 |
-
|
4304 |
-
|
4305 |
-
|
4306 |
-
|
4307 |
-
|
4308 |
-
|
4309 |
-
|
4310 |
-
|
4311 |
-
|
4312 |
-
|
4313 |
-
|
4314 |
-
|
4315 |
-
|
4316 |
-
|
4317 |
-
|
4318 |
-
|
4319 |
-
|
4320 |
-
|
4321 |
-
|
4322 |
-
|
4323 |
-
|
4324 |
-
|
4325 |
-
|
4326 |
-
|
4327 |
-
|
4328 |
-
|
4329 |
-
|
4330 |
-
|
4331 |
-
|
4332 |
-
|
4333 |
-
|
4334 |
-
|
4335 |
-
|
4336 |
-
|
4337 |
-
|
4338 |
-
|
4339 |
-
|
4340 |
-
|
4341 |
-
) {
|
4342 |
-
|
4343 |
-
|
4344 |
-
|
4345 |
-
|
4346 |
-
|
4347 |
-
|
4348 |
-
|
4349 |
-
|
4350 |
-
|
4351 |
-
|
4352 |
-
|
4353 |
-
|
4354 |
-
|
4355 |
-
(
|
4356 |
-
|
4357 |
-
|
4358 |
-
|
4359 |
-
|
4360 |
-
|
4361 |
-
|
4362 |
-
|
4363 |
-
|
4364 |
-
|
4365 |
-
|
4366 |
-
|
4367 |
-
|
4368 |
-
|
4369 |
-
|
4370 |
-
|
4371 |
-
|
4372 |
-
|
4373 |
-
|
4374 |
-
|
4375 |
-
|
4376 |
-
|
4377 |
-
|
4378 |
-
|
4379 |
-
|
4380 |
-
|
4381 |
-
|
4382 |
-
|
4383 |
-
|
4384 |
-
|
4385 |
-
|
4386 |
-
|
4387 |
-
|
4388 |
-
|
4389 |
-
|
4390 |
-
|
4391 |
-
|
4392 |
-
|
4393 |
-
|
4394 |
-
|
4395 |
-
|
4396 |
-
|
4397 |
-
|
4398 |
-
|
4399 |
-
|
4400 |
-
|
4401 |
-
|
4402 |
-
|
4403 |
-
|
4404 |
-
|
4405 |
-
|
4406 |
-
|
4407 |
-
|
4408 |
-
|
4409 |
-
|
4410 |
-
|
4411 |
-
|
4412 |
-
|
4413 |
-
|
4414 |
-
|
4415 |
-
|
4416 |
-
|
4417 |
-
|
4418 |
-
|
4419 |
-
|
4420 |
-
|
4421 |
-
|
4422 |
-
|
4423 |
-
|
4424 |
-
|
4425 |
-
|
4426 |
-
|
4427 |
-
|
4428 |
-
|
4429 |
-
|
4430 |
-
|
4431 |
-
|
4432 |
-
|
4433 |
-
|
4434 |
-
|
4435 |
-
|
4436 |
-
|
4437 |
-
|
4438 |
-
|
4439 |
-
|
4440 |
-
|
4441 |
-
|
4442 |
-
|
4443 |
-
|
4444 |
-
|
4445 |
-
|
4446 |
-
}
|
4447 |
-
|
4448 |
-
|
4449 |
-
|
4450 |
-
for (var
|
4451 |
-
|
4452 |
-
|
4453 |
-
|
4454 |
-
|
4455 |
-
}
|
4456 |
-
|
4457 |
-
|
4458 |
-
|
4459 |
-
|
4460 |
-
|
4461 |
-
|
4462 |
-
|
4463 |
-
|
4464 |
-
|
4465 |
-
}
|
4466 |
-
|
4467 |
-
|
4468 |
-
|
4469 |
-
|
4470 |
-
|
4471 |
-
|
4472 |
-
|
4473 |
-
|
4474 |
-
|
4475 |
-
|
4476 |
-
|
4477 |
-
|
4478 |
-
|
4479 |
-
|
4480 |
-
|
4481 |
-
|
4482 |
-
|
4483 |
-
|
4484 |
-
|
4485 |
-
|
4486 |
-
|
4487 |
-
|
4488 |
-
|
4489 |
-
|
4490 |
-
|
4491 |
-
|
4492 |
-
|
4493 |
-
|
4494 |
-
|
4495 |
-
|
4496 |
-
|
4497 |
-
|
4498 |
-
|
4499 |
-
|
4500 |
-
|
4501 |
-
|
4502 |
-
|
4503 |
-
|
4504 |
-
|
4505 |
-
|
4506 |
-
|
4507 |
-
|
4508 |
-
|
4509 |
-
|
4510 |
-
|
4511 |
-
|
4512 |
-
|
4513 |
-
|
4514 |
-
|
4515 |
-
|
4516 |
-
|
4517 |
-
|
4518 |
-
|
4519 |
-
|
4520 |
-
|
4521 |
-
|
4522 |
-
|
4523 |
-
|
4524 |
-
|
4525 |
-
|
4526 |
-
|
4527 |
-
|
4528 |
-
|
4529 |
-
|
4530 |
-
|
4531 |
-
|
4532 |
-
|
4533 |
-
|
4534 |
-
|
4535 |
-
|
4536 |
-
|
4537 |
-
|
4538 |
-
|
4539 |
-
|
4540 |
-
|
4541 |
-
|
4542 |
-
|
4543 |
-
|
4544 |
-
|
4545 |
-
|
4546 |
-
|
4547 |
-
|
4548 |
-
|
4549 |
-
|
4550 |
-
|
4551 |
-
|
4552 |
-
}
|
4553 |
-
|
4554 |
-
|
4555 |
-
|
4556 |
-
|
4557 |
-
|
4558 |
-
|
4559 |
-
|
4560 |
-
|
4561 |
-
|
4562 |
-
|
4563 |
-
|
4564 |
-
|
4565 |
-
|
4566 |
-
|
4567 |
-
|
4568 |
-
|
4569 |
-
|
4570 |
-
|
4571 |
-
|
4572 |
-
|
4573 |
-
|
4574 |
-
|
4575 |
-
|
4576 |
-
|
4577 |
-
|
4578 |
-
|
4579 |
-
|
4580 |
-
|
4581 |
-
|
4582 |
-
|
4583 |
-
|
4584 |
-
|
4585 |
-
|
4586 |
-
|
4587 |
-
|
4588 |
-
|
4589 |
-
|
4590 |
-
|
4591 |
-
|
4592 |
-
|
4593 |
-
|
4594 |
-
|
4595 |
-
|
4596 |
-
|
4597 |
-
|
4598 |
-
|
4599 |
-
}
|
4600 |
-
|
4601 |
-
|
4602 |
-
|
4603 |
-
|
4604 |
-
|
4605 |
-
|
4606 |
-
|
4607 |
-
|
4608 |
-
|
4609 |
-
|
4610 |
-
|
4611 |
-
|
4612 |
-
|
4613 |
-
|
4614 |
-
|
4615 |
-
|
4616 |
-
|
4617 |
-
|
4618 |
-
|
4619 |
-
|
4620 |
-
|
4621 |
-
|
4622 |
-
|
4623 |
-
|
4624 |
-
|
4625 |
-
|
4626 |
-
|
4627 |
-
|
4628 |
-
|
4629 |
-
|
4630 |
-
|
4631 |
-
|
4632 |
-
|
4633 |
-
|
4634 |
-
|
4635 |
-
|
4636 |
-
|
4637 |
-
|
4638 |
-
|
4639 |
-
|
4640 |
-
|
4641 |
-
|
4642 |
-
|
4643 |
-
|
4644 |
-
|
4645 |
-
|
4646 |
-
|
4647 |
-
|
4648 |
-
|
4649 |
-
|
4650 |
-
|
4651 |
-
|
4652 |
-
|
4653 |
-
|
4654 |
-
|
4655 |
-
|
4656 |
-
|
4657 |
-
|
4658 |
-
|
4659 |
-
|
4660 |
-
|
4661 |
-
|
4662 |
-
|
4663 |
-
|
4664 |
-
|
4665 |
-
|
4666 |
-
|
4667 |
-
|
4668 |
-
|
4669 |
-
|
4670 |
-
|
4671 |
-
|
4672 |
-
|
4673 |
-
|
4674 |
-
|
4675 |
-
|
4676 |
-
|
4677 |
-
|
4678 |
-
|
4679 |
-
|
4680 |
-
|
4681 |
-
|
4682 |
-
|
4683 |
-
|
4684 |
-
|
4685 |
-
|
4686 |
-
|
4687 |
-
|
4688 |
-
|
4689 |
-
|
4690 |
-
|
4691 |
-
|
4692 |
-
|
4693 |
-
|
4694 |
-
|
4695 |
-
|
4696 |
-
|
4697 |
-
|
4698 |
-
|
4699 |
-
|
4700 |
-
|
4701 |
-
|
4702 |
-
|
4703 |
-
|
4704 |
-
|
4705 |
-
|
4706 |
-
|
4707 |
-
|
4708 |
-
|
4709 |
-
|
4710 |
-
|
4711 |
-
|
4712 |
-
|
4713 |
-
|
4714 |
-
|
4715 |
-
|
4716 |
-
|
4717 |
-
|
4718 |
-
|
4719 |
-
|
4720 |
-
|
4721 |
-
|
4722 |
-
|
4723 |
-
|
4724 |
-
|
4725 |
-
|
4726 |
-
|
4727 |
-
|
4728 |
-
|
4729 |
-
|
4730 |
-
|
4731 |
-
|
4732 |
-
|
4733 |
-
|
4734 |
-
|
4735 |
-
|
4736 |
-
|
4737 |
-
|
4738 |
-
this.
|
4739 |
-
|
4740 |
-
|
4741 |
-
|
4742 |
-
|
4743 |
-
|
4744 |
-
|
4745 |
-
|
4746 |
-
|
4747 |
-
|
4748 |
-
|
4749 |
-
|
4750 |
-
|
4751 |
-
|
4752 |
-
|
4753 |
-
|
4754 |
-
|
4755 |
-
|
4756 |
-
|
4757 |
-
|
4758 |
-
|
4759 |
-
|
4760 |
-
|
4761 |
-
|
4762 |
-
|
4763 |
-
|
4764 |
-
|
4765 |
-
|
4766 |
-
|
4767 |
-
|
4768 |
-
|
4769 |
-
|
4770 |
-
|
4771 |
-
|
4772 |
-
|
4773 |
-
|
4774 |
-
|
4775 |
-
|
4776 |
-
|
4777 |
-
|
4778 |
-
|
4779 |
-
|
4780 |
-
|
4781 |
-
|
4782 |
-
|
4783 |
-
|
4784 |
-
|
4785 |
-
|
4786 |
-
|
4787 |
-
|
4788 |
-
|
4789 |
-
|
4790 |
-
|
4791 |
-
}
|
4792 |
-
|
4793 |
-
|
4794 |
-
|
4795 |
-
|
4796 |
-
|
4797 |
-
|
4798 |
-
|
4799 |
-
|
4800 |
-
|
4801 |
-
|
4802 |
-
|
4803 |
-
|
4804 |
-
|
4805 |
-
|
4806 |
-
|
4807 |
-
|
4808 |
-
|
4809 |
-
|
4810 |
-
|
4811 |
-
|
4812 |
-
|
4813 |
-
|
4814 |
-
|
4815 |
-
|
4816 |
-
|
4817 |
-
|
4818 |
-
|
4819 |
-
}
|
4820 |
-
|
4821 |
-
|
4822 |
-
|
4823 |
-
|
4824 |
-
|
4825 |
-
|
4826 |
-
this.value = this.get();
|
4827 |
-
this.dirty = false;
|
4828 |
-
};
|
4829 |
-
|
4830 |
-
/**
|
4831 |
-
* Depend on all deps collected by this watcher.
|
4832 |
-
*/
|
4833 |
-
Watcher.prototype.depend = function depend () {
|
4834 |
-
var i = this.deps.length;
|
4835 |
-
while (i--) {
|
4836 |
-
this.deps[i].depend();
|
4837 |
-
}
|
4838 |
-
};
|
4839 |
-
|
4840 |
-
/**
|
4841 |
-
* Remove self from all dependencies' subscriber list.
|
4842 |
-
*/
|
4843 |
-
Watcher.prototype.teardown = function teardown () {
|
4844 |
-
if (this.active) {
|
4845 |
-
// remove self from vm's watcher list
|
4846 |
-
// this is a somewhat expensive operation so we skip it
|
4847 |
-
// if the vm is being destroyed.
|
4848 |
-
if (!this.vm._isBeingDestroyed) {
|
4849 |
-
remove(this.vm._watchers, this);
|
4850 |
-
}
|
4851 |
-
var i = this.deps.length;
|
4852 |
-
while (i--) {
|
4853 |
-
this.deps[i].removeSub(this);
|
4854 |
-
}
|
4855 |
-
this.active = false;
|
4856 |
-
}
|
4857 |
-
};
|
4858 |
-
|
4859 |
-
/* */
|
4860 |
-
|
4861 |
-
var sharedPropertyDefinition = {
|
4862 |
-
enumerable: true,
|
4863 |
-
configurable: true,
|
4864 |
-
get: noop,
|
4865 |
-
set: noop
|
4866 |
-
};
|
4867 |
-
|
4868 |
-
function proxy (target, sourceKey, key) {
|
4869 |
-
sharedPropertyDefinition.get = function proxyGetter () {
|
4870 |
-
return this[sourceKey][key]
|
4871 |
-
};
|
4872 |
-
sharedPropertyDefinition.set = function proxySetter (val) {
|
4873 |
-
this[sourceKey][key] = val;
|
4874 |
-
};
|
4875 |
-
Object.defineProperty(target, key, sharedPropertyDefinition);
|
4876 |
-
}
|
4877 |
-
|
4878 |
-
function initState (vm) {
|
4879 |
-
vm._watchers = [];
|
4880 |
-
var opts = vm.$options;
|
4881 |
-
if (opts.props) { initProps(vm, opts.props); }
|
4882 |
-
if (opts.methods) { initMethods(vm, opts.methods); }
|
4883 |
-
if (opts.data) {
|
4884 |
-
initData(vm);
|
4885 |
-
} else {
|
4886 |
-
observe(vm._data = {}, true /* asRootData */);
|
4887 |
-
}
|
4888 |
-
if (opts.computed) { initComputed(vm, opts.computed); }
|
4889 |
-
if (opts.watch && opts.watch !== nativeWatch) {
|
4890 |
-
initWatch(vm, opts.watch);
|
4891 |
-
}
|
4892 |
-
}
|
4893 |
-
|
4894 |
-
function initProps (vm, propsOptions) {
|
4895 |
-
var propsData = vm.$options.propsData || {};
|
4896 |
-
var props = vm._props = {};
|
4897 |
-
// cache prop keys so that future props updates can iterate using Array
|
4898 |
-
// instead of dynamic object key enumeration.
|
4899 |
-
var keys = vm.$options._propKeys = [];
|
4900 |
-
var isRoot = !vm.$parent;
|
4901 |
-
// root instance props should be converted
|
4902 |
-
if (!isRoot) {
|
4903 |
-
toggleObserving(false);
|
4904 |
-
}
|
4905 |
-
var loop = function ( key ) {
|
4906 |
-
keys.push(key);
|
4907 |
-
var value = validateProp(key, propsOptions, propsData, vm);
|
4908 |
-
/* istanbul ignore else */
|
4909 |
-
if (process.env.NODE_ENV !== 'production') {
|
4910 |
-
var hyphenatedKey = hyphenate(key);
|
4911 |
-
if (isReservedAttribute(hyphenatedKey) ||
|
4912 |
-
config.isReservedAttr(hyphenatedKey)) {
|
4913 |
-
warn(
|
4914 |
-
("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
|
4915 |
-
vm
|
4916 |
-
);
|
4917 |
-
}
|
4918 |
-
defineReactive$$1(props, key, value, function () {
|
4919 |
-
if (!isRoot && !isUpdatingChildComponent) {
|
4920 |
-
warn(
|
4921 |
-
"Avoid mutating a prop directly since the value will be " +
|
4922 |
-
"overwritten whenever the parent component re-renders. " +
|
4923 |
-
"Instead, use a data or computed property based on the prop's " +
|
4924 |
-
"value. Prop being mutated: \"" + key + "\"",
|
4925 |
-
vm
|
4926 |
-
);
|
4927 |
-
}
|
4928 |
-
});
|
4929 |
-
} else {
|
4930 |
-
defineReactive$$1(props, key, value);
|
4931 |
-
}
|
4932 |
-
// static props are already proxied on the component's prototype
|
4933 |
-
// during Vue.extend(). We only need to proxy props defined at
|
4934 |
-
// instantiation here.
|
4935 |
-
if (!(key in vm)) {
|
4936 |
-
proxy(vm, "_props", key);
|
4937 |
-
}
|
4938 |
-
};
|
4939 |
-
|
4940 |
-
for (var key in propsOptions) loop( key );
|
4941 |
-
toggleObserving(true);
|
4942 |
-
}
|
4943 |
-
|
4944 |
-
function initData (vm) {
|
4945 |
-
var data = vm.$options.data;
|
4946 |
-
data = vm._data = typeof data === 'function'
|
4947 |
-
? getData(data, vm)
|
4948 |
-
: data || {};
|
4949 |
-
if (!isPlainObject(data)) {
|
4950 |
-
data = {};
|
4951 |
-
process.env.NODE_ENV !== 'production' && warn(
|
4952 |
-
'data functions should return an object:\n' +
|
4953 |
-
'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
|
4954 |
-
vm
|
4955 |
-
);
|
4956 |
-
}
|
4957 |
-
// proxy data on instance
|
4958 |
-
var keys = Object.keys(data);
|
4959 |
-
var props = vm.$options.props;
|
4960 |
-
var methods = vm.$options.methods;
|
4961 |
-
var i = keys.length;
|
4962 |
-
while (i--) {
|
4963 |
-
var key = keys[i];
|
4964 |
-
if (process.env.NODE_ENV !== 'production') {
|
4965 |
-
if (methods && hasOwn(methods, key)) {
|
4966 |
-
warn(
|
4967 |
-
("Method \"" + key + "\" has already been defined as a data property."),
|
4968 |
-
vm
|
4969 |
-
);
|
4970 |
-
}
|
4971 |
-
}
|
4972 |
-
if (props && hasOwn(props, key)) {
|
4973 |
-
process.env.NODE_ENV !== 'production' && warn(
|
4974 |
-
"The data property \"" + key + "\" is already declared as a prop. " +
|
4975 |
-
"Use prop default value instead.",
|
4976 |
-
vm
|
4977 |
-
);
|
4978 |
-
} else if (!isReserved(key)) {
|
4979 |
-
proxy(vm, "_data", key);
|
4980 |
-
}
|
4981 |
-
}
|
4982 |
-
// observe data
|
4983 |
-
observe(data, true /* asRootData */);
|
4984 |
-
}
|
4985 |
-
|
4986 |
-
function getData (data, vm) {
|
4987 |
-
// #7573 disable dep collection when invoking data getters
|
4988 |
-
pushTarget();
|
4989 |
-
try {
|
4990 |
-
return data.call(vm, vm)
|
4991 |
-
} catch (e) {
|
4992 |
-
handleError(e, vm, "data()");
|
4993 |
-
return {}
|
4994 |
-
} finally {
|
4995 |
-
popTarget();
|
4996 |
-
}
|
4997 |
-
}
|
4998 |
-
|
4999 |
-
var computedWatcherOptions = { lazy: true };
|
5000 |
-
|
5001 |
-
function initComputed (vm, computed) {
|
5002 |
-
// $flow-disable-line
|
5003 |
-
var watchers = vm._computedWatchers = Object.create(null);
|
5004 |
-
// computed properties are just getters during SSR
|
5005 |
-
var isSSR = isServerRendering();
|
5006 |
-
|
5007 |
-
for (var key in computed) {
|
5008 |
-
var userDef = computed[key];
|
5009 |
-
var getter = typeof userDef === 'function' ? userDef : userDef.get;
|
5010 |
-
if (process.env.NODE_ENV !== 'production' && getter == null) {
|
5011 |
-
warn(
|
5012 |
-
("Getter is missing for computed property \"" + key + "\"."),
|
5013 |
-
vm
|
5014 |
-
);
|
5015 |
-
}
|
5016 |
-
|
5017 |
-
if (!isSSR) {
|
5018 |
-
// create internal watcher for the computed property.
|
5019 |
-
watchers[key] = new Watcher(
|
5020 |
-
vm,
|
5021 |
-
getter || noop,
|
5022 |
-
noop,
|
5023 |
-
computedWatcherOptions
|
5024 |
-
);
|
5025 |
-
}
|
5026 |
-
|
5027 |
-
// component-defined computed properties are already defined on the
|
5028 |
-
// component prototype. We only need to define computed properties defined
|
5029 |
-
// at instantiation here.
|
5030 |
-
if (!(key in vm)) {
|
5031 |
-
defineComputed(vm, key, userDef);
|
5032 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
5033 |
-
if (key in vm.$data) {
|
5034 |
-
warn(("The computed property \"" + key + "\" is already defined in data."), vm);
|
5035 |
-
} else if (vm.$options.props && key in vm.$options.props) {
|
5036 |
-
warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
|
5037 |
-
} else if (vm.$options.methods && key in vm.$options.methods) {
|
5038 |
-
warn(("The computed property \"" + key + "\" is already defined as a method."), vm);
|
5039 |
-
}
|
5040 |
-
}
|
5041 |
-
}
|
5042 |
-
}
|
5043 |
-
|
5044 |
-
function defineComputed (
|
5045 |
-
target,
|
5046 |
-
key,
|
5047 |
-
userDef
|
5048 |
-
) {
|
5049 |
-
var shouldCache = !isServerRendering();
|
5050 |
-
if (typeof userDef === 'function') {
|
5051 |
-
sharedPropertyDefinition.get = shouldCache
|
5052 |
-
? createComputedGetter(key)
|
5053 |
-
: createGetterInvoker(userDef);
|
5054 |
-
sharedPropertyDefinition.set = noop;
|
5055 |
-
} else {
|
5056 |
-
sharedPropertyDefinition.get = userDef.get
|
5057 |
-
? shouldCache && userDef.cache !== false
|
5058 |
-
? createComputedGetter(key)
|
5059 |
-
: createGetterInvoker(userDef.get)
|
5060 |
-
: noop;
|
5061 |
-
sharedPropertyDefinition.set = userDef.set || noop;
|
5062 |
-
}
|
5063 |
-
if (process.env.NODE_ENV !== 'production' &&
|
5064 |
-
sharedPropertyDefinition.set === noop) {
|
5065 |
-
sharedPropertyDefinition.set = function () {
|
5066 |
-
warn(
|
5067 |
-
("Computed property \"" + key + "\" was assigned to but it has no setter."),
|
5068 |
-
this
|
5069 |
-
);
|
5070 |
-
};
|
5071 |
-
}
|
5072 |
-
Object.defineProperty(target, key, sharedPropertyDefinition);
|
5073 |
-
}
|
5074 |
-
|
5075 |
-
function createComputedGetter (key) {
|
5076 |
-
return function computedGetter () {
|
5077 |
-
var watcher = this._computedWatchers && this._computedWatchers[key];
|
5078 |
-
if (watcher) {
|
5079 |
-
if (watcher.dirty) {
|
5080 |
-
watcher.evaluate();
|
5081 |
-
}
|
5082 |
-
if (Dep.target) {
|
5083 |
-
watcher.depend();
|
5084 |
-
}
|
5085 |
-
return watcher.value
|
5086 |
-
}
|
5087 |
-
}
|
5088 |
-
}
|
5089 |
-
|
5090 |
-
function createGetterInvoker(fn) {
|
5091 |
-
return function computedGetter () {
|
5092 |
-
return fn.call(this, this)
|
5093 |
-
}
|
5094 |
-
}
|
5095 |
-
|
5096 |
-
function initMethods (vm, methods) {
|
5097 |
-
var props = vm.$options.props;
|
5098 |
-
for (var key in methods) {
|
5099 |
-
if (process.env.NODE_ENV !== 'production') {
|
5100 |
-
if (typeof methods[key] !== 'function') {
|
5101 |
-
warn(
|
5102 |
-
"Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +
|
5103 |
-
"Did you reference the function correctly?",
|
5104 |
-
vm
|
5105 |
-
);
|
5106 |
-
}
|
5107 |
-
if (props && hasOwn(props, key)) {
|
5108 |
-
warn(
|
5109 |
-
("Method \"" + key + "\" has already been defined as a prop."),
|
5110 |
-
vm
|
5111 |
-
);
|
5112 |
-
}
|
5113 |
-
if ((key in vm) && isReserved(key)) {
|
5114 |
-
warn(
|
5115 |
-
"Method \"" + key + "\" conflicts with an existing Vue instance method. " +
|
5116 |
-
"Avoid defining component methods that start with _ or $."
|
5117 |
-
);
|
5118 |
-
}
|
5119 |
-
}
|
5120 |
-
vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);
|
5121 |
-
}
|
5122 |
-
}
|
5123 |
-
|
5124 |
-
function initWatch (vm, watch) {
|
5125 |
-
for (var key in watch) {
|
5126 |
-
var handler = watch[key];
|
5127 |
-
if (Array.isArray(handler)) {
|
5128 |
-
for (var i = 0; i < handler.length; i++) {
|
5129 |
-
createWatcher(vm, key, handler[i]);
|
5130 |
-
}
|
5131 |
-
} else {
|
5132 |
-
createWatcher(vm, key, handler);
|
5133 |
-
}
|
5134 |
-
}
|
5135 |
-
}
|
5136 |
-
|
5137 |
-
function createWatcher (
|
5138 |
-
vm,
|
5139 |
-
expOrFn,
|
5140 |
-
handler,
|
5141 |
-
options
|
5142 |
-
) {
|
5143 |
-
if (isPlainObject(handler)) {
|
5144 |
-
options = handler;
|
5145 |
-
handler = handler.handler;
|
5146 |
-
}
|
5147 |
-
if (typeof handler === 'string') {
|
5148 |
-
handler = vm[handler];
|
5149 |
-
}
|
5150 |
-
return vm.$watch(expOrFn, handler, options)
|
5151 |
-
}
|
5152 |
-
|
5153 |
-
function stateMixin (Vue) {
|
5154 |
-
// flow somehow has problems with directly declared definition object
|
5155 |
-
// when using Object.defineProperty, so we have to procedurally build up
|
5156 |
-
// the object here.
|
5157 |
-
var dataDef = {};
|
5158 |
-
dataDef.get = function () { return this._data };
|
5159 |
-
var propsDef = {};
|
5160 |
-
propsDef.get = function () { return this._props };
|
5161 |
-
if (process.env.NODE_ENV !== 'production') {
|
5162 |
-
dataDef.set = function () {
|
5163 |
-
warn(
|
5164 |
-
'Avoid replacing instance root $data. ' +
|
5165 |
-
'Use nested data properties instead.',
|
5166 |
-
this
|
5167 |
-
);
|
5168 |
-
};
|
5169 |
-
propsDef.set = function () {
|
5170 |
-
warn("$props is readonly.", this);
|
5171 |
-
};
|
5172 |
-
}
|
5173 |
-
Object.defineProperty(Vue.prototype, '$data', dataDef);
|
5174 |
-
Object.defineProperty(Vue.prototype, '$props', propsDef);
|
5175 |
-
|
5176 |
-
Vue.prototype.$set = set;
|
5177 |
-
Vue.prototype.$delete = del;
|
5178 |
-
|
5179 |
-
Vue.prototype.$watch = function (
|
5180 |
-
expOrFn,
|
5181 |
-
cb,
|
5182 |
-
options
|
5183 |
-
) {
|
5184 |
-
var vm = this;
|
5185 |
-
if (isPlainObject(cb)) {
|
5186 |
-
return createWatcher(vm, expOrFn, cb, options)
|
5187 |
-
}
|
5188 |
-
options = options || {};
|
5189 |
-
options.user = true;
|
5190 |
-
var watcher = new Watcher(vm, expOrFn, cb, options);
|
5191 |
-
if (options.immediate) {
|
5192 |
-
var info = "callback for immediate watcher \"" + (watcher.expression) + "\"";
|
5193 |
-
pushTarget();
|
5194 |
-
invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);
|
5195 |
-
popTarget();
|
5196 |
-
}
|
5197 |
-
return function unwatchFn () {
|
5198 |
-
watcher.teardown();
|
5199 |
-
}
|
5200 |
-
};
|
5201 |
-
}
|
5202 |
-
|
5203 |
-
/* */
|
5204 |
-
|
5205 |
-
var uid$3 = 0;
|
5206 |
-
|
5207 |
-
function initMixin (Vue) {
|
5208 |
-
Vue.prototype._init = function (options) {
|
5209 |
-
var vm = this;
|
5210 |
-
// a uid
|
5211 |
-
vm._uid = uid$3++;
|
5212 |
-
|
5213 |
-
var startTag, endTag;
|
5214 |
-
/* istanbul ignore if */
|
5215 |
-
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
5216 |
-
startTag = "vue-perf-start:" + (vm._uid);
|
5217 |
-
endTag = "vue-perf-end:" + (vm._uid);
|
5218 |
-
mark(startTag);
|
5219 |
-
}
|
5220 |
-
|
5221 |
-
// a flag to avoid this being observed
|
5222 |
-
vm._isVue = true;
|
5223 |
-
// merge options
|
5224 |
-
if (options && options._isComponent) {
|
5225 |
-
// optimize internal component instantiation
|
5226 |
-
// since dynamic options merging is pretty slow, and none of the
|
5227 |
-
// internal component options needs special treatment.
|
5228 |
-
initInternalComponent(vm, options);
|
5229 |
-
} else {
|
5230 |
-
vm.$options = mergeOptions(
|
5231 |
-
resolveConstructorOptions(vm.constructor),
|
5232 |
-
options || {},
|
5233 |
-
vm
|
5234 |
-
);
|
5235 |
-
}
|
5236 |
-
/* istanbul ignore else */
|
5237 |
-
if (process.env.NODE_ENV !== 'production') {
|
5238 |
-
initProxy(vm);
|
5239 |
-
} else {
|
5240 |
-
vm._renderProxy = vm;
|
5241 |
-
}
|
5242 |
-
// expose real self
|
5243 |
-
vm._self = vm;
|
5244 |
-
initLifecycle(vm);
|
5245 |
-
initEvents(vm);
|
5246 |
-
initRender(vm);
|
5247 |
-
callHook(vm, 'beforeCreate');
|
5248 |
-
initInjections(vm); // resolve injections before data/props
|
5249 |
-
initState(vm);
|
5250 |
-
initProvide(vm); // resolve provide after data/props
|
5251 |
-
callHook(vm, 'created');
|
5252 |
-
|
5253 |
-
/* istanbul ignore if */
|
5254 |
-
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
5255 |
-
vm._name = formatComponentName(vm, false);
|
5256 |
-
mark(endTag);
|
5257 |
-
measure(("vue " + (vm._name) + " init"), startTag, endTag);
|
5258 |
-
}
|
5259 |
-
|
5260 |
-
if (vm.$options.el) {
|
5261 |
-
vm.$mount(vm.$options.el);
|
5262 |
-
}
|
5263 |
-
};
|
5264 |
-
}
|
5265 |
-
|
5266 |
-
function initInternalComponent (vm, options) {
|
5267 |
-
var opts = vm.$options = Object.create(vm.constructor.options);
|
5268 |
-
// doing this because it's faster than dynamic enumeration.
|
5269 |
-
var parentVnode = options._parentVnode;
|
5270 |
-
opts.parent = options.parent;
|
5271 |
-
opts._parentVnode = parentVnode;
|
5272 |
-
|
5273 |
-
var vnodeComponentOptions = parentVnode.componentOptions;
|
5274 |
-
opts.propsData = vnodeComponentOptions.propsData;
|
5275 |
-
opts._parentListeners = vnodeComponentOptions.listeners;
|
5276 |
-
opts._renderChildren = vnodeComponentOptions.children;
|
5277 |
-
opts._componentTag = vnodeComponentOptions.tag;
|
5278 |
-
|
5279 |
-
if (options.render) {
|
5280 |
-
opts.render = options.render;
|
5281 |
-
opts.staticRenderFns = options.staticRenderFns;
|
5282 |
-
}
|
5283 |
-
}
|
5284 |
-
|
5285 |
-
function resolveConstructorOptions (Ctor) {
|
5286 |
-
var options = Ctor.options;
|
5287 |
-
if (Ctor.super) {
|
5288 |
-
var superOptions = resolveConstructorOptions(Ctor.super);
|
5289 |
-
var cachedSuperOptions = Ctor.superOptions;
|
5290 |
-
if (superOptions !== cachedSuperOptions) {
|
5291 |
-
// super option changed,
|
5292 |
-
// need to resolve new options.
|
5293 |
-
Ctor.superOptions = superOptions;
|
5294 |
-
// check if there are any late-modified/attached options (#4976)
|
5295 |
-
var modifiedOptions = resolveModifiedOptions(Ctor);
|
5296 |
-
// update base extend options
|
5297 |
-
if (modifiedOptions) {
|
5298 |
-
extend(Ctor.extendOptions, modifiedOptions);
|
5299 |
-
}
|
5300 |
-
options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
|
5301 |
-
if (options.name) {
|
5302 |
-
options.components[options.name] = Ctor;
|
5303 |
-
}
|
5304 |
-
}
|
5305 |
-
}
|
5306 |
-
return options
|
5307 |
-
}
|
5308 |
-
|
5309 |
-
function resolveModifiedOptions (Ctor) {
|
5310 |
-
var modified;
|
5311 |
-
var latest = Ctor.options;
|
5312 |
-
var sealed = Ctor.sealedOptions;
|
5313 |
-
for (var key in latest) {
|
5314 |
-
if (latest[key] !== sealed[key]) {
|
5315 |
-
if (!modified) { modified = {}; }
|
5316 |
-
modified[key] = latest[key];
|
5317 |
-
}
|
5318 |
-
}
|
5319 |
-
return modified
|
5320 |
-
}
|
5321 |
-
|
5322 |
-
function Vue (options) {
|
5323 |
-
if (process.env.NODE_ENV !== 'production' &&
|
5324 |
-
!(this instanceof Vue)
|
5325 |
-
) {
|
5326 |
-
warn('Vue is a constructor and should be called with the `new` keyword');
|
5327 |
-
}
|
5328 |
-
this._init(options);
|
5329 |
-
}
|
5330 |
-
|
5331 |
-
initMixin(Vue);
|
5332 |
-
stateMixin(Vue);
|
5333 |
-
eventsMixin(Vue);
|
5334 |
-
lifecycleMixin(Vue);
|
5335 |
-
renderMixin(Vue);
|
5336 |
-
|
5337 |
-
/* */
|
5338 |
-
|
5339 |
-
function initUse (Vue) {
|
5340 |
-
Vue.use = function (plugin) {
|
5341 |
-
var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
|
5342 |
-
if (installedPlugins.indexOf(plugin) > -1) {
|
5343 |
-
return this
|
5344 |
-
}
|
5345 |
-
|
5346 |
-
// additional parameters
|
5347 |
-
var args = toArray(arguments, 1);
|
5348 |
-
args.unshift(this);
|
5349 |
-
if (typeof plugin.install === 'function') {
|
5350 |
-
plugin.install.apply(plugin, args);
|
5351 |
-
} else if (typeof plugin === 'function') {
|
5352 |
-
plugin.apply(null, args);
|
5353 |
-
}
|
5354 |
-
installedPlugins.push(plugin);
|
5355 |
-
return this
|
5356 |
-
};
|
5357 |
-
}
|
5358 |
-
|
5359 |
-
/* */
|
5360 |
-
|
5361 |
-
function initMixin$1 (Vue) {
|
5362 |
-
Vue.mixin = function (mixin) {
|
5363 |
-
this.options = mergeOptions(this.options, mixin);
|
5364 |
-
return this
|
5365 |
-
};
|
5366 |
-
}
|
5367 |
-
|
5368 |
-
/* */
|
5369 |
-
|
5370 |
-
function initExtend (Vue) {
|
5371 |
-
/**
|
5372 |
-
* Each instance constructor, including Vue, has a unique
|
5373 |
-
* cid. This enables us to create wrapped "child
|
5374 |
-
* constructors" for prototypal inheritance and cache them.
|
5375 |
-
*/
|
5376 |
-
Vue.cid = 0;
|
5377 |
-
var cid = 1;
|
5378 |
-
|
5379 |
-
/**
|
5380 |
-
* Class inheritance
|
5381 |
-
*/
|
5382 |
-
Vue.extend = function (extendOptions) {
|
5383 |
-
extendOptions = extendOptions || {};
|
5384 |
-
var Super = this;
|
5385 |
-
var SuperId = Super.cid;
|
5386 |
-
var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
|
5387 |
-
if (cachedCtors[SuperId]) {
|
5388 |
-
return cachedCtors[SuperId]
|
5389 |
-
}
|
5390 |
-
|
5391 |
-
var name = extendOptions.name || Super.options.name;
|
5392 |
-
if (process.env.NODE_ENV !== 'production' && name) {
|
5393 |
-
validateComponentName(name);
|
5394 |
-
}
|
5395 |
-
|
5396 |
-
var Sub = function VueComponent (options) {
|
5397 |
-
this._init(options);
|
5398 |
-
};
|
5399 |
-
Sub.prototype = Object.create(Super.prototype);
|
5400 |
-
Sub.prototype.constructor = Sub;
|
5401 |
-
Sub.cid = cid++;
|
5402 |
-
Sub.options = mergeOptions(
|
5403 |
-
Super.options,
|
5404 |
-
extendOptions
|
5405 |
-
);
|
5406 |
-
Sub['super'] = Super;
|
5407 |
-
|
5408 |
-
// For props and computed properties, we define the proxy getters on
|
5409 |
-
// the Vue instances at extension time, on the extended prototype. This
|
5410 |
-
// avoids Object.defineProperty calls for each instance created.
|
5411 |
-
if (Sub.options.props) {
|
5412 |
-
initProps$1(Sub);
|
5413 |
-
}
|
5414 |
-
if (Sub.options.computed) {
|
5415 |
-
initComputed$1(Sub);
|
5416 |
-
}
|
5417 |
-
|
5418 |
-
// allow further extension/mixin/plugin usage
|
5419 |
-
Sub.extend = Super.extend;
|
5420 |
-
Sub.mixin = Super.mixin;
|
5421 |
-
Sub.use = Super.use;
|
5422 |
-
|
5423 |
-
// create asset registers, so extended classes
|
5424 |
-
// can have their private assets too.
|
5425 |
-
ASSET_TYPES.forEach(function (type) {
|
5426 |
-
Sub[type] = Super[type];
|
5427 |
-
});
|
5428 |
-
// enable recursive self-lookup
|
5429 |
-
if (name) {
|
5430 |
-
Sub.options.components[name] = Sub;
|
5431 |
-
}
|
5432 |
-
|
5433 |
-
// keep a reference to the super options at extension time.
|
5434 |
-
// later at instantiation we can check if Super's options have
|
5435 |
-
// been updated.
|
5436 |
-
Sub.superOptions = Super.options;
|
5437 |
-
Sub.extendOptions = extendOptions;
|
5438 |
-
Sub.sealedOptions = extend({}, Sub.options);
|
5439 |
-
|
5440 |
-
// cache constructor
|
5441 |
-
cachedCtors[SuperId] = Sub;
|
5442 |
-
return Sub
|
5443 |
-
};
|
5444 |
-
}
|
5445 |
-
|
5446 |
-
function initProps$1 (Comp) {
|
5447 |
-
var props = Comp.options.props;
|
5448 |
-
for (var key in props) {
|
5449 |
-
proxy(Comp.prototype, "_props", key);
|
5450 |
-
}
|
5451 |
-
}
|
5452 |
-
|
5453 |
-
function initComputed$1 (Comp) {
|
5454 |
-
var computed = Comp.options.computed;
|
5455 |
-
for (var key in computed) {
|
5456 |
-
defineComputed(Comp.prototype, key, computed[key]);
|
5457 |
-
}
|
5458 |
-
}
|
5459 |
-
|
5460 |
-
/* */
|
5461 |
-
|
5462 |
-
function initAssetRegisters (Vue) {
|
5463 |
-
/**
|
5464 |
-
* Create asset registration methods.
|
5465 |
-
*/
|
5466 |
-
ASSET_TYPES.forEach(function (type) {
|
5467 |
-
Vue[type] = function (
|
5468 |
-
id,
|
5469 |
-
definition
|
5470 |
-
) {
|
5471 |
-
if (!definition) {
|
5472 |
-
return this.options[type + 's'][id]
|
5473 |
-
} else {
|
5474 |
-
/* istanbul ignore if */
|
5475 |
-
if (process.env.NODE_ENV !== 'production' && type === 'component') {
|
5476 |
-
validateComponentName(id);
|
5477 |
-
}
|
5478 |
-
if (type === 'component' && isPlainObject(definition)) {
|
5479 |
-
definition.name = definition.name || id;
|
5480 |
-
definition = this.options._base.extend(definition);
|
5481 |
-
}
|
5482 |
-
if (type === 'directive' && typeof definition === 'function') {
|
5483 |
-
definition = { bind: definition, update: definition };
|
5484 |
-
}
|
5485 |
-
this.options[type + 's'][id] = definition;
|
5486 |
-
return definition
|
5487 |
-
}
|
5488 |
-
};
|
5489 |
-
});
|
5490 |
-
}
|
5491 |
-
|
5492 |
-
/* */
|
5493 |
-
|
5494 |
-
|
5495 |
-
|
5496 |
-
|
5497 |
-
|
5498 |
-
function getComponentName (opts) {
|
5499 |
-
return opts && (opts.Ctor.options.name || opts.tag)
|
5500 |
-
}
|
5501 |
-
|
5502 |
-
function matches (pattern, name) {
|
5503 |
-
if (Array.isArray(pattern)) {
|
5504 |
-
return pattern.indexOf(name) > -1
|
5505 |
-
} else if (typeof pattern === 'string') {
|
5506 |
-
return pattern.split(',').indexOf(name) > -1
|
5507 |
-
} else if (isRegExp(pattern)) {
|
5508 |
-
return pattern.test(name)
|
5509 |
-
}
|
5510 |
-
/* istanbul ignore next */
|
5511 |
-
return false
|
5512 |
-
}
|
5513 |
-
|
5514 |
-
function pruneCache (keepAliveInstance, filter) {
|
5515 |
-
var cache = keepAliveInstance.cache;
|
5516 |
-
var keys = keepAliveInstance.keys;
|
5517 |
-
var _vnode = keepAliveInstance._vnode;
|
5518 |
-
for (var key in cache) {
|
5519 |
-
var entry = cache[key];
|
5520 |
-
if (entry) {
|
5521 |
-
var name = entry.name;
|
5522 |
-
if (name && !filter(name)) {
|
5523 |
-
pruneCacheEntry(cache, key, keys, _vnode);
|
5524 |
-
}
|
5525 |
-
}
|
5526 |
-
}
|
5527 |
-
}
|
5528 |
-
|
5529 |
-
function pruneCacheEntry (
|
5530 |
-
cache,
|
5531 |
-
key,
|
5532 |
-
keys,
|
5533 |
-
current
|
5534 |
-
) {
|
5535 |
-
var entry = cache[key];
|
5536 |
-
if (entry && (!current || entry.tag !== current.tag)) {
|
5537 |
-
entry.componentInstance.$destroy();
|
5538 |
-
}
|
5539 |
-
cache[key] = null;
|
5540 |
-
remove(keys, key);
|
5541 |
-
}
|
5542 |
-
|
5543 |
-
var patternTypes = [String, RegExp, Array];
|
5544 |
-
|
5545 |
-
var KeepAlive = {
|
5546 |
-
name: 'keep-alive',
|
5547 |
-
abstract: true,
|
5548 |
-
|
5549 |
-
props: {
|
5550 |
-
include: patternTypes,
|
5551 |
-
exclude: patternTypes,
|
5552 |
-
max: [String, Number]
|
5553 |
-
},
|
5554 |
-
|
5555 |
-
methods: {
|
5556 |
-
cacheVNode: function cacheVNode() {
|
5557 |
-
var ref = this;
|
5558 |
-
var cache = ref.cache;
|
5559 |
-
var keys = ref.keys;
|
5560 |
-
var vnodeToCache = ref.vnodeToCache;
|
5561 |
-
var keyToCache = ref.keyToCache;
|
5562 |
-
if (vnodeToCache) {
|
5563 |
-
var tag = vnodeToCache.tag;
|
5564 |
-
var componentInstance = vnodeToCache.componentInstance;
|
5565 |
-
var componentOptions = vnodeToCache.componentOptions;
|
5566 |
-
cache[keyToCache] = {
|
5567 |
-
name: getComponentName(componentOptions),
|
5568 |
-
tag: tag,
|
5569 |
-
componentInstance: componentInstance,
|
5570 |
-
};
|
5571 |
-
keys.push(keyToCache);
|
5572 |
-
// prune oldest entry
|
5573 |
-
if (this.max && keys.length > parseInt(this.max)) {
|
5574 |
-
pruneCacheEntry(cache, keys[0], keys, this._vnode);
|
5575 |
-
}
|
5576 |
-
this.vnodeToCache = null;
|
5577 |
-
}
|
5578 |
-
}
|
5579 |
-
},
|
5580 |
-
|
5581 |
-
created: function created () {
|
5582 |
-
this.cache = Object.create(null);
|
5583 |
-
this.keys = [];
|
5584 |
-
},
|
5585 |
-
|
5586 |
-
destroyed: function destroyed () {
|
5587 |
-
for (var key in this.cache) {
|
5588 |
-
pruneCacheEntry(this.cache, key, this.keys);
|
5589 |
-
}
|
5590 |
-
},
|
5591 |
-
|
5592 |
-
mounted: function mounted () {
|
5593 |
-
var this$1 = this;
|
5594 |
-
|
5595 |
-
this.cacheVNode();
|
5596 |
-
this.$watch('include', function (val) {
|
5597 |
-
pruneCache(this$1, function (name) { return matches(val, name); });
|
5598 |
-
});
|
5599 |
-
this.$watch('exclude', function (val) {
|
5600 |
-
pruneCache(this$1, function (name) { return !matches(val, name); });
|
5601 |
-
});
|
5602 |
-
},
|
5603 |
-
|
5604 |
-
updated: function updated () {
|
5605 |
-
this.cacheVNode();
|
5606 |
-
},
|
5607 |
-
|
5608 |
-
render: function render () {
|
5609 |
-
var slot = this.$slots.default;
|
5610 |
-
var vnode = getFirstComponentChild(slot);
|
5611 |
-
var componentOptions = vnode && vnode.componentOptions;
|
5612 |
-
if (componentOptions) {
|
5613 |
-
// check pattern
|
5614 |
-
var name = getComponentName(componentOptions);
|
5615 |
-
var ref = this;
|
5616 |
-
var include = ref.include;
|
5617 |
-
var exclude = ref.exclude;
|
5618 |
-
if (
|
5619 |
-
// not included
|
5620 |
-
(include && (!name || !matches(include, name))) ||
|
5621 |
-
// excluded
|
5622 |
-
(exclude && name && matches(exclude, name))
|
5623 |
-
) {
|
5624 |
-
return vnode
|
5625 |
-
}
|
5626 |
-
|
5627 |
-
var ref$1 = this;
|
5628 |
-
var cache = ref$1.cache;
|
5629 |
-
var keys = ref$1.keys;
|
5630 |
-
var key = vnode.key == null
|
5631 |
-
// same constructor may get registered as different local components
|
5632 |
-
// so cid alone is not enough (#3269)
|
5633 |
-
? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
|
5634 |
-
: vnode.key;
|
5635 |
-
if (cache[key]) {
|
5636 |
-
vnode.componentInstance = cache[key].componentInstance;
|
5637 |
-
// make current key freshest
|
5638 |
-
remove(keys, key);
|
5639 |
-
keys.push(key);
|
5640 |
-
} else {
|
5641 |
-
// delay setting the cache until update
|
5642 |
-
this.vnodeToCache = vnode;
|
5643 |
-
this.keyToCache = key;
|
5644 |
-
}
|
5645 |
-
|
5646 |
-
vnode.data.keepAlive = true;
|
5647 |
-
}
|
5648 |
-
return vnode || (slot && slot[0])
|
5649 |
-
}
|
5650 |
-
};
|
5651 |
-
|
5652 |
-
var builtInComponents = {
|
5653 |
-
KeepAlive: KeepAlive
|
5654 |
-
};
|
5655 |
-
|
5656 |
-
/* */
|
5657 |
-
|
5658 |
-
function initGlobalAPI (Vue) {
|
5659 |
-
// config
|
5660 |
-
var configDef = {};
|
5661 |
-
configDef.get = function () { return config; };
|
5662 |
-
if (process.env.NODE_ENV !== 'production') {
|
5663 |
-
configDef.set = function () {
|
5664 |
-
warn(
|
5665 |
-
'Do not replace the Vue.config object, set individual fields instead.'
|
5666 |
-
);
|
5667 |
-
};
|
5668 |
-
}
|
5669 |
-
Object.defineProperty(Vue, 'config', configDef);
|
5670 |
-
|
5671 |
-
// exposed util methods.
|
5672 |
-
// NOTE: these are not considered part of the public API - avoid relying on
|
5673 |
-
// them unless you are aware of the risk.
|
5674 |
-
Vue.util = {
|
5675 |
-
warn: warn,
|
5676 |
-
extend: extend,
|
5677 |
-
mergeOptions: mergeOptions,
|
5678 |
-
defineReactive: defineReactive$$1
|
5679 |
-
};
|
5680 |
-
|
5681 |
-
Vue.set = set;
|
5682 |
-
Vue.delete = del;
|
5683 |
-
Vue.nextTick = nextTick;
|
5684 |
-
|
5685 |
-
// 2.6 explicit observable API
|
5686 |
-
Vue.observable = function (obj) {
|
5687 |
-
observe(obj);
|
5688 |
-
return obj
|
5689 |
-
};
|
5690 |
-
|
5691 |
-
Vue.options = Object.create(null);
|
5692 |
-
ASSET_TYPES.forEach(function (type) {
|
5693 |
-
Vue.options[type + 's'] = Object.create(null);
|
5694 |
-
});
|
5695 |
-
|
5696 |
-
// this is used to identify the "base" constructor to extend all plain-object
|
5697 |
-
// components with in Weex's multi-instance scenarios.
|
5698 |
-
Vue.options._base = Vue;
|
5699 |
-
|
5700 |
-
extend(Vue.options.components, builtInComponents);
|
5701 |
-
|
5702 |
-
initUse(Vue);
|
5703 |
-
initMixin$1(Vue);
|
5704 |
-
initExtend(Vue);
|
5705 |
-
initAssetRegisters(Vue);
|
5706 |
-
}
|
5707 |
-
|
5708 |
-
initGlobalAPI(Vue);
|
5709 |
-
|
5710 |
-
Object.defineProperty(Vue.prototype, '$isServer', {
|
5711 |
-
get: isServerRendering
|
5712 |
-
});
|
5713 |
-
|
5714 |
-
Object.defineProperty(Vue.prototype, '$ssrContext', {
|
5715 |
-
get: function get () {
|
5716 |
-
/* istanbul ignore next */
|
5717 |
-
return this.$vnode && this.$vnode.ssrContext
|
5718 |
-
}
|
5719 |
-
});
|
5720 |
-
|
5721 |
-
// expose FunctionalRenderContext for ssr runtime helper installation
|
5722 |
-
Object.defineProperty(Vue, 'FunctionalRenderContext', {
|
5723 |
-
value: FunctionalRenderContext
|
5724 |
-
});
|
5725 |
-
|
5726 |
-
Vue.version = '2.6.14';
|
5727 |
-
|
5728 |
-
/* */
|
5729 |
-
|
5730 |
-
// these are reserved for web because they are directly compiled away
|
5731 |
-
// during template compilation
|
5732 |
-
var isReservedAttr = makeMap('style,class');
|
5733 |
-
|
5734 |
-
// attributes that should be using props for binding
|
5735 |
-
var acceptValue = makeMap('input,textarea,option,select,progress');
|
5736 |
-
var mustUseProp = function (tag, type, attr) {
|
5737 |
-
return (
|
5738 |
-
(attr === 'value' && acceptValue(tag)) && type !== 'button' ||
|
5739 |
-
(attr === 'selected' && tag === 'option') ||
|
5740 |
-
(attr === 'checked' && tag === 'input') ||
|
5741 |
-
(attr === 'muted' && tag === 'video')
|
5742 |
-
)
|
5743 |
-
};
|
5744 |
-
|
5745 |
-
var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
|
5746 |
-
|
5747 |
-
var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');
|
5748 |
-
|
5749 |
-
var convertEnumeratedValue = function (key, value) {
|
5750 |
-
return isFalsyAttrValue(value) || value === 'false'
|
5751 |
-
? 'false'
|
5752 |
-
// allow arbitrary string value for contenteditable
|
5753 |
-
: key === 'contenteditable' && isValidContentEditableValue(value)
|
5754 |
-
? value
|
5755 |
-
: 'true'
|
5756 |
-
};
|
5757 |
-
|
5758 |
-
var isBooleanAttr = makeMap(
|
5759 |
-
'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
|
5760 |
-
'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
|
5761 |
-
'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +
|
5762 |
-
'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +
|
5763 |
-
'required,reversed,scoped,seamless,selected,sortable,' +
|
5764 |
-
'truespeed,typemustmatch,visible'
|
5765 |
-
);
|
5766 |
-
|
5767 |
-
var xlinkNS = 'http://www.w3.org/1999/xlink';
|
5768 |
-
|
5769 |
-
var isXlink = function (name) {
|
5770 |
-
return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'
|
5771 |
-
};
|
5772 |
-
|
5773 |
-
var getXlinkProp = function (name) {
|
5774 |
-
return isXlink(name) ? name.slice(6, name.length) : ''
|
5775 |
-
};
|
5776 |
-
|
5777 |
-
var isFalsyAttrValue = function (val) {
|
5778 |
-
return val == null || val === false
|
5779 |
-
};
|
5780 |
-
|
5781 |
-
/* */
|
5782 |
-
|
5783 |
-
function genClassForVnode (vnode) {
|
5784 |
-
var data = vnode.data;
|
5785 |
-
var parentNode = vnode;
|
5786 |
-
var childNode = vnode;
|
5787 |
-
while (isDef(childNode.componentInstance)) {
|
5788 |
-
childNode = childNode.componentInstance._vnode;
|
5789 |
-
if (childNode && childNode.data) {
|
5790 |
-
data = mergeClassData(childNode.data, data);
|
5791 |
-
}
|
5792 |
-
}
|
5793 |
-
while (isDef(parentNode = parentNode.parent)) {
|
5794 |
-
if (parentNode && parentNode.data) {
|
5795 |
-
data = mergeClassData(data, parentNode.data);
|
5796 |
-
}
|
5797 |
-
}
|
5798 |
-
return renderClass(data.staticClass, data.class)
|
5799 |
-
}
|
5800 |
-
|
5801 |
-
function mergeClassData (child, parent) {
|
5802 |
-
return {
|
5803 |
-
staticClass: concat(child.staticClass, parent.staticClass),
|
5804 |
-
class: isDef(child.class)
|
5805 |
-
? [child.class, parent.class]
|
5806 |
-
: parent.class
|
5807 |
-
}
|
5808 |
-
}
|
5809 |
-
|
5810 |
-
function renderClass (
|
5811 |
-
staticClass,
|
5812 |
-
dynamicClass
|
5813 |
-
) {
|
5814 |
-
if (isDef(staticClass) || isDef(dynamicClass)) {
|
5815 |
-
return concat(staticClass, stringifyClass(dynamicClass))
|
5816 |
-
}
|
5817 |
-
/* istanbul ignore next */
|
5818 |
-
return ''
|
5819 |
-
}
|
5820 |
-
|
5821 |
-
function concat (a, b) {
|
5822 |
-
return a ? b ? (a + ' ' + b) : a : (b || '')
|
5823 |
-
}
|
5824 |
-
|
5825 |
-
function stringifyClass (value) {
|
5826 |
-
if (Array.isArray(value)) {
|
5827 |
-
return stringifyArray(value)
|
5828 |
-
}
|
5829 |
-
if (isObject(value)) {
|
5830 |
-
return stringifyObject(value)
|
5831 |
-
}
|
5832 |
-
if (typeof value === 'string') {
|
5833 |
-
return value
|
5834 |
-
}
|
5835 |
-
/* istanbul ignore next */
|
5836 |
-
return ''
|
5837 |
-
}
|
5838 |
-
|
5839 |
-
function stringifyArray (value) {
|
5840 |
-
var res = '';
|
5841 |
-
var stringified;
|
5842 |
-
for (var i = 0, l = value.length; i < l; i++) {
|
5843 |
-
if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
|
5844 |
-
if (res) { res += ' '; }
|
5845 |
-
res += stringified;
|
5846 |
-
}
|
5847 |
-
}
|
5848 |
-
return res
|
5849 |
-
}
|
5850 |
-
|
5851 |
-
function stringifyObject (value) {
|
5852 |
-
var res = '';
|
5853 |
-
for (var key in value) {
|
5854 |
-
if (value[key]) {
|
5855 |
-
if (res) { res += ' '; }
|
5856 |
-
res += key;
|
5857 |
-
}
|
5858 |
-
}
|
5859 |
-
return res
|
5860 |
-
}
|
5861 |
-
|
5862 |
-
/* */
|
5863 |
-
|
5864 |
-
var namespaceMap = {
|
5865 |
-
svg: 'http://www.w3.org/2000/svg',
|
5866 |
-
math: 'http://www.w3.org/1998/Math/MathML'
|
5867 |
-
};
|
5868 |
-
|
5869 |
-
var isHTMLTag = makeMap(
|
5870 |
-
'html,body,base,head,link,meta,style,title,' +
|
5871 |
-
'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
|
5872 |
-
'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +
|
5873 |
-
'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +
|
5874 |
-
's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +
|
5875 |
-
'embed,object,param,source,canvas,script,noscript,del,ins,' +
|
5876 |
-
'caption,col,colgroup,table,thead,tbody,td,th,tr,' +
|
5877 |
-
'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +
|
5878 |
-
'output,progress,select,textarea,' +
|
5879 |
-
'details,dialog,menu,menuitem,summary,' +
|
5880 |
-
'content,element,shadow,template,blockquote,iframe,tfoot'
|
5881 |
-
);
|
5882 |
-
|
5883 |
-
// this map is intentionally selective, only covering SVG elements that may
|
5884 |
-
// contain child elements.
|
5885 |
-
var isSVG = makeMap(
|
5886 |
-
'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +
|
5887 |
-
'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +
|
5888 |
-
'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',
|
5889 |
-
true
|
5890 |
-
);
|
5891 |
-
|
5892 |
-
var isPreTag = function (tag) { return tag === 'pre'; };
|
5893 |
-
|
5894 |
-
var isReservedTag = function (tag) {
|
5895 |
-
return isHTMLTag(tag) || isSVG(tag)
|
5896 |
-
};
|
5897 |
-
|
5898 |
-
function getTagNamespace (tag) {
|
5899 |
-
if (isSVG(tag)) {
|
5900 |
-
return 'svg'
|
5901 |
-
}
|
5902 |
-
// basic support for MathML
|
5903 |
-
// note it doesn't support other MathML elements being component roots
|
5904 |
-
if (tag === 'math') {
|
5905 |
-
return 'math'
|
5906 |
-
}
|
5907 |
-
}
|
5908 |
-
|
5909 |
-
var unknownElementCache = Object.create(null);
|
5910 |
-
function isUnknownElement (tag) {
|
5911 |
-
/* istanbul ignore if */
|
5912 |
-
if (!inBrowser) {
|
5913 |
-
return true
|
5914 |
-
}
|
5915 |
-
if (isReservedTag(tag)) {
|
5916 |
-
return false
|
5917 |
-
}
|
5918 |
-
tag = tag.toLowerCase();
|
5919 |
-
/* istanbul ignore if */
|
5920 |
-
if (unknownElementCache[tag] != null) {
|
5921 |
-
return unknownElementCache[tag]
|
5922 |
-
}
|
5923 |
-
var el = document.createElement(tag);
|
5924 |
-
if (tag.indexOf('-') > -1) {
|
5925 |
-
// http://stackoverflow.com/a/28210364/1070244
|
5926 |
-
return (unknownElementCache[tag] = (
|
5927 |
-
el.constructor === window.HTMLUnknownElement ||
|
5928 |
-
el.constructor === window.HTMLElement
|
5929 |
-
))
|
5930 |
-
} else {
|
5931 |
-
return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))
|
5932 |
-
}
|
5933 |
-
}
|
5934 |
-
|
5935 |
-
var isTextInputType = makeMap('text,number,password,search,email,tel,url');
|
5936 |
-
|
5937 |
-
/* */
|
5938 |
-
|
5939 |
-
/**
|
5940 |
-
* Query an element selector if it's not an element already.
|
5941 |
-
*/
|
5942 |
-
function query (el) {
|
5943 |
-
if (typeof el === 'string') {
|
5944 |
-
var selected = document.querySelector(el);
|
5945 |
-
if (!selected) {
|
5946 |
-
process.env.NODE_ENV !== 'production' && warn(
|
5947 |
-
'Cannot find element: ' + el
|
5948 |
-
);
|
5949 |
-
return document.createElement('div')
|
5950 |
-
}
|
5951 |
-
return selected
|
5952 |
-
} else {
|
5953 |
-
return el
|
5954 |
-
}
|
5955 |
-
}
|
5956 |
-
|
5957 |
-
/* */
|
5958 |
-
|
5959 |
-
function createElement$1 (tagName, vnode) {
|
5960 |
-
var elm = document.createElement(tagName);
|
5961 |
-
if (tagName !== 'select') {
|
5962 |
-
return elm
|
5963 |
-
}
|
5964 |
-
// false or null will remove the attribute but undefined will not
|
5965 |
-
if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {
|
5966 |
-
elm.setAttribute('multiple', 'multiple');
|
5967 |
-
}
|
5968 |
-
return elm
|
5969 |
-
}
|
5970 |
-
|
5971 |
-
function createElementNS (namespace, tagName) {
|
5972 |
-
return document.createElementNS(namespaceMap[namespace], tagName)
|
5973 |
-
}
|
5974 |
-
|
5975 |
-
function createTextNode (text) {
|
5976 |
-
return document.createTextNode(text)
|
5977 |
-
}
|
5978 |
-
|
5979 |
-
function createComment (text) {
|
5980 |
-
return document.createComment(text)
|
5981 |
-
}
|
5982 |
-
|
5983 |
-
function insertBefore (parentNode, newNode, referenceNode) {
|
5984 |
-
parentNode.insertBefore(newNode, referenceNode);
|
5985 |
-
}
|
5986 |
-
|
5987 |
-
function removeChild (node, child) {
|
5988 |
-
node.removeChild(child);
|
5989 |
-
}
|
5990 |
-
|
5991 |
-
function appendChild (node, child) {
|
5992 |
-
node.appendChild(child);
|
5993 |
-
}
|
5994 |
-
|
5995 |
-
function parentNode (node) {
|
5996 |
-
return node.parentNode
|
5997 |
-
}
|
5998 |
-
|
5999 |
-
function nextSibling (node) {
|
6000 |
-
return node.nextSibling
|
6001 |
-
}
|
6002 |
-
|
6003 |
-
function tagName (node) {
|
6004 |
-
return node.tagName
|
6005 |
-
}
|
6006 |
-
|
6007 |
-
function setTextContent (node, text) {
|
6008 |
-
node.textContent = text;
|
6009 |
-
}
|
6010 |
-
|
6011 |
-
function setStyleScope (node, scopeId) {
|
6012 |
-
node.setAttribute(scopeId, '');
|
6013 |
-
}
|
6014 |
-
|
6015 |
-
var nodeOps = /*#__PURE__*/Object.freeze({
|
6016 |
-
createElement: createElement$1,
|
6017 |
-
createElementNS: createElementNS,
|
6018 |
-
createTextNode: createTextNode,
|
6019 |
-
createComment: createComment,
|
6020 |
-
insertBefore: insertBefore,
|
6021 |
-
removeChild: removeChild,
|
6022 |
-
appendChild: appendChild,
|
6023 |
-
parentNode: parentNode,
|
6024 |
-
nextSibling: nextSibling,
|
6025 |
-
tagName: tagName,
|
6026 |
-
setTextContent: setTextContent,
|
6027 |
-
setStyleScope: setStyleScope
|
6028 |
-
});
|
6029 |
-
|
6030 |
-
/* */
|
6031 |
-
|
6032 |
-
var ref = {
|
6033 |
-
create: function create (_, vnode) {
|
6034 |
-
registerRef(vnode);
|
6035 |
-
},
|
6036 |
-
update: function update (oldVnode, vnode) {
|
6037 |
-
if (oldVnode.data.ref !== vnode.data.ref) {
|
6038 |
-
registerRef(oldVnode, true);
|
6039 |
-
registerRef(vnode);
|
6040 |
-
}
|
6041 |
-
},
|
6042 |
-
destroy: function destroy (vnode) {
|
6043 |
-
registerRef(vnode, true);
|
6044 |
-
}
|
6045 |
-
};
|
6046 |
-
|
6047 |
-
function registerRef (vnode, isRemoval) {
|
6048 |
-
var key = vnode.data.ref;
|
6049 |
-
if (!isDef(key)) { return }
|
6050 |
-
|
6051 |
-
var vm = vnode.context;
|
6052 |
-
var ref = vnode.componentInstance || vnode.elm;
|
6053 |
-
var refs = vm.$refs;
|
6054 |
-
if (isRemoval) {
|
6055 |
-
if (Array.isArray(refs[key])) {
|
6056 |
-
remove(refs[key], ref);
|
6057 |
-
} else if (refs[key] === ref) {
|
6058 |
-
refs[key] = undefined;
|
6059 |
-
}
|
6060 |
-
} else {
|
6061 |
-
if (vnode.data.refInFor) {
|
6062 |
-
if (!Array.isArray(refs[key])) {
|
6063 |
-
refs[key] = [ref];
|
6064 |
-
} else if (refs[key].indexOf(ref) < 0) {
|
6065 |
-
// $flow-disable-line
|
6066 |
-
refs[key].push(ref);
|
6067 |
-
}
|
6068 |
-
} else {
|
6069 |
-
refs[key] = ref;
|
6070 |
-
}
|
6071 |
-
}
|
6072 |
-
}
|
6073 |
-
|
6074 |
-
/**
|
6075 |
-
* Virtual DOM patching algorithm based on Snabbdom by
|
6076 |
-
* Simon Friis Vindum (@paldepind)
|
6077 |
-
* Licensed under the MIT License
|
6078 |
-
* https://github.com/paldepind/snabbdom/blob/master/LICENSE
|
6079 |
-
*
|
6080 |
-
* modified by Evan You (@yyx990803)
|
6081 |
-
*
|
6082 |
-
* Not type-checking this because this file is perf-critical and the cost
|
6083 |
-
* of making flow understand it is not worth it.
|
6084 |
-
*/
|
6085 |
-
|
6086 |
-
var emptyNode = new VNode('', {}, []);
|
6087 |
-
|
6088 |
-
var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];
|
6089 |
-
|
6090 |
-
function sameVnode (a, b) {
|
6091 |
-
return (
|
6092 |
-
a.key === b.key &&
|
6093 |
-
a.asyncFactory === b.asyncFactory && (
|
6094 |
-
(
|
6095 |
-
a.tag === b.tag &&
|
6096 |
-
a.isComment === b.isComment &&
|
6097 |
-
isDef(a.data) === isDef(b.data) &&
|
6098 |
-
sameInputType(a, b)
|
6099 |
-
) || (
|
6100 |
-
isTrue(a.isAsyncPlaceholder) &&
|
6101 |
-
isUndef(b.asyncFactory.error)
|
6102 |
-
)
|
6103 |
-
)
|
6104 |
-
)
|
6105 |
-
}
|
6106 |
-
|
6107 |
-
function sameInputType (a, b) {
|
6108 |
-
if (a.tag !== 'input') { return true }
|
6109 |
-
var i;
|
6110 |
-
var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;
|
6111 |
-
var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;
|
6112 |
-
return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)
|
6113 |
-
}
|
6114 |
-
|
6115 |
-
function createKeyToOldIdx (children, beginIdx, endIdx) {
|
6116 |
-
var i, key;
|
6117 |
-
var map = {};
|
6118 |
-
for (i = beginIdx; i <= endIdx; ++i) {
|
6119 |
-
key = children[i].key;
|
6120 |
-
if (isDef(key)) { map[key] = i; }
|
6121 |
-
}
|
6122 |
-
return map
|
6123 |
-
}
|
6124 |
-
|
6125 |
-
function createPatchFunction (backend) {
|
6126 |
-
var i, j;
|
6127 |
-
var cbs = {};
|
6128 |
-
|
6129 |
-
var modules = backend.modules;
|
6130 |
-
var nodeOps = backend.nodeOps;
|
6131 |
-
|
6132 |
-
for (i = 0; i < hooks.length; ++i) {
|
6133 |
-
cbs[hooks[i]] = [];
|
6134 |
-
for (j = 0; j < modules.length; ++j) {
|
6135 |
-
if (isDef(modules[j][hooks[i]])) {
|
6136 |
-
cbs[hooks[i]].push(modules[j][hooks[i]]);
|
6137 |
-
}
|
6138 |
-
}
|
6139 |
-
}
|
6140 |
-
|
6141 |
-
function emptyNodeAt (elm) {
|
6142 |
-
return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)
|
6143 |
-
}
|
6144 |
-
|
6145 |
-
function createRmCb (childElm, listeners) {
|
6146 |
-
function remove$$1 () {
|
6147 |
-
if (--remove$$1.listeners === 0) {
|
6148 |
-
removeNode(childElm);
|
6149 |
-
}
|
6150 |
-
}
|
6151 |
-
remove$$1.listeners = listeners;
|
6152 |
-
return remove$$1
|
6153 |
-
}
|
6154 |
-
|
6155 |
-
function removeNode (el) {
|
6156 |
-
var parent = nodeOps.parentNode(el);
|
6157 |
-
// element may have already been removed due to v-html / v-text
|
6158 |
-
if (isDef(parent)) {
|
6159 |
-
nodeOps.removeChild(parent, el);
|
6160 |
-
}
|
6161 |
-
}
|
6162 |
-
|
6163 |
-
function isUnknownElement$$1 (vnode, inVPre) {
|
6164 |
-
return (
|
6165 |
-
!inVPre &&
|
6166 |
-
!vnode.ns &&
|
6167 |
-
!(
|
6168 |
-
config.ignoredElements.length &&
|
6169 |
-
config.ignoredElements.some(function (ignore) {
|
6170 |
-
return isRegExp(ignore)
|
6171 |
-
? ignore.test(vnode.tag)
|
6172 |
-
: ignore === vnode.tag
|
6173 |
-
})
|
6174 |
-
) &&
|
6175 |
-
config.isUnknownElement(vnode.tag)
|
6176 |
-
)
|
6177 |
-
}
|
6178 |
-
|
6179 |
-
var creatingElmInVPre = 0;
|
6180 |
-
|
6181 |
-
function createElm (
|
6182 |
-
vnode,
|
6183 |
-
insertedVnodeQueue,
|
6184 |
-
parentElm,
|
6185 |
-
refElm,
|
6186 |
-
nested,
|
6187 |
-
ownerArray,
|
6188 |
-
index
|
6189 |
-
) {
|
6190 |
-
if (isDef(vnode.elm) && isDef(ownerArray)) {
|
6191 |
-
// This vnode was used in a previous render!
|
6192 |
-
// now it's used as a new node, overwriting its elm would cause
|
6193 |
-
// potential patch errors down the road when it's used as an insertion
|
6194 |
-
// reference node. Instead, we clone the node on-demand before creating
|
6195 |
-
// associated DOM element for it.
|
6196 |
-
vnode = ownerArray[index] = cloneVNode(vnode);
|
6197 |
-
}
|
6198 |
-
|
6199 |
-
vnode.isRootInsert = !nested; // for transition enter check
|
6200 |
-
if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {
|
6201 |
-
return
|
6202 |
-
}
|
6203 |
-
|
6204 |
-
var data = vnode.data;
|
6205 |
-
var children = vnode.children;
|
6206 |
-
var tag = vnode.tag;
|
6207 |
-
if (isDef(tag)) {
|
6208 |
-
if (process.env.NODE_ENV !== 'production') {
|
6209 |
-
if (data && data.pre) {
|
6210 |
-
creatingElmInVPre++;
|
6211 |
-
}
|
6212 |
-
if (isUnknownElement$$1(vnode, creatingElmInVPre)) {
|
6213 |
-
warn(
|
6214 |
-
'Unknown custom element: <' + tag + '> - did you ' +
|
6215 |
-
'register the component correctly? For recursive components, ' +
|
6216 |
-
'make sure to provide the "name" option.',
|
6217 |
-
vnode.context
|
6218 |
-
);
|
6219 |
-
}
|
6220 |
-
}
|
6221 |
-
|
6222 |
-
vnode.elm = vnode.ns
|
6223 |
-
? nodeOps.createElementNS(vnode.ns, tag)
|
6224 |
-
: nodeOps.createElement(tag, vnode);
|
6225 |
-
setScope(vnode);
|
6226 |
-
|
6227 |
-
/* istanbul ignore if */
|
6228 |
-
{
|
6229 |
-
createChildren(vnode, children, insertedVnodeQueue);
|
6230 |
-
if (isDef(data)) {
|
6231 |
-
invokeCreateHooks(vnode, insertedVnodeQueue);
|
6232 |
-
}
|
6233 |
-
insert(parentElm, vnode.elm, refElm);
|
6234 |
-
}
|
6235 |
-
|
6236 |
-
if (process.env.NODE_ENV !== 'production' && data && data.pre) {
|
6237 |
-
creatingElmInVPre--;
|
6238 |
-
}
|
6239 |
-
} else if (isTrue(vnode.isComment)) {
|
6240 |
-
vnode.elm = nodeOps.createComment(vnode.text);
|
6241 |
-
insert(parentElm, vnode.elm, refElm);
|
6242 |
-
} else {
|
6243 |
-
vnode.elm = nodeOps.createTextNode(vnode.text);
|
6244 |
-
insert(parentElm, vnode.elm, refElm);
|
6245 |
-
}
|
6246 |
-
}
|
6247 |
-
|
6248 |
-
function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
|
6249 |
-
var i = vnode.data;
|
6250 |
-
if (isDef(i)) {
|
6251 |
-
var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;
|
6252 |
-
if (isDef(i = i.hook) && isDef(i = i.init)) {
|
6253 |
-
i(vnode, false /* hydrating */);
|
6254 |
-
}
|
6255 |
-
// after calling the init hook, if the vnode is a child component
|
6256 |
-
// it should've created a child instance and mounted it. the child
|
6257 |
-
// component also has set the placeholder vnode's elm.
|
6258 |
-
// in that case we can just return the element and be done.
|
6259 |
-
if (isDef(vnode.componentInstance)) {
|
6260 |
-
initComponent(vnode, insertedVnodeQueue);
|
6261 |
-
insert(parentElm, vnode.elm, refElm);
|
6262 |
-
if (isTrue(isReactivated)) {
|
6263 |
-
reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);
|
6264 |
-
}
|
6265 |
-
return true
|
6266 |
-
}
|
6267 |
-
}
|
6268 |
-
}
|
6269 |
-
|
6270 |
-
function initComponent (vnode, insertedVnodeQueue) {
|
6271 |
-
if (isDef(vnode.data.pendingInsert)) {
|
6272 |
-
insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);
|
6273 |
-
vnode.data.pendingInsert = null;
|
6274 |
-
}
|
6275 |
-
vnode.elm = vnode.componentInstance.$el;
|
6276 |
-
if (isPatchable(vnode)) {
|
6277 |
-
invokeCreateHooks(vnode, insertedVnodeQueue);
|
6278 |
-
setScope(vnode);
|
6279 |
-
} else {
|
6280 |
-
// empty component root.
|
6281 |
-
// skip all element-related modules except for ref (#3455)
|
6282 |
-
registerRef(vnode);
|
6283 |
-
// make sure to invoke the insert hook
|
6284 |
-
insertedVnodeQueue.push(vnode);
|
6285 |
-
}
|
6286 |
-
}
|
6287 |
-
|
6288 |
-
function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
|
6289 |
-
var i;
|
6290 |
-
// hack for #4339: a reactivated component with inner transition
|
6291 |
-
// does not trigger because the inner node's created hooks are not called
|
6292 |
-
// again. It's not ideal to involve module-specific logic in here but
|
6293 |
-
// there doesn't seem to be a better way to do it.
|
6294 |
-
var innerNode = vnode;
|
6295 |
-
while (innerNode.componentInstance) {
|
6296 |
-
innerNode = innerNode.componentInstance._vnode;
|
6297 |
-
if (isDef(i = innerNode.data) && isDef(i = i.transition)) {
|
6298 |
-
for (i = 0; i < cbs.activate.length; ++i) {
|
6299 |
-
cbs.activate[i](emptyNode, innerNode);
|
6300 |
-
}
|
6301 |
-
insertedVnodeQueue.push(innerNode);
|
6302 |
-
break
|
6303 |
-
}
|
6304 |
-
}
|
6305 |
-
// unlike a newly created component,
|
6306 |
-
// a reactivated keep-alive component doesn't insert itself
|
6307 |
-
insert(parentElm, vnode.elm, refElm);
|
6308 |
-
}
|
6309 |
-
|
6310 |
-
function insert (parent, elm, ref$$1) {
|
6311 |
-
if (isDef(parent)) {
|
6312 |
-
if (isDef(ref$$1)) {
|
6313 |
-
if (nodeOps.parentNode(ref$$1) === parent) {
|
6314 |
-
nodeOps.insertBefore(parent, elm, ref$$1);
|
6315 |
-
}
|
6316 |
-
} else {
|
6317 |
-
nodeOps.appendChild(parent, elm);
|
6318 |
-
}
|
6319 |
-
}
|
6320 |
-
}
|
6321 |
-
|
6322 |
-
function createChildren (vnode, children, insertedVnodeQueue) {
|
6323 |
-
if (Array.isArray(children)) {
|
6324 |
-
if (process.env.NODE_ENV !== 'production') {
|
6325 |
-
checkDuplicateKeys(children);
|
6326 |
-
}
|
6327 |
-
for (var i = 0; i < children.length; ++i) {
|
6328 |
-
createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);
|
6329 |
-
}
|
6330 |
-
} else if (isPrimitive(vnode.text)) {
|
6331 |
-
nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));
|
6332 |
-
}
|
6333 |
-
}
|
6334 |
-
|
6335 |
-
function isPatchable (vnode) {
|
6336 |
-
while (vnode.componentInstance) {
|
6337 |
-
vnode = vnode.componentInstance._vnode;
|
6338 |
-
}
|
6339 |
-
return isDef(vnode.tag)
|
6340 |
-
}
|
6341 |
-
|
6342 |
-
function invokeCreateHooks (vnode, insertedVnodeQueue) {
|
6343 |
-
for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
|
6344 |
-
cbs.create[i$1](emptyNode, vnode);
|
6345 |
-
}
|
6346 |
-
i = vnode.data.hook; // Reuse variable
|
6347 |
-
if (isDef(i)) {
|
6348 |
-
if (isDef(i.create)) { i.create(emptyNode, vnode); }
|
6349 |
-
if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }
|
6350 |
-
}
|
6351 |
-
}
|
6352 |
-
|
6353 |
-
// set scope id attribute for scoped CSS.
|
6354 |
-
// this is implemented as a special case to avoid the overhead
|
6355 |
-
// of going through the normal attribute patching process.
|
6356 |
-
function setScope (vnode) {
|
6357 |
-
var i;
|
6358 |
-
if (isDef(i = vnode.fnScopeId)) {
|
6359 |
-
nodeOps.setStyleScope(vnode.elm, i);
|
6360 |
-
} else {
|
6361 |
-
var ancestor = vnode;
|
6362 |
-
while (ancestor) {
|
6363 |
-
if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {
|
6364 |
-
nodeOps.setStyleScope(vnode.elm, i);
|
6365 |
-
}
|
6366 |
-
ancestor = ancestor.parent;
|
6367 |
-
}
|
6368 |
-
}
|
6369 |
-
// for slot content they should also get the scopeId from the host instance.
|
6370 |
-
if (isDef(i = activeInstance) &&
|
6371 |
-
i !== vnode.context &&
|
6372 |
-
i !== vnode.fnContext &&
|
6373 |
-
isDef(i = i.$options._scopeId)
|
6374 |
-
) {
|
6375 |
-
nodeOps.setStyleScope(vnode.elm, i);
|
6376 |
-
}
|
6377 |
-
}
|
6378 |
-
|
6379 |
-
function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {
|
6380 |
-
for (; startIdx <= endIdx; ++startIdx) {
|
6381 |
-
createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);
|
6382 |
-
}
|
6383 |
-
}
|
6384 |
-
|
6385 |
-
function invokeDestroyHook (vnode) {
|
6386 |
-
var i, j;
|
6387 |
-
var data = vnode.data;
|
6388 |
-
if (isDef(data)) {
|
6389 |
-
if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }
|
6390 |
-
for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }
|
6391 |
-
}
|
6392 |
-
if (isDef(i = vnode.children)) {
|
6393 |
-
for (j = 0; j < vnode.children.length; ++j) {
|
6394 |
-
invokeDestroyHook(vnode.children[j]);
|
6395 |
-
}
|
6396 |
-
}
|
6397 |
-
}
|
6398 |
-
|
6399 |
-
function removeVnodes (vnodes, startIdx, endIdx) {
|
6400 |
-
for (; startIdx <= endIdx; ++startIdx) {
|
6401 |
-
var ch = vnodes[startIdx];
|
6402 |
-
if (isDef(ch)) {
|
6403 |
-
if (isDef(ch.tag)) {
|
6404 |
-
removeAndInvokeRemoveHook(ch);
|
6405 |
-
invokeDestroyHook(ch);
|
6406 |
-
} else { // Text node
|
6407 |
-
removeNode(ch.elm);
|
6408 |
-
}
|
6409 |
-
}
|
6410 |
-
}
|
6411 |
-
}
|
6412 |
-
|
6413 |
-
function removeAndInvokeRemoveHook (vnode, rm) {
|
6414 |
-
if (isDef(rm) || isDef(vnode.data)) {
|
6415 |
-
var i;
|
6416 |
-
var listeners = cbs.remove.length + 1;
|
6417 |
-
if (isDef(rm)) {
|
6418 |
-
// we have a recursively passed down rm callback
|
6419 |
-
// increase the listeners count
|
6420 |
-
rm.listeners += listeners;
|
6421 |
-
} else {
|
6422 |
-
// directly removing
|
6423 |
-
rm = createRmCb(vnode.elm, listeners);
|
6424 |
-
}
|
6425 |
-
// recursively invoke hooks on child component root node
|
6426 |
-
if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {
|
6427 |
-
removeAndInvokeRemoveHook(i, rm);
|
6428 |
-
}
|
6429 |
-
for (i = 0; i < cbs.remove.length; ++i) {
|
6430 |
-
cbs.remove[i](vnode, rm);
|
6431 |
-
}
|
6432 |
-
if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {
|
6433 |
-
i(vnode, rm);
|
6434 |
-
} else {
|
6435 |
-
rm();
|
6436 |
-
}
|
6437 |
-
} else {
|
6438 |
-
removeNode(vnode.elm);
|
6439 |
-
}
|
6440 |
-
}
|
6441 |
-
|
6442 |
-
function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {
|
6443 |
-
var oldStartIdx = 0;
|
6444 |
-
var newStartIdx = 0;
|
6445 |
-
var oldEndIdx = oldCh.length - 1;
|
6446 |
-
var oldStartVnode = oldCh[0];
|
6447 |
-
var oldEndVnode = oldCh[oldEndIdx];
|
6448 |
-
var newEndIdx = newCh.length - 1;
|
6449 |
-
var newStartVnode = newCh[0];
|
6450 |
-
var newEndVnode = newCh[newEndIdx];
|
6451 |
-
var oldKeyToIdx, idxInOld, vnodeToMove, refElm;
|
6452 |
-
|
6453 |
-
// removeOnly is a special flag used only by <transition-group>
|
6454 |
-
// to ensure removed elements stay in correct relative positions
|
6455 |
-
// during leaving transitions
|
6456 |
-
var canMove = !removeOnly;
|
6457 |
-
|
6458 |
-
if (process.env.NODE_ENV !== 'production') {
|
6459 |
-
checkDuplicateKeys(newCh);
|
6460 |
-
}
|
6461 |
-
|
6462 |
-
while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
|
6463 |
-
if (isUndef(oldStartVnode)) {
|
6464 |
-
oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left
|
6465 |
-
} else if (isUndef(oldEndVnode)) {
|
6466 |
-
oldEndVnode = oldCh[--oldEndIdx];
|
6467 |
-
} else if (sameVnode(oldStartVnode, newStartVnode)) {
|
6468 |
-
patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
6469 |
-
oldStartVnode = oldCh[++oldStartIdx];
|
6470 |
-
newStartVnode = newCh[++newStartIdx];
|
6471 |
-
} else if (sameVnode(oldEndVnode, newEndVnode)) {
|
6472 |
-
patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);
|
6473 |
-
oldEndVnode = oldCh[--oldEndIdx];
|
6474 |
-
newEndVnode = newCh[--newEndIdx];
|
6475 |
-
} else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right
|
6476 |
-
patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);
|
6477 |
-
canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));
|
6478 |
-
oldStartVnode = oldCh[++oldStartIdx];
|
6479 |
-
newEndVnode = newCh[--newEndIdx];
|
6480 |
-
} else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left
|
6481 |
-
patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
6482 |
-
canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
|
6483 |
-
oldEndVnode = oldCh[--oldEndIdx];
|
6484 |
-
newStartVnode = newCh[++newStartIdx];
|
6485 |
-
} else {
|
6486 |
-
if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }
|
6487 |
-
idxInOld = isDef(newStartVnode.key)
|
6488 |
-
? oldKeyToIdx[newStartVnode.key]
|
6489 |
-
: findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);
|
6490 |
-
if (isUndef(idxInOld)) { // New element
|
6491 |
-
createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);
|
6492 |
-
} else {
|
6493 |
-
vnodeToMove = oldCh[idxInOld];
|
6494 |
-
if (sameVnode(vnodeToMove, newStartVnode)) {
|
6495 |
-
patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
6496 |
-
oldCh[idxInOld] = undefined;
|
6497 |
-
canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);
|
6498 |
-
} else {
|
6499 |
-
// same key but different element. treat as new element
|
6500 |
-
createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);
|
6501 |
-
}
|
6502 |
-
}
|
6503 |
-
newStartVnode = newCh[++newStartIdx];
|
6504 |
-
}
|
6505 |
-
}
|
6506 |
-
if (oldStartIdx > oldEndIdx) {
|
6507 |
-
refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;
|
6508 |
-
addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);
|
6509 |
-
} else if (newStartIdx > newEndIdx) {
|
6510 |
-
removeVnodes(oldCh, oldStartIdx, oldEndIdx);
|
6511 |
-
}
|
6512 |
-
}
|
6513 |
-
|
6514 |
-
function checkDuplicateKeys (children) {
|
6515 |
-
var seenKeys = {};
|
6516 |
-
for (var i = 0; i < children.length; i++) {
|
6517 |
-
var vnode = children[i];
|
6518 |
-
var key = vnode.key;
|
6519 |
-
if (isDef(key)) {
|
6520 |
-
if (seenKeys[key]) {
|
6521 |
-
warn(
|
6522 |
-
("Duplicate keys detected: '" + key + "'. This may cause an update error."),
|
6523 |
-
vnode.context
|
6524 |
-
);
|
6525 |
-
} else {
|
6526 |
-
seenKeys[key] = true;
|
6527 |
-
}
|
6528 |
-
}
|
6529 |
-
}
|
6530 |
-
}
|
6531 |
-
|
6532 |
-
function findIdxInOld (node, oldCh, start, end) {
|
6533 |
-
for (var i = start; i < end; i++) {
|
6534 |
-
var c = oldCh[i];
|
6535 |
-
if (isDef(c) && sameVnode(node, c)) { return i }
|
6536 |
-
}
|
6537 |
-
}
|
6538 |
-
|
6539 |
-
function patchVnode (
|
6540 |
-
oldVnode,
|
6541 |
-
vnode,
|
6542 |
-
insertedVnodeQueue,
|
6543 |
-
ownerArray,
|
6544 |
-
index,
|
6545 |
-
removeOnly
|
6546 |
-
) {
|
6547 |
-
if (oldVnode === vnode) {
|
6548 |
-
return
|
6549 |
-
}
|
6550 |
-
|
6551 |
-
if (isDef(vnode.elm) && isDef(ownerArray)) {
|
6552 |
-
// clone reused vnode
|
6553 |
-
vnode = ownerArray[index] = cloneVNode(vnode);
|
6554 |
-
}
|
6555 |
-
|
6556 |
-
var elm = vnode.elm = oldVnode.elm;
|
6557 |
-
|
6558 |
-
if (isTrue(oldVnode.isAsyncPlaceholder)) {
|
6559 |
-
if (isDef(vnode.asyncFactory.resolved)) {
|
6560 |
-
hydrate(oldVnode.elm, vnode, insertedVnodeQueue);
|
6561 |
-
} else {
|
6562 |
-
vnode.isAsyncPlaceholder = true;
|
6563 |
-
}
|
6564 |
-
return
|
6565 |
-
}
|
6566 |
-
|
6567 |
-
// reuse element for static trees.
|
6568 |
-
// note we only do this if the vnode is cloned -
|
6569 |
-
// if the new node is not cloned it means the render functions have been
|
6570 |
-
// reset by the hot-reload-api and we need to do a proper re-render.
|
6571 |
-
if (isTrue(vnode.isStatic) &&
|
6572 |
-
isTrue(oldVnode.isStatic) &&
|
6573 |
-
vnode.key === oldVnode.key &&
|
6574 |
-
(isTrue(vnode.isCloned) || isTrue(vnode.isOnce))
|
6575 |
-
) {
|
6576 |
-
vnode.componentInstance = oldVnode.componentInstance;
|
6577 |
-
return
|
6578 |
-
}
|
6579 |
-
|
6580 |
-
var i;
|
6581 |
-
var data = vnode.data;
|
6582 |
-
if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {
|
6583 |
-
i(oldVnode, vnode);
|
6584 |
-
}
|
6585 |
-
|
6586 |
-
var oldCh = oldVnode.children;
|
6587 |
-
var ch = vnode.children;
|
6588 |
-
if (isDef(data) && isPatchable(vnode)) {
|
6589 |
-
for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }
|
6590 |
-
if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }
|
6591 |
-
}
|
6592 |
-
if (isUndef(vnode.text)) {
|
6593 |
-
if (isDef(oldCh) && isDef(ch)) {
|
6594 |
-
if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }
|
6595 |
-
} else if (isDef(ch)) {
|
6596 |
-
if (process.env.NODE_ENV !== 'production') {
|
6597 |
-
checkDuplicateKeys(ch);
|
6598 |
-
}
|
6599 |
-
if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }
|
6600 |
-
addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);
|
6601 |
-
} else if (isDef(oldCh)) {
|
6602 |
-
removeVnodes(oldCh, 0, oldCh.length - 1);
|
6603 |
-
} else if (isDef(oldVnode.text)) {
|
6604 |
-
nodeOps.setTextContent(elm, '');
|
6605 |
-
}
|
6606 |
-
} else if (oldVnode.text !== vnode.text) {
|
6607 |
-
nodeOps.setTextContent(elm, vnode.text);
|
6608 |
-
}
|
6609 |
-
if (isDef(data)) {
|
6610 |
-
if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }
|
6611 |
-
}
|
6612 |
-
}
|
6613 |
-
|
6614 |
-
function invokeInsertHook (vnode, queue, initial) {
|
6615 |
-
// delay insert hooks for component root nodes, invoke them after the
|
6616 |
-
// element is really inserted
|
6617 |
-
if (isTrue(initial) && isDef(vnode.parent)) {
|
6618 |
-
vnode.parent.data.pendingInsert = queue;
|
6619 |
-
} else {
|
6620 |
-
for (var i = 0; i < queue.length; ++i) {
|
6621 |
-
queue[i].data.hook.insert(queue[i]);
|
6622 |
-
}
|
6623 |
-
}
|
6624 |
-
}
|
6625 |
-
|
6626 |
-
var hydrationBailed = false;
|
6627 |
-
// list of modules that can skip create hook during hydration because they
|
6628 |
-
// are already rendered on the client or has no need for initialization
|
6629 |
-
// Note: style is excluded because it relies on initial clone for future
|
6630 |
-
// deep updates (#7063).
|
6631 |
-
var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');
|
6632 |
-
|
6633 |
-
// Note: this is a browser-only function so we can assume elms are DOM nodes.
|
6634 |
-
function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {
|
6635 |
-
var i;
|
6636 |
-
var tag = vnode.tag;
|
6637 |
-
var data = vnode.data;
|
6638 |
-
var children = vnode.children;
|
6639 |
-
inVPre = inVPre || (data && data.pre);
|
6640 |
-
vnode.elm = elm;
|
6641 |
-
|
6642 |
-
if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {
|
6643 |
-
vnode.isAsyncPlaceholder = true;
|
6644 |
-
return true
|
6645 |
-
}
|
6646 |
-
// assert node match
|
6647 |
-
if (process.env.NODE_ENV !== 'production') {
|
6648 |
-
if (!assertNodeMatch(elm, vnode, inVPre)) {
|
6649 |
-
return false
|
6650 |
-
}
|
6651 |
-
}
|
6652 |
-
if (isDef(data)) {
|
6653 |
-
if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }
|
6654 |
-
if (isDef(i = vnode.componentInstance)) {
|
6655 |
-
// child component. it should have hydrated its own tree.
|
6656 |
-
initComponent(vnode, insertedVnodeQueue);
|
6657 |
-
return true
|
6658 |
-
}
|
6659 |
-
}
|
6660 |
-
if (isDef(tag)) {
|
6661 |
-
if (isDef(children)) {
|
6662 |
-
// empty element, allow client to pick up and populate children
|
6663 |
-
if (!elm.hasChildNodes()) {
|
6664 |
-
createChildren(vnode, children, insertedVnodeQueue);
|
6665 |
-
} else {
|
6666 |
-
// v-html and domProps: innerHTML
|
6667 |
-
if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {
|
6668 |
-
if (i !== elm.innerHTML) {
|
6669 |
-
/* istanbul ignore if */
|
6670 |
-
if (process.env.NODE_ENV !== 'production' &&
|
6671 |
-
typeof console !== 'undefined' &&
|
6672 |
-
!hydrationBailed
|
6673 |
-
) {
|
6674 |
-
hydrationBailed = true;
|
6675 |
-
console.warn('Parent: ', elm);
|
6676 |
-
console.warn('server innerHTML: ', i);
|
6677 |
-
console.warn('client innerHTML: ', elm.innerHTML);
|
6678 |
-
}
|
6679 |
-
return false
|
6680 |
-
}
|
6681 |
-
} else {
|
6682 |
-
// iterate and compare children lists
|
6683 |
-
var childrenMatch = true;
|
6684 |
-
var childNode = elm.firstChild;
|
6685 |
-
for (var i$1 = 0; i$1 < children.length; i$1++) {
|
6686 |
-
if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {
|
6687 |
-
childrenMatch = false;
|
6688 |
-
break
|
6689 |
-
}
|
6690 |
-
childNode = childNode.nextSibling;
|
6691 |
-
}
|
6692 |
-
// if childNode is not null, it means the actual childNodes list is
|
6693 |
-
// longer than the virtual children list.
|
6694 |
-
if (!childrenMatch || childNode) {
|
6695 |
-
/* istanbul ignore if */
|
6696 |
-
if (process.env.NODE_ENV !== 'production' &&
|
6697 |
-
typeof console !== 'undefined' &&
|
6698 |
-
!hydrationBailed
|
6699 |
-
) {
|
6700 |
-
hydrationBailed = true;
|
6701 |
-
console.warn('Parent: ', elm);
|
6702 |
-
console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);
|
6703 |
-
}
|
6704 |
-
return false
|
6705 |
-
}
|
6706 |
-
}
|
6707 |
-
}
|
6708 |
-
}
|
6709 |
-
if (isDef(data)) {
|
6710 |
-
var fullInvoke = false;
|
6711 |
-
for (var key in data) {
|
6712 |
-
if (!isRenderedModule(key)) {
|
6713 |
-
fullInvoke = true;
|
6714 |
-
invokeCreateHooks(vnode, insertedVnodeQueue);
|
6715 |
-
break
|
6716 |
-
}
|
6717 |
-
}
|
6718 |
-
if (!fullInvoke && data['class']) {
|
6719 |
-
// ensure collecting deps for deep class bindings for future updates
|
6720 |
-
traverse(data['class']);
|
6721 |
-
}
|
6722 |
-
}
|
6723 |
-
} else if (elm.data !== vnode.text) {
|
6724 |
-
elm.data = vnode.text;
|
6725 |
-
}
|
6726 |
-
return true
|
6727 |
-
}
|
6728 |
-
|
6729 |
-
function assertNodeMatch (node, vnode, inVPre) {
|
6730 |
-
if (isDef(vnode.tag)) {
|
6731 |
-
return vnode.tag.indexOf('vue-component') === 0 || (
|
6732 |
-
!isUnknownElement$$1(vnode, inVPre) &&
|
6733 |
-
vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())
|
6734 |
-
)
|
6735 |
-
} else {
|
6736 |
-
return node.nodeType === (vnode.isComment ? 8 : 3)
|
6737 |
-
}
|
6738 |
-
}
|
6739 |
-
|
6740 |
-
return function patch (oldVnode, vnode, hydrating, removeOnly) {
|
6741 |
-
if (isUndef(vnode)) {
|
6742 |
-
if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }
|
6743 |
-
return
|
6744 |
-
}
|
6745 |
-
|
6746 |
-
var isInitialPatch = false;
|
6747 |
-
var insertedVnodeQueue = [];
|
6748 |
-
|
6749 |
-
if (isUndef(oldVnode)) {
|
6750 |
-
// empty mount (likely as component), create new root element
|
6751 |
-
isInitialPatch = true;
|
6752 |
-
createElm(vnode, insertedVnodeQueue);
|
6753 |
-
} else {
|
6754 |
-
var isRealElement = isDef(oldVnode.nodeType);
|
6755 |
-
if (!isRealElement && sameVnode(oldVnode, vnode)) {
|
6756 |
-
// patch existing root node
|
6757 |
-
patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);
|
6758 |
-
} else {
|
6759 |
-
if (isRealElement) {
|
6760 |
-
// mounting to a real element
|
6761 |
-
// check if this is server-rendered content and if we can perform
|
6762 |
-
// a successful hydration.
|
6763 |
-
if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {
|
6764 |
-
oldVnode.removeAttribute(SSR_ATTR);
|
6765 |
-
hydrating = true;
|
6766 |
-
}
|
6767 |
-
if (isTrue(hydrating)) {
|
6768 |
-
if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {
|
6769 |
-
invokeInsertHook(vnode, insertedVnodeQueue, true);
|
6770 |
-
return oldVnode
|
6771 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
6772 |
-
warn(
|
6773 |
-
'The client-side rendered virtual DOM tree is not matching ' +
|
6774 |
-
'server-rendered content. This is likely caused by incorrect ' +
|
6775 |
-
'HTML markup, for example nesting block-level elements inside ' +
|
6776 |
-
'<p>, or missing <tbody>. Bailing hydration and performing ' +
|
6777 |
-
'full client-side render.'
|
6778 |
-
);
|
6779 |
-
}
|
6780 |
-
}
|
6781 |
-
// either not server-rendered, or hydration failed.
|
6782 |
-
// create an empty node and replace it
|
6783 |
-
oldVnode = emptyNodeAt(oldVnode);
|
6784 |
-
}
|
6785 |
-
|
6786 |
-
// replacing existing element
|
6787 |
-
var oldElm = oldVnode.elm;
|
6788 |
-
var parentElm = nodeOps.parentNode(oldElm);
|
6789 |
-
|
6790 |
-
// create new node
|
6791 |
-
createElm(
|
6792 |
-
vnode,
|
6793 |
-
insertedVnodeQueue,
|
6794 |
-
// extremely rare edge case: do not insert if old element is in a
|
6795 |
-
// leaving transition. Only happens when combining transition +
|
6796 |
-
// keep-alive + HOCs. (#4590)
|
6797 |
-
oldElm._leaveCb ? null : parentElm,
|
6798 |
-
nodeOps.nextSibling(oldElm)
|
6799 |
-
);
|
6800 |
-
|
6801 |
-
// update parent placeholder node element, recursively
|
6802 |
-
if (isDef(vnode.parent)) {
|
6803 |
-
var ancestor = vnode.parent;
|
6804 |
-
var patchable = isPatchable(vnode);
|
6805 |
-
while (ancestor) {
|
6806 |
-
for (var i = 0; i < cbs.destroy.length; ++i) {
|
6807 |
-
cbs.destroy[i](ancestor);
|
6808 |
-
}
|
6809 |
-
ancestor.elm = vnode.elm;
|
6810 |
-
if (patchable) {
|
6811 |
-
for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
|
6812 |
-
cbs.create[i$1](emptyNode, ancestor);
|
6813 |
-
}
|
6814 |
-
// #6513
|
6815 |
-
// invoke insert hooks that may have been merged by create hooks.
|
6816 |
-
// e.g. for directives that uses the "inserted" hook.
|
6817 |
-
var insert = ancestor.data.hook.insert;
|
6818 |
-
if (insert.merged) {
|
6819 |
-
// start at index 1 to avoid re-invoking component mounted hook
|
6820 |
-
for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {
|
6821 |
-
insert.fns[i$2]();
|
6822 |
-
}
|
6823 |
-
}
|
6824 |
-
} else {
|
6825 |
-
registerRef(ancestor);
|
6826 |
-
}
|
6827 |
-
ancestor = ancestor.parent;
|
6828 |
-
}
|
6829 |
-
}
|
6830 |
-
|
6831 |
-
// destroy old node
|
6832 |
-
if (isDef(parentElm)) {
|
6833 |
-
removeVnodes([oldVnode], 0, 0);
|
6834 |
-
} else if (isDef(oldVnode.tag)) {
|
6835 |
-
invokeDestroyHook(oldVnode);
|
6836 |
-
}
|
6837 |
-
}
|
6838 |
-
}
|
6839 |
-
|
6840 |
-
invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);
|
6841 |
-
return vnode.elm
|
6842 |
-
}
|
6843 |
-
}
|
6844 |
-
|
6845 |
-
/* */
|
6846 |
-
|
6847 |
-
var directives = {
|
6848 |
-
create: updateDirectives,
|
6849 |
-
update: updateDirectives,
|
6850 |
-
destroy: function unbindDirectives (vnode) {
|
6851 |
-
updateDirectives(vnode, emptyNode);
|
6852 |
-
}
|
6853 |
-
};
|
6854 |
-
|
6855 |
-
function updateDirectives (oldVnode, vnode) {
|
6856 |
-
if (oldVnode.data.directives || vnode.data.directives) {
|
6857 |
-
_update(oldVnode, vnode);
|
6858 |
-
}
|
6859 |
-
}
|
6860 |
-
|
6861 |
-
function _update (oldVnode, vnode) {
|
6862 |
-
var isCreate = oldVnode === emptyNode;
|
6863 |
-
var isDestroy = vnode === emptyNode;
|
6864 |
-
var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);
|
6865 |
-
var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);
|
6866 |
-
|
6867 |
-
var dirsWithInsert = [];
|
6868 |
-
var dirsWithPostpatch = [];
|
6869 |
-
|
6870 |
-
var key, oldDir, dir;
|
6871 |
-
for (key in newDirs) {
|
6872 |
-
oldDir = oldDirs[key];
|
6873 |
-
dir = newDirs[key];
|
6874 |
-
if (!oldDir) {
|
6875 |
-
// new directive, bind
|
6876 |
-
callHook$1(dir, 'bind', vnode, oldVnode);
|
6877 |
-
if (dir.def && dir.def.inserted) {
|
6878 |
-
dirsWithInsert.push(dir);
|
6879 |
-
}
|
6880 |
-
} else {
|
6881 |
-
// existing directive, update
|
6882 |
-
dir.oldValue = oldDir.value;
|
6883 |
-
dir.oldArg = oldDir.arg;
|
6884 |
-
callHook$1(dir, 'update', vnode, oldVnode);
|
6885 |
-
if (dir.def && dir.def.componentUpdated) {
|
6886 |
-
dirsWithPostpatch.push(dir);
|
6887 |
-
}
|
6888 |
-
}
|
6889 |
-
}
|
6890 |
-
|
6891 |
-
if (dirsWithInsert.length) {
|
6892 |
-
var callInsert = function () {
|
6893 |
-
for (var i = 0; i < dirsWithInsert.length; i++) {
|
6894 |
-
callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);
|
6895 |
-
}
|
6896 |
-
};
|
6897 |
-
if (isCreate) {
|
6898 |
-
mergeVNodeHook(vnode, 'insert', callInsert);
|
6899 |
-
} else {
|
6900 |
-
callInsert();
|
6901 |
-
}
|
6902 |
-
}
|
6903 |
-
|
6904 |
-
if (dirsWithPostpatch.length) {
|
6905 |
-
mergeVNodeHook(vnode, 'postpatch', function () {
|
6906 |
-
for (var i = 0; i < dirsWithPostpatch.length; i++) {
|
6907 |
-
callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);
|
6908 |
-
}
|
6909 |
-
});
|
6910 |
-
}
|
6911 |
-
|
6912 |
-
if (!isCreate) {
|
6913 |
-
for (key in oldDirs) {
|
6914 |
-
if (!newDirs[key]) {
|
6915 |
-
// no longer present, unbind
|
6916 |
-
callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);
|
6917 |
-
}
|
6918 |
-
}
|
6919 |
-
}
|
6920 |
-
}
|
6921 |
-
|
6922 |
-
var emptyModifiers = Object.create(null);
|
6923 |
-
|
6924 |
-
function normalizeDirectives$1 (
|
6925 |
-
dirs,
|
6926 |
-
vm
|
6927 |
-
) {
|
6928 |
-
var res = Object.create(null);
|
6929 |
-
if (!dirs) {
|
6930 |
-
// $flow-disable-line
|
6931 |
-
return res
|
6932 |
-
}
|
6933 |
-
var i, dir;
|
6934 |
-
for (i = 0; i < dirs.length; i++) {
|
6935 |
-
dir = dirs[i];
|
6936 |
-
if (!dir.modifiers) {
|
6937 |
-
// $flow-disable-line
|
6938 |
-
dir.modifiers = emptyModifiers;
|
6939 |
-
}
|
6940 |
-
res[getRawDirName(dir)] = dir;
|
6941 |
-
dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);
|
6942 |
-
}
|
6943 |
-
// $flow-disable-line
|
6944 |
-
return res
|
6945 |
-
}
|
6946 |
-
|
6947 |
-
function getRawDirName (dir) {
|
6948 |
-
return dir.rawName || ((dir.name) + "." + (Object.keys(dir.modifiers || {}).join('.')))
|
6949 |
-
}
|
6950 |
-
|
6951 |
-
function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {
|
6952 |
-
var fn = dir.def && dir.def[hook];
|
6953 |
-
if (fn) {
|
6954 |
-
try {
|
6955 |
-
fn(vnode.elm, dir, vnode, oldVnode, isDestroy);
|
6956 |
-
} catch (e) {
|
6957 |
-
handleError(e, vnode.context, ("directive " + (dir.name) + " " + hook + " hook"));
|
6958 |
-
}
|
6959 |
-
}
|
6960 |
-
}
|
6961 |
-
|
6962 |
-
var baseModules = [
|
6963 |
-
ref,
|
6964 |
-
directives
|
6965 |
-
];
|
6966 |
-
|
6967 |
-
/* */
|
6968 |
-
|
6969 |
-
function updateAttrs (oldVnode, vnode) {
|
6970 |
-
var opts = vnode.componentOptions;
|
6971 |
-
if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {
|
6972 |
-
return
|
6973 |
-
}
|
6974 |
-
if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {
|
6975 |
-
return
|
6976 |
-
}
|
6977 |
-
var key, cur, old;
|
6978 |
-
var elm = vnode.elm;
|
6979 |
-
var oldAttrs = oldVnode.data.attrs || {};
|
6980 |
-
var attrs = vnode.data.attrs || {};
|
6981 |
-
// clone observed objects, as the user probably wants to mutate it
|
6982 |
-
if (isDef(attrs.__ob__)) {
|
6983 |
-
attrs = vnode.data.attrs = extend({}, attrs);
|
6984 |
-
}
|
6985 |
-
|
6986 |
-
for (key in attrs) {
|
6987 |
-
cur = attrs[key];
|
6988 |
-
old = oldAttrs[key];
|
6989 |
-
if (old !== cur) {
|
6990 |
-
setAttr(elm, key, cur, vnode.data.pre);
|
6991 |
-
}
|
6992 |
-
}
|
6993 |
-
// #4391: in IE9, setting type can reset value for input[type=radio]
|
6994 |
-
// #6666: IE/Edge forces progress value down to 1 before setting a max
|
6995 |
-
/* istanbul ignore if */
|
6996 |
-
if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {
|
6997 |
-
setAttr(elm, 'value', attrs.value);
|
6998 |
-
}
|
6999 |
-
for (key in oldAttrs) {
|
7000 |
-
if (isUndef(attrs[key])) {
|
7001 |
-
if (isXlink(key)) {
|
7002 |
-
elm.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
7003 |
-
} else if (!isEnumeratedAttr(key)) {
|
7004 |
-
elm.removeAttribute(key);
|
7005 |
-
}
|
7006 |
-
}
|
7007 |
-
}
|
7008 |
-
}
|
7009 |
-
|
7010 |
-
function setAttr (el, key, value, isInPre) {
|
7011 |
-
if (isInPre || el.tagName.indexOf('-') > -1) {
|
7012 |
-
baseSetAttr(el, key, value);
|
7013 |
-
} else if (isBooleanAttr(key)) {
|
7014 |
-
// set attribute for blank value
|
7015 |
-
// e.g. <option disabled>Select one</option>
|
7016 |
-
if (isFalsyAttrValue(value)) {
|
7017 |
-
el.removeAttribute(key);
|
7018 |
-
} else {
|
7019 |
-
// technically allowfullscreen is a boolean attribute for <iframe>,
|
7020 |
-
// but Flash expects a value of "true" when used on <embed> tag
|
7021 |
-
value = key === 'allowfullscreen' && el.tagName === 'EMBED'
|
7022 |
-
? 'true'
|
7023 |
-
: key;
|
7024 |
-
el.setAttribute(key, value);
|
7025 |
-
}
|
7026 |
-
} else if (isEnumeratedAttr(key)) {
|
7027 |
-
el.setAttribute(key, convertEnumeratedValue(key, value));
|
7028 |
-
} else if (isXlink(key)) {
|
7029 |
-
if (isFalsyAttrValue(value)) {
|
7030 |
-
el.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
7031 |
-
} else {
|
7032 |
-
el.setAttributeNS(xlinkNS, key, value);
|
7033 |
-
}
|
7034 |
-
} else {
|
7035 |
-
baseSetAttr(el, key, value);
|
7036 |
-
}
|
7037 |
-
}
|
7038 |
-
|
7039 |
-
function baseSetAttr (el, key, value) {
|
7040 |
-
if (isFalsyAttrValue(value)) {
|
7041 |
-
el.removeAttribute(key);
|
7042 |
-
} else {
|
7043 |
-
// #7138: IE10 & 11 fires input event when setting placeholder on
|
7044 |
-
// <textarea>... block the first input event and remove the blocker
|
7045 |
-
// immediately.
|
7046 |
-
/* istanbul ignore if */
|
7047 |
-
if (
|
7048 |
-
isIE && !isIE9 &&
|
7049 |
-
el.tagName === 'TEXTAREA' &&
|
7050 |
-
key === 'placeholder' && value !== '' && !el.__ieph
|
7051 |
-
) {
|
7052 |
-
var blocker = function (e) {
|
7053 |
-
e.stopImmediatePropagation();
|
7054 |
-
el.removeEventListener('input', blocker);
|
7055 |
-
};
|
7056 |
-
el.addEventListener('input', blocker);
|
7057 |
-
// $flow-disable-line
|
7058 |
-
el.__ieph = true; /* IE placeholder patched */
|
7059 |
-
}
|
7060 |
-
el.setAttribute(key, value);
|
7061 |
-
}
|
7062 |
-
}
|
7063 |
-
|
7064 |
-
var attrs = {
|
7065 |
-
create: updateAttrs,
|
7066 |
-
update: updateAttrs
|
7067 |
-
};
|
7068 |
-
|
7069 |
-
/* */
|
7070 |
-
|
7071 |
-
function updateClass (oldVnode, vnode) {
|
7072 |
-
var el = vnode.elm;
|
7073 |
-
var data = vnode.data;
|
7074 |
-
var oldData = oldVnode.data;
|
7075 |
-
if (
|
7076 |
-
isUndef(data.staticClass) &&
|
7077 |
-
isUndef(data.class) && (
|
7078 |
-
isUndef(oldData) || (
|
7079 |
-
isUndef(oldData.staticClass) &&
|
7080 |
-
isUndef(oldData.class)
|
7081 |
-
)
|
7082 |
-
)
|
7083 |
-
) {
|
7084 |
-
return
|
7085 |
-
}
|
7086 |
-
|
7087 |
-
var cls = genClassForVnode(vnode);
|
7088 |
-
|
7089 |
-
// handle transition classes
|
7090 |
-
var transitionClass = el._transitionClasses;
|
7091 |
-
if (isDef(transitionClass)) {
|
7092 |
-
cls = concat(cls, stringifyClass(transitionClass));
|
7093 |
-
}
|
7094 |
-
|
7095 |
-
// set the class
|
7096 |
-
if (cls !== el._prevClass) {
|
7097 |
-
el.setAttribute('class', cls);
|
7098 |
-
el._prevClass = cls;
|
7099 |
-
}
|
7100 |
-
}
|
7101 |
-
|
7102 |
-
var klass = {
|
7103 |
-
create: updateClass,
|
7104 |
-
update: updateClass
|
7105 |
-
};
|
7106 |
-
|
7107 |
-
/* */
|
7108 |
-
|
7109 |
-
var validDivisionCharRE = /[\w).+\-_$\]]/;
|
7110 |
-
|
7111 |
-
function parseFilters (exp) {
|
7112 |
-
var inSingle = false;
|
7113 |
-
var inDouble = false;
|
7114 |
-
var inTemplateString = false;
|
7115 |
-
var inRegex = false;
|
7116 |
-
var curly = 0;
|
7117 |
-
var square = 0;
|
7118 |
-
var paren = 0;
|
7119 |
-
var lastFilterIndex = 0;
|
7120 |
-
var c, prev, i, expression, filters;
|
7121 |
-
|
7122 |
-
for (i = 0; i < exp.length; i++) {
|
7123 |
-
prev = c;
|
7124 |
-
c = exp.charCodeAt(i);
|
7125 |
-
if (inSingle) {
|
7126 |
-
if (c === 0x27 && prev !== 0x5C) { inSingle = false; }
|
7127 |
-
} else if (inDouble) {
|
7128 |
-
if (c === 0x22 && prev !== 0x5C) { inDouble = false; }
|
7129 |
-
} else if (inTemplateString) {
|
7130 |
-
if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }
|
7131 |
-
} else if (inRegex) {
|
7132 |
-
if (c === 0x2f && prev !== 0x5C) { inRegex = false; }
|
7133 |
-
} else if (
|
7134 |
-
c === 0x7C && // pipe
|
7135 |
-
exp.charCodeAt(i + 1) !== 0x7C &&
|
7136 |
-
exp.charCodeAt(i - 1) !== 0x7C &&
|
7137 |
-
!curly && !square && !paren
|
7138 |
-
) {
|
7139 |
-
if (expression === undefined) {
|
7140 |
-
// first filter, end of expression
|
7141 |
-
lastFilterIndex = i + 1;
|
7142 |
-
expression = exp.slice(0, i).trim();
|
7143 |
-
} else {
|
7144 |
-
pushFilter();
|
7145 |
-
}
|
7146 |
-
} else {
|
7147 |
-
switch (c) {
|
7148 |
-
case 0x22: inDouble = true; break // "
|
7149 |
-
case 0x27: inSingle = true; break // '
|
7150 |
-
case 0x60: inTemplateString = true; break // `
|
7151 |
-
case 0x28: paren++; break // (
|
7152 |
-
case 0x29: paren--; break // )
|
7153 |
-
case 0x5B: square++; break // [
|
7154 |
-
case 0x5D: square--; break // ]
|
7155 |
-
case 0x7B: curly++; break // {
|
7156 |
-
case 0x7D: curly--; break // }
|
7157 |
-
}
|
7158 |
-
if (c === 0x2f) { // /
|
7159 |
-
var j = i - 1;
|
7160 |
-
var p = (void 0);
|
7161 |
-
// find first non-whitespace prev char
|
7162 |
-
for (; j >= 0; j--) {
|
7163 |
-
p = exp.charAt(j);
|
7164 |
-
if (p !== ' ') { break }
|
7165 |
-
}
|
7166 |
-
if (!p || !validDivisionCharRE.test(p)) {
|
7167 |
-
inRegex = true;
|
7168 |
-
}
|
7169 |
-
}
|
7170 |
-
}
|
7171 |
-
}
|
7172 |
-
|
7173 |
-
if (expression === undefined) {
|
7174 |
-
expression = exp.slice(0, i).trim();
|
7175 |
-
} else if (lastFilterIndex !== 0) {
|
7176 |
-
pushFilter();
|
7177 |
-
}
|
7178 |
-
|
7179 |
-
function pushFilter () {
|
7180 |
-
(filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());
|
7181 |
-
lastFilterIndex = i + 1;
|
7182 |
-
}
|
7183 |
-
|
7184 |
-
if (filters) {
|
7185 |
-
for (i = 0; i < filters.length; i++) {
|
7186 |
-
expression = wrapFilter(expression, filters[i]);
|
7187 |
-
}
|
7188 |
-
}
|
7189 |
-
|
7190 |
-
return expression
|
7191 |
-
}
|
7192 |
-
|
7193 |
-
function wrapFilter (exp, filter) {
|
7194 |
-
var i = filter.indexOf('(');
|
7195 |
-
if (i < 0) {
|
7196 |
-
// _f: resolveFilter
|
7197 |
-
return ("_f(\"" + filter + "\")(" + exp + ")")
|
7198 |
-
} else {
|
7199 |
-
var name = filter.slice(0, i);
|
7200 |
-
var args = filter.slice(i + 1);
|
7201 |
-
return ("_f(\"" + name + "\")(" + exp + (args !== ')' ? ',' + args : args))
|
7202 |
-
}
|
7203 |
-
}
|
7204 |
-
|
7205 |
-
/* */
|
7206 |
-
|
7207 |
-
|
7208 |
-
|
7209 |
-
/* eslint-disable no-unused-vars */
|
7210 |
-
function baseWarn (msg, range) {
|
7211 |
-
console.error(("[Vue compiler]: " + msg));
|
7212 |
-
}
|
7213 |
-
/* eslint-enable no-unused-vars */
|
7214 |
-
|
7215 |
-
function pluckModuleFunction (
|
7216 |
-
modules,
|
7217 |
-
key
|
7218 |
-
) {
|
7219 |
-
return modules
|
7220 |
-
? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })
|
7221 |
-
: []
|
7222 |
-
}
|
7223 |
-
|
7224 |
-
function addProp (el, name, value, range, dynamic) {
|
7225 |
-
(el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));
|
7226 |
-
el.plain = false;
|
7227 |
-
}
|
7228 |
-
|
7229 |
-
function addAttr (el, name, value, range, dynamic) {
|
7230 |
-
var attrs = dynamic
|
7231 |
-
? (el.dynamicAttrs || (el.dynamicAttrs = []))
|
7232 |
-
: (el.attrs || (el.attrs = []));
|
7233 |
-
attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));
|
7234 |
-
el.plain = false;
|
7235 |
-
}
|
7236 |
-
|
7237 |
-
// add a raw attr (use this in preTransforms)
|
7238 |
-
function addRawAttr (el, name, value, range) {
|
7239 |
-
el.attrsMap[name] = value;
|
7240 |
-
el.attrsList.push(rangeSetItem({ name: name, value: value }, range));
|
7241 |
-
}
|
7242 |
-
|
7243 |
-
function addDirective (
|
7244 |
-
el,
|
7245 |
-
name,
|
7246 |
-
rawName,
|
7247 |
-
value,
|
7248 |
-
arg,
|
7249 |
-
isDynamicArg,
|
7250 |
-
modifiers,
|
7251 |
-
range
|
7252 |
-
) {
|
7253 |
-
(el.directives || (el.directives = [])).push(rangeSetItem({
|
7254 |
-
name: name,
|
7255 |
-
rawName: rawName,
|
7256 |
-
value: value,
|
7257 |
-
arg: arg,
|
7258 |
-
isDynamicArg: isDynamicArg,
|
7259 |
-
modifiers: modifiers
|
7260 |
-
}, range));
|
7261 |
-
el.plain = false;
|
7262 |
-
}
|
7263 |
-
|
7264 |
-
function prependModifierMarker (symbol, name, dynamic) {
|
7265 |
-
return dynamic
|
7266 |
-
? ("_p(" + name + ",\"" + symbol + "\")")
|
7267 |
-
: symbol + name // mark the event as captured
|
7268 |
-
}
|
7269 |
-
|
7270 |
-
function addHandler (
|
7271 |
-
el,
|
7272 |
-
name,
|
7273 |
-
value,
|
7274 |
-
modifiers,
|
7275 |
-
important,
|
7276 |
-
warn,
|
7277 |
-
range,
|
7278 |
-
dynamic
|
7279 |
-
) {
|
7280 |
-
modifiers = modifiers || emptyObject;
|
7281 |
-
// warn prevent and passive modifier
|
7282 |
-
/* istanbul ignore if */
|
7283 |
-
if (
|
7284 |
-
process.env.NODE_ENV !== 'production' && warn &&
|
7285 |
-
modifiers.prevent && modifiers.passive
|
7286 |
-
) {
|
7287 |
-
warn(
|
7288 |
-
'passive and prevent can\'t be used together. ' +
|
7289 |
-
'Passive handler can\'t prevent default event.',
|
7290 |
-
range
|
7291 |
-
);
|
7292 |
-
}
|
7293 |
-
|
7294 |
-
// normalize click.right and click.middle since they don't actually fire
|
7295 |
-
// this is technically browser-specific, but at least for now browsers are
|
7296 |
-
// the only target envs that have right/middle clicks.
|
7297 |
-
if (modifiers.right) {
|
7298 |
-
if (dynamic) {
|
7299 |
-
name = "(" + name + ")==='click'?'contextmenu':(" + name + ")";
|
7300 |
-
} else if (name === 'click') {
|
7301 |
-
name = 'contextmenu';
|
7302 |
-
delete modifiers.right;
|
7303 |
-
}
|
7304 |
-
} else if (modifiers.middle) {
|
7305 |
-
if (dynamic) {
|
7306 |
-
name = "(" + name + ")==='click'?'mouseup':(" + name + ")";
|
7307 |
-
} else if (name === 'click') {
|
7308 |
-
name = 'mouseup';
|
7309 |
-
}
|
7310 |
-
}
|
7311 |
-
|
7312 |
-
// check capture modifier
|
7313 |
-
if (modifiers.capture) {
|
7314 |
-
delete modifiers.capture;
|
7315 |
-
name = prependModifierMarker('!', name, dynamic);
|
7316 |
-
}
|
7317 |
-
if (modifiers.once) {
|
7318 |
-
delete modifiers.once;
|
7319 |
-
name = prependModifierMarker('~', name, dynamic);
|
7320 |
-
}
|
7321 |
-
/* istanbul ignore if */
|
7322 |
-
if (modifiers.passive) {
|
7323 |
-
delete modifiers.passive;
|
7324 |
-
name = prependModifierMarker('&', name, dynamic);
|
7325 |
-
}
|
7326 |
-
|
7327 |
-
var events;
|
7328 |
-
if (modifiers.native) {
|
7329 |
-
delete modifiers.native;
|
7330 |
-
events = el.nativeEvents || (el.nativeEvents = {});
|
7331 |
-
} else {
|
7332 |
-
events = el.events || (el.events = {});
|
7333 |
-
}
|
7334 |
-
|
7335 |
-
var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);
|
7336 |
-
if (modifiers !== emptyObject) {
|
7337 |
-
newHandler.modifiers = modifiers;
|
7338 |
-
}
|
7339 |
-
|
7340 |
-
var handlers = events[name];
|
7341 |
-
/* istanbul ignore if */
|
7342 |
-
if (Array.isArray(handlers)) {
|
7343 |
-
important ? handlers.unshift(newHandler) : handlers.push(newHandler);
|
7344 |
-
} else if (handlers) {
|
7345 |
-
events[name] = important ? [newHandler, handlers] : [handlers, newHandler];
|
7346 |
-
} else {
|
7347 |
-
events[name] = newHandler;
|
7348 |
-
}
|
7349 |
-
|
7350 |
-
el.plain = false;
|
7351 |
-
}
|
7352 |
-
|
7353 |
-
function getRawBindingAttr (
|
7354 |
-
el,
|
7355 |
-
name
|
7356 |
-
) {
|
7357 |
-
return el.rawAttrsMap[':' + name] ||
|
7358 |
-
el.rawAttrsMap['v-bind:' + name] ||
|
7359 |
-
el.rawAttrsMap[name]
|
7360 |
-
}
|
7361 |
-
|
7362 |
-
function getBindingAttr (
|
7363 |
-
el,
|
7364 |
-
name,
|
7365 |
-
getStatic
|
7366 |
-
) {
|
7367 |
-
var dynamicValue =
|
7368 |
-
getAndRemoveAttr(el, ':' + name) ||
|
7369 |
-
getAndRemoveAttr(el, 'v-bind:' + name);
|
7370 |
-
if (dynamicValue != null) {
|
7371 |
-
return parseFilters(dynamicValue)
|
7372 |
-
} else if (getStatic !== false) {
|
7373 |
-
var staticValue = getAndRemoveAttr(el, name);
|
7374 |
-
if (staticValue != null) {
|
7375 |
-
return JSON.stringify(staticValue)
|
7376 |
-
}
|
7377 |
-
}
|
7378 |
-
}
|
7379 |
-
|
7380 |
-
// note: this only removes the attr from the Array (attrsList) so that it
|
7381 |
-
// doesn't get processed by processAttrs.
|
7382 |
-
// By default it does NOT remove it from the map (attrsMap) because the map is
|
7383 |
-
// needed during codegen.
|
7384 |
-
function getAndRemoveAttr (
|
7385 |
-
el,
|
7386 |
-
name,
|
7387 |
-
removeFromMap
|
7388 |
-
) {
|
7389 |
-
var val;
|
7390 |
-
if ((val = el.attrsMap[name]) != null) {
|
7391 |
-
var list = el.attrsList;
|
7392 |
-
for (var i = 0, l = list.length; i < l; i++) {
|
7393 |
-
if (list[i].name === name) {
|
7394 |
-
list.splice(i, 1);
|
7395 |
-
break
|
7396 |
-
}
|
7397 |
-
}
|
7398 |
-
}
|
7399 |
-
if (removeFromMap) {
|
7400 |
-
delete el.attrsMap[name];
|
7401 |
-
}
|
7402 |
-
return val
|
7403 |
-
}
|
7404 |
-
|
7405 |
-
function getAndRemoveAttrByRegex (
|
7406 |
-
el,
|
7407 |
-
name
|
7408 |
-
) {
|
7409 |
-
var list = el.attrsList;
|
7410 |
-
for (var i = 0, l = list.length; i < l; i++) {
|
7411 |
-
var attr = list[i];
|
7412 |
-
if (name.test(attr.name)) {
|
7413 |
-
list.splice(i, 1);
|
7414 |
-
return attr
|
7415 |
-
}
|
7416 |
-
}
|
7417 |
-
}
|
7418 |
-
|
7419 |
-
function rangeSetItem (
|
7420 |
-
item,
|
7421 |
-
range
|
7422 |
-
) {
|
7423 |
-
if (range) {
|
7424 |
-
if (range.start != null) {
|
7425 |
-
item.start = range.start;
|
7426 |
-
}
|
7427 |
-
if (range.end != null) {
|
7428 |
-
item.end = range.end;
|
7429 |
-
}
|
7430 |
-
}
|
7431 |
-
return item
|
7432 |
-
}
|
7433 |
-
|
7434 |
-
/* */
|
7435 |
-
|
7436 |
-
/**
|
7437 |
-
* Cross-platform code generation for component v-model
|
7438 |
-
*/
|
7439 |
-
function genComponentModel (
|
7440 |
-
el,
|
7441 |
-
value,
|
7442 |
-
modifiers
|
7443 |
-
) {
|
7444 |
-
var ref = modifiers || {};
|
7445 |
-
var number = ref.number;
|
7446 |
-
var trim = ref.trim;
|
7447 |
-
|
7448 |
-
var baseValueExpression = '$$v';
|
7449 |
-
var valueExpression = baseValueExpression;
|
7450 |
-
if (trim) {
|
7451 |
-
valueExpression =
|
7452 |
-
"(typeof " + baseValueExpression + " === 'string'" +
|
7453 |
-
"? " + baseValueExpression + ".trim()" +
|
7454 |
-
": " + baseValueExpression + ")";
|
7455 |
-
}
|
7456 |
-
if (number) {
|
7457 |
-
valueExpression = "_n(" + valueExpression + ")";
|
7458 |
-
}
|
7459 |
-
var assignment = genAssignmentCode(value, valueExpression);
|
7460 |
-
|
7461 |
-
el.model = {
|
7462 |
-
value: ("(" + value + ")"),
|
7463 |
-
expression: JSON.stringify(value),
|
7464 |
-
callback: ("function (" + baseValueExpression + ") {" + assignment + "}")
|
7465 |
-
};
|
7466 |
-
}
|
7467 |
-
|
7468 |
-
/**
|
7469 |
-
* Cross-platform codegen helper for generating v-model value assignment code.
|
7470 |
-
*/
|
7471 |
-
function genAssignmentCode (
|
7472 |
-
value,
|
7473 |
-
assignment
|
7474 |
-
) {
|
7475 |
-
var res = parseModel(value);
|
7476 |
-
if (res.key === null) {
|
7477 |
-
return (value + "=" + assignment)
|
7478 |
-
} else {
|
7479 |
-
return ("$set(" + (res.exp) + ", " + (res.key) + ", " + assignment + ")")
|
7480 |
-
}
|
7481 |
-
}
|
7482 |
-
|
7483 |
-
/**
|
7484 |
-
* Parse a v-model expression into a base path and a final key segment.
|
7485 |
-
* Handles both dot-path and possible square brackets.
|
7486 |
-
*
|
7487 |
-
* Possible cases:
|
7488 |
-
*
|
7489 |
-
* - test
|
7490 |
-
* - test[key]
|
7491 |
-
* - test[test1[key]]
|
7492 |
-
* - test["a"][key]
|
7493 |
-
* - xxx.test[a[a].test1[key]]
|
7494 |
-
* - test.xxx.a["asa"][test1[key]]
|
7495 |
-
*
|
7496 |
-
*/
|
7497 |
-
|
7498 |
-
var len, str, chr, index$1, expressionPos, expressionEndPos;
|
7499 |
-
|
7500 |
-
|
7501 |
-
|
7502 |
-
function parseModel (val) {
|
7503 |
-
// Fix https://github.com/vuejs/vue/pull/7730
|
7504 |
-
// allow v-model="obj.val " (trailing whitespace)
|
7505 |
-
val = val.trim();
|
7506 |
-
len = val.length;
|
7507 |
-
|
7508 |
-
if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {
|
7509 |
-
index$1 = val.lastIndexOf('.');
|
7510 |
-
if (index$1 > -1) {
|
7511 |
-
return {
|
7512 |
-
exp: val.slice(0, index$1),
|
7513 |
-
key: '"' + val.slice(index$1 + 1) + '"'
|
7514 |
-
}
|
7515 |
-
} else {
|
7516 |
-
return {
|
7517 |
-
exp: val,
|
7518 |
-
key: null
|
7519 |
-
}
|
7520 |
-
}
|
7521 |
-
}
|
7522 |
-
|
7523 |
-
str = val;
|
7524 |
-
index$1 = expressionPos = expressionEndPos = 0;
|
7525 |
-
|
7526 |
-
while (!eof()) {
|
7527 |
-
chr = next();
|
7528 |
-
/* istanbul ignore if */
|
7529 |
-
if (isStringStart(chr)) {
|
7530 |
-
parseString(chr);
|
7531 |
-
} else if (chr === 0x5B) {
|
7532 |
-
parseBracket(chr);
|
7533 |
-
}
|
7534 |
-
}
|
7535 |
-
|
7536 |
-
return {
|
7537 |
-
exp: val.slice(0, expressionPos),
|
7538 |
-
key: val.slice(expressionPos + 1, expressionEndPos)
|
7539 |
-
}
|
7540 |
-
}
|
7541 |
-
|
7542 |
-
function next () {
|
7543 |
-
return str.charCodeAt(++index$1)
|
7544 |
-
}
|
7545 |
-
|
7546 |
-
function eof () {
|
7547 |
-
return index$1 >= len
|
7548 |
-
}
|
7549 |
-
|
7550 |
-
function isStringStart (chr) {
|
7551 |
-
return chr === 0x22 || chr === 0x27
|
7552 |
-
}
|
7553 |
-
|
7554 |
-
function parseBracket (chr) {
|
7555 |
-
var inBracket = 1;
|
7556 |
-
expressionPos = index$1;
|
7557 |
-
while (!eof()) {
|
7558 |
-
chr = next();
|
7559 |
-
if (isStringStart(chr)) {
|
7560 |
-
parseString(chr);
|
7561 |
-
continue
|
7562 |
-
}
|
7563 |
-
if (chr === 0x5B) { inBracket++; }
|
7564 |
-
if (chr === 0x5D) { inBracket--; }
|
7565 |
-
if (inBracket === 0) {
|
7566 |
-
expressionEndPos = index$1;
|
7567 |
-
break
|
7568 |
-
}
|
7569 |
-
}
|
7570 |
-
}
|
7571 |
-
|
7572 |
-
function parseString (chr) {
|
7573 |
-
var stringQuote = chr;
|
7574 |
-
while (!eof()) {
|
7575 |
-
chr = next();
|
7576 |
-
if (chr === stringQuote) {
|
7577 |
-
break
|
7578 |
-
}
|
7579 |
-
}
|
7580 |
-
}
|
7581 |
-
|
7582 |
-
/* */
|
7583 |
-
|
7584 |
-
var warn$1;
|
7585 |
-
|
7586 |
-
// in some cases, the event used has to be determined at runtime
|
7587 |
-
// so we used some reserved tokens during compile.
|
7588 |
-
var RANGE_TOKEN = '__r';
|
7589 |
-
var CHECKBOX_RADIO_TOKEN = '__c';
|
7590 |
-
|
7591 |
-
function model (
|
7592 |
-
el,
|
7593 |
-
dir,
|
7594 |
-
_warn
|
7595 |
-
) {
|
7596 |
-
warn$1 = _warn;
|
7597 |
-
var value = dir.value;
|
7598 |
-
var modifiers = dir.modifiers;
|
7599 |
-
var tag = el.tag;
|
7600 |
-
var type = el.attrsMap.type;
|
7601 |
-
|
7602 |
-
if (process.env.NODE_ENV !== 'production') {
|
7603 |
-
// inputs with type="file" are read only and setting the input's
|
7604 |
-
// value will throw an error.
|
7605 |
-
if (tag === 'input' && type === 'file') {
|
7606 |
-
warn$1(
|
7607 |
-
"<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" +
|
7608 |
-
"File inputs are read only. Use a v-on:change listener instead.",
|
7609 |
-
el.rawAttrsMap['v-model']
|
7610 |
-
);
|
7611 |
-
}
|
7612 |
-
}
|
7613 |
-
|
7614 |
-
if (el.component) {
|
7615 |
-
genComponentModel(el, value, modifiers);
|
7616 |
-
// component v-model doesn't need extra runtime
|
7617 |
-
return false
|
7618 |
-
} else if (tag === 'select') {
|
7619 |
-
genSelect(el, value, modifiers);
|
7620 |
-
} else if (tag === 'input' && type === 'checkbox') {
|
7621 |
-
genCheckboxModel(el, value, modifiers);
|
7622 |
-
} else if (tag === 'input' && type === 'radio') {
|
7623 |
-
genRadioModel(el, value, modifiers);
|
7624 |
-
} else if (tag === 'input' || tag === 'textarea') {
|
7625 |
-
genDefaultModel(el, value, modifiers);
|
7626 |
-
} else if (!config.isReservedTag(tag)) {
|
7627 |
-
genComponentModel(el, value, modifiers);
|
7628 |
-
// component v-model doesn't need extra runtime
|
7629 |
-
return false
|
7630 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
7631 |
-
warn$1(
|
7632 |
-
"<" + (el.tag) + " v-model=\"" + value + "\">: " +
|
7633 |
-
"v-model is not supported on this element type. " +
|
7634 |
-
'If you are working with contenteditable, it\'s recommended to ' +
|
7635 |
-
'wrap a library dedicated for that purpose inside a custom component.',
|
7636 |
-
el.rawAttrsMap['v-model']
|
7637 |
-
);
|
7638 |
-
}
|
7639 |
-
|
7640 |
-
// ensure runtime directive metadata
|
7641 |
-
return true
|
7642 |
-
}
|
7643 |
-
|
7644 |
-
function genCheckboxModel (
|
7645 |
-
el,
|
7646 |
-
value,
|
7647 |
-
modifiers
|
7648 |
-
) {
|
7649 |
-
var number = modifiers && modifiers.number;
|
7650 |
-
var valueBinding = getBindingAttr(el, 'value') || 'null';
|
7651 |
-
var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';
|
7652 |
-
var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';
|
7653 |
-
addProp(el, 'checked',
|
7654 |
-
"Array.isArray(" + value + ")" +
|
7655 |
-
"?_i(" + value + "," + valueBinding + ")>-1" + (
|
7656 |
-
trueValueBinding === 'true'
|
7657 |
-
? (":(" + value + ")")
|
7658 |
-
: (":_q(" + value + "," + trueValueBinding + ")")
|
7659 |
-
)
|
7660 |
-
);
|
7661 |
-
addHandler(el, 'change',
|
7662 |
-
"var $$a=" + value + "," +
|
7663 |
-
'$$el=$event.target,' +
|
7664 |
-
"$$c=$$el.checked?(" + trueValueBinding + "):(" + falseValueBinding + ");" +
|
7665 |
-
'if(Array.isArray($$a)){' +
|
7666 |
-
"var $$v=" + (number ? '_n(' + valueBinding + ')' : valueBinding) + "," +
|
7667 |
-
'$$i=_i($$a,$$v);' +
|
7668 |
-
"if($$el.checked){$$i<0&&(" + (genAssignmentCode(value, '$$a.concat([$$v])')) + ")}" +
|
7669 |
-
"else{$$i>-1&&(" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + ")}" +
|
7670 |
-
"}else{" + (genAssignmentCode(value, '$$c')) + "}",
|
7671 |
-
null, true
|
7672 |
-
);
|
7673 |
-
}
|
7674 |
-
|
7675 |
-
function genRadioModel (
|
7676 |
-
el,
|
7677 |
-
value,
|
7678 |
-
modifiers
|
7679 |
-
) {
|
7680 |
-
var number = modifiers && modifiers.number;
|
7681 |
-
var valueBinding = getBindingAttr(el, 'value') || 'null';
|
7682 |
-
valueBinding = number ? ("_n(" + valueBinding + ")") : valueBinding;
|
7683 |
-
addProp(el, 'checked', ("_q(" + value + "," + valueBinding + ")"));
|
7684 |
-
addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);
|
7685 |
-
}
|
7686 |
-
|
7687 |
-
function genSelect (
|
7688 |
-
el,
|
7689 |
-
value,
|
7690 |
-
modifiers
|
7691 |
-
) {
|
7692 |
-
var number = modifiers && modifiers.number;
|
7693 |
-
var selectedVal = "Array.prototype.filter" +
|
7694 |
-
".call($event.target.options,function(o){return o.selected})" +
|
7695 |
-
".map(function(o){var val = \"_value\" in o ? o._value : o.value;" +
|
7696 |
-
"return " + (number ? '_n(val)' : 'val') + "})";
|
7697 |
-
|
7698 |
-
var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';
|
7699 |
-
var code = "var $$selectedVal = " + selectedVal + ";";
|
7700 |
-
code = code + " " + (genAssignmentCode(value, assignment));
|
7701 |
-
addHandler(el, 'change', code, null, true);
|
7702 |
-
}
|
7703 |
-
|
7704 |
-
function genDefaultModel (
|
7705 |
-
el,
|
7706 |
-
value,
|
7707 |
-
modifiers
|
7708 |
-
) {
|
7709 |
-
var type = el.attrsMap.type;
|
7710 |
-
|
7711 |
-
// warn if v-bind:value conflicts with v-model
|
7712 |
-
// except for inputs with v-bind:type
|
7713 |
-
if (process.env.NODE_ENV !== 'production') {
|
7714 |
-
var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];
|
7715 |
-
var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];
|
7716 |
-
if (value$1 && !typeBinding) {
|
7717 |
-
var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';
|
7718 |
-
warn$1(
|
7719 |
-
binding + "=\"" + value$1 + "\" conflicts with v-model on the same element " +
|
7720 |
-
'because the latter already expands to a value binding internally',
|
7721 |
-
el.rawAttrsMap[binding]
|
7722 |
-
);
|
7723 |
-
}
|
7724 |
-
}
|
7725 |
-
|
7726 |
-
var ref = modifiers || {};
|
7727 |
-
var lazy = ref.lazy;
|
7728 |
-
var number = ref.number;
|
7729 |
-
var trim = ref.trim;
|
7730 |
-
var needCompositionGuard = !lazy && type !== 'range';
|
7731 |
-
var event = lazy
|
7732 |
-
? 'change'
|
7733 |
-
: type === 'range'
|
7734 |
-
? RANGE_TOKEN
|
7735 |
-
: 'input';
|
7736 |
-
|
7737 |
-
var valueExpression = '$event.target.value';
|
7738 |
-
if (trim) {
|
7739 |
-
valueExpression = "$event.target.value.trim()";
|
7740 |
-
}
|
7741 |
-
if (number) {
|
7742 |
-
valueExpression = "_n(" + valueExpression + ")";
|
7743 |
-
}
|
7744 |
-
|
7745 |
-
var code = genAssignmentCode(value, valueExpression);
|
7746 |
-
if (needCompositionGuard) {
|
7747 |
-
code = "if($event.target.composing)return;" + code;
|
7748 |
-
}
|
7749 |
-
|
7750 |
-
addProp(el, 'value', ("(" + value + ")"));
|
7751 |
-
addHandler(el, event, code, null, true);
|
7752 |
-
if (trim || number) {
|
7753 |
-
addHandler(el, 'blur', '$forceUpdate()');
|
7754 |
-
}
|
7755 |
-
}
|
7756 |
-
|
7757 |
-
/* */
|
7758 |
-
|
7759 |
-
// normalize v-model event tokens that can only be determined at runtime.
|
7760 |
-
// it's important to place the event as the first in the array because
|
7761 |
-
// the whole point is ensuring the v-model callback gets called before
|
7762 |
-
// user-attached handlers.
|
7763 |
-
function normalizeEvents (on) {
|
7764 |
-
/* istanbul ignore if */
|
7765 |
-
if (isDef(on[RANGE_TOKEN])) {
|
7766 |
-
// IE input[type=range] only supports `change` event
|
7767 |
-
var event = isIE ? 'change' : 'input';
|
7768 |
-
on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);
|
7769 |
-
delete on[RANGE_TOKEN];
|
7770 |
-
}
|
7771 |
-
// This was originally intended to fix #4521 but no longer necessary
|
7772 |
-
// after 2.5. Keeping it for backwards compat with generated code from < 2.4
|
7773 |
-
/* istanbul ignore if */
|
7774 |
-
if (isDef(on[CHECKBOX_RADIO_TOKEN])) {
|
7775 |
-
on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);
|
7776 |
-
delete on[CHECKBOX_RADIO_TOKEN];
|
7777 |
-
}
|
7778 |
-
}
|
7779 |
-
|
7780 |
-
var target$1;
|
7781 |
-
|
7782 |
-
function createOnceHandler$1 (event, handler, capture) {
|
7783 |
-
var _target = target$1; // save current target element in closure
|
7784 |
-
return function onceHandler () {
|
7785 |
-
var res = handler.apply(null, arguments);
|
7786 |
-
if (res !== null) {
|
7787 |
-
remove$2(event, onceHandler, capture, _target);
|
7788 |
-
}
|
7789 |
-
}
|
7790 |
-
}
|
7791 |
-
|
7792 |
-
// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp
|
7793 |
-
// implementation and does not fire microtasks in between event propagation, so
|
7794 |
-
// safe to exclude.
|
7795 |
-
var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);
|
7796 |
-
|
7797 |
-
function add$1 (
|
7798 |
-
name,
|
7799 |
-
handler,
|
7800 |
-
capture,
|
7801 |
-
passive
|
7802 |
-
) {
|
7803 |
-
// async edge case #6566: inner click event triggers patch, event handler
|
7804 |
-
// attached to outer element during patch, and triggered again. This
|
7805 |
-
// happens because browsers fire microtask ticks between event propagation.
|
7806 |
-
// the solution is simple: we save the timestamp when a handler is attached,
|
7807 |
-
// and the handler would only fire if the event passed to it was fired
|
7808 |
-
// AFTER it was attached.
|
7809 |
-
if (useMicrotaskFix) {
|
7810 |
-
var attachedTimestamp = currentFlushTimestamp;
|
7811 |
-
var original = handler;
|
7812 |
-
handler = original._wrapper = function (e) {
|
7813 |
-
if (
|
7814 |
-
// no bubbling, should always fire.
|
7815 |
-
// this is just a safety net in case event.timeStamp is unreliable in
|
7816 |
-
// certain weird environments...
|
7817 |
-
e.target === e.currentTarget ||
|
7818 |
-
// event is fired after handler attachment
|
7819 |
-
e.timeStamp >= attachedTimestamp ||
|
7820 |
-
// bail for environments that have buggy event.timeStamp implementations
|
7821 |
-
// #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState
|
7822 |
-
// #9681 QtWebEngine event.timeStamp is negative value
|
7823 |
-
e.timeStamp <= 0 ||
|
7824 |
-
// #9448 bail if event is fired in another document in a multi-page
|
7825 |
-
// electron/nw.js app, since event.timeStamp will be using a different
|
7826 |
-
// starting reference
|
7827 |
-
e.target.ownerDocument !== document
|
7828 |
-
) {
|
7829 |
-
return original.apply(this, arguments)
|
7830 |
-
}
|
7831 |
-
};
|
7832 |
-
}
|
7833 |
-
target$1.addEventListener(
|
7834 |
-
name,
|
7835 |
-
handler,
|
7836 |
-
supportsPassive
|
7837 |
-
? { capture: capture, passive: passive }
|
7838 |
-
: capture
|
7839 |
-
);
|
7840 |
-
}
|
7841 |
-
|
7842 |
-
function remove$2 (
|
7843 |
-
name,
|
7844 |
-
handler,
|
7845 |
-
capture,
|
7846 |
-
_target
|
7847 |
-
) {
|
7848 |
-
(_target || target$1).removeEventListener(
|
7849 |
-
name,
|
7850 |
-
handler._wrapper || handler,
|
7851 |
-
capture
|
7852 |
-
);
|
7853 |
-
}
|
7854 |
-
|
7855 |
-
function updateDOMListeners (oldVnode, vnode) {
|
7856 |
-
if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {
|
7857 |
-
return
|
7858 |
-
}
|
7859 |
-
var on = vnode.data.on || {};
|
7860 |
-
var oldOn = oldVnode.data.on || {};
|
7861 |
-
target$1 = vnode.elm;
|
7862 |
-
normalizeEvents(on);
|
7863 |
-
updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);
|
7864 |
-
target$1 = undefined;
|
7865 |
-
}
|
7866 |
-
|
7867 |
-
var events = {
|
7868 |
-
create: updateDOMListeners,
|
7869 |
-
update: updateDOMListeners
|
7870 |
-
};
|
7871 |
-
|
7872 |
-
/* */
|
7873 |
-
|
7874 |
-
var svgContainer;
|
7875 |
-
|
7876 |
-
function updateDOMProps (oldVnode, vnode) {
|
7877 |
-
if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {
|
7878 |
-
return
|
7879 |
-
}
|
7880 |
-
var key, cur;
|
7881 |
-
var elm = vnode.elm;
|
7882 |
-
var oldProps = oldVnode.data.domProps || {};
|
7883 |
-
var props = vnode.data.domProps || {};
|
7884 |
-
// clone observed objects, as the user probably wants to mutate it
|
7885 |
-
if (isDef(props.__ob__)) {
|
7886 |
-
props = vnode.data.domProps = extend({}, props);
|
7887 |
-
}
|
7888 |
-
|
7889 |
-
for (key in oldProps) {
|
7890 |
-
if (!(key in props)) {
|
7891 |
-
elm[key] = '';
|
7892 |
-
}
|
7893 |
-
}
|
7894 |
-
|
7895 |
-
for (key in props) {
|
7896 |
-
cur = props[key];
|
7897 |
-
// ignore children if the node has textContent or innerHTML,
|
7898 |
-
// as these will throw away existing DOM nodes and cause removal errors
|
7899 |
-
// on subsequent patches (#3360)
|
7900 |
-
if (key === 'textContent' || key === 'innerHTML') {
|
7901 |
-
if (vnode.children) { vnode.children.length = 0; }
|
7902 |
-
if (cur === oldProps[key]) { continue }
|
7903 |
-
// #6601 work around Chrome version <= 55 bug where single textNode
|
7904 |
-
// replaced by innerHTML/textContent retains its parentNode property
|
7905 |
-
if (elm.childNodes.length === 1) {
|
7906 |
-
elm.removeChild(elm.childNodes[0]);
|
7907 |
-
}
|
7908 |
-
}
|
7909 |
-
|
7910 |
-
if (key === 'value' && elm.tagName !== 'PROGRESS') {
|
7911 |
-
// store value as _value as well since
|
7912 |
-
// non-string values will be stringified
|
7913 |
-
elm._value = cur;
|
7914 |
-
// avoid resetting cursor position when value is the same
|
7915 |
-
var strCur = isUndef(cur) ? '' : String(cur);
|
7916 |
-
if (shouldUpdateValue(elm, strCur)) {
|
7917 |
-
elm.value = strCur;
|
7918 |
-
}
|
7919 |
-
} else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {
|
7920 |
-
// IE doesn't support innerHTML for SVG elements
|
7921 |
-
svgContainer = svgContainer || document.createElement('div');
|
7922 |
-
svgContainer.innerHTML = "<svg>" + cur + "</svg>";
|
7923 |
-
var svg = svgContainer.firstChild;
|
7924 |
-
while (elm.firstChild) {
|
7925 |
-
elm.removeChild(elm.firstChild);
|
7926 |
-
}
|
7927 |
-
while (svg.firstChild) {
|
7928 |
-
elm.appendChild(svg.firstChild);
|
7929 |
-
}
|
7930 |
-
} else if (
|
7931 |
-
// skip the update if old and new VDOM state is the same.
|
7932 |
-
// `value` is handled separately because the DOM value may be temporarily
|
7933 |
-
// out of sync with VDOM state due to focus, composition and modifiers.
|
7934 |
-
// This #4521 by skipping the unnecessary `checked` update.
|
7935 |
-
cur !== oldProps[key]
|
7936 |
-
) {
|
7937 |
-
// some property updates can throw
|
7938 |
-
// e.g. `value` on <progress> w/ non-finite value
|
7939 |
-
try {
|
7940 |
-
elm[key] = cur;
|
7941 |
-
} catch (e) {}
|
7942 |
-
}
|
7943 |
-
}
|
7944 |
-
}
|
7945 |
-
|
7946 |
-
// check platforms/web/util/attrs.js acceptValue
|
7947 |
-
|
7948 |
-
|
7949 |
-
function shouldUpdateValue (elm, checkVal) {
|
7950 |
-
return (!elm.composing && (
|
7951 |
-
elm.tagName === 'OPTION' ||
|
7952 |
-
isNotInFocusAndDirty(elm, checkVal) ||
|
7953 |
-
isDirtyWithModifiers(elm, checkVal)
|
7954 |
-
))
|
7955 |
-
}
|
7956 |
-
|
7957 |
-
function isNotInFocusAndDirty (elm, checkVal) {
|
7958 |
-
// return true when textbox (.number and .trim) loses focus and its value is
|
7959 |
-
// not equal to the updated value
|
7960 |
-
var notInFocus = true;
|
7961 |
-
// #6157
|
7962 |
-
// work around IE bug when accessing document.activeElement in an iframe
|
7963 |
-
try { notInFocus = document.activeElement !== elm; } catch (e) {}
|
7964 |
-
return notInFocus && elm.value !== checkVal
|
7965 |
-
}
|
7966 |
-
|
7967 |
-
function isDirtyWithModifiers (elm, newVal) {
|
7968 |
-
var value = elm.value;
|
7969 |
-
var modifiers = elm._vModifiers; // injected by v-model runtime
|
7970 |
-
if (isDef(modifiers)) {
|
7971 |
-
if (modifiers.number) {
|
7972 |
-
return toNumber(value) !== toNumber(newVal)
|
7973 |
-
}
|
7974 |
-
if (modifiers.trim) {
|
7975 |
-
return value.trim() !== newVal.trim()
|
7976 |
-
}
|
7977 |
-
}
|
7978 |
-
return value !== newVal
|
7979 |
-
}
|
7980 |
-
|
7981 |
-
var domProps = {
|
7982 |
-
create: updateDOMProps,
|
7983 |
-
update: updateDOMProps
|
7984 |
-
};
|
7985 |
-
|
7986 |
-
/* */
|
7987 |
-
|
7988 |
-
var parseStyleText = cached(function (cssText) {
|
7989 |
-
var res = {};
|
7990 |
-
var listDelimiter = /;(?![^(]*\))/g;
|
7991 |
-
var propertyDelimiter = /:(.+)/;
|
7992 |
-
cssText.split(listDelimiter).forEach(function (item) {
|
7993 |
-
if (item) {
|
7994 |
-
var tmp = item.split(propertyDelimiter);
|
7995 |
-
tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
|
7996 |
-
}
|
7997 |
-
});
|
7998 |
-
return res
|
7999 |
-
});
|
8000 |
-
|
8001 |
-
// merge static and dynamic style data on the same vnode
|
8002 |
-
function normalizeStyleData (data) {
|
8003 |
-
var style = normalizeStyleBinding(data.style);
|
8004 |
-
// static style is pre-processed into an object during compilation
|
8005 |
-
// and is always a fresh object, so it's safe to merge into it
|
8006 |
-
return data.staticStyle
|
8007 |
-
? extend(data.staticStyle, style)
|
8008 |
-
: style
|
8009 |
-
}
|
8010 |
-
|
8011 |
-
// normalize possible array / string values into Object
|
8012 |
-
function normalizeStyleBinding (bindingStyle) {
|
8013 |
-
if (Array.isArray(bindingStyle)) {
|
8014 |
-
return toObject(bindingStyle)
|
8015 |
-
}
|
8016 |
-
if (typeof bindingStyle === 'string') {
|
8017 |
-
return parseStyleText(bindingStyle)
|
8018 |
-
}
|
8019 |
-
return bindingStyle
|
8020 |
-
}
|
8021 |
-
|
8022 |
-
/**
|
8023 |
-
* parent component style should be after child's
|
8024 |
-
* so that parent component's style could override it
|
8025 |
-
*/
|
8026 |
-
function getStyle (vnode, checkChild) {
|
8027 |
-
var res = {};
|
8028 |
-
var styleData;
|
8029 |
-
|
8030 |
-
if (checkChild) {
|
8031 |
-
var childNode = vnode;
|
8032 |
-
while (childNode.componentInstance) {
|
8033 |
-
childNode = childNode.componentInstance._vnode;
|
8034 |
-
if (
|
8035 |
-
childNode && childNode.data &&
|
8036 |
-
(styleData = normalizeStyleData(childNode.data))
|
8037 |
-
) {
|
8038 |
-
extend(res, styleData);
|
8039 |
-
}
|
8040 |
-
}
|
8041 |
-
}
|
8042 |
-
|
8043 |
-
if ((styleData = normalizeStyleData(vnode.data))) {
|
8044 |
-
extend(res, styleData);
|
8045 |
-
}
|
8046 |
-
|
8047 |
-
var parentNode = vnode;
|
8048 |
-
while ((parentNode = parentNode.parent)) {
|
8049 |
-
if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {
|
8050 |
-
extend(res, styleData);
|
8051 |
-
}
|
8052 |
-
}
|
8053 |
-
return res
|
8054 |
-
}
|
8055 |
-
|
8056 |
-
/* */
|
8057 |
-
|
8058 |
-
var cssVarRE = /^--/;
|
8059 |
-
var importantRE = /\s*!important$/;
|
8060 |
-
var setProp = function (el, name, val) {
|
8061 |
-
/* istanbul ignore if */
|
8062 |
-
if (cssVarRE.test(name)) {
|
8063 |
-
el.style.setProperty(name, val);
|
8064 |
-
} else if (importantRE.test(val)) {
|
8065 |
-
el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');
|
8066 |
-
} else {
|
8067 |
-
var normalizedName = normalize(name);
|
8068 |
-
if (Array.isArray(val)) {
|
8069 |
-
// Support values array created by autoprefixer, e.g.
|
8070 |
-
// {display: ["-webkit-box", "-ms-flexbox", "flex"]}
|
8071 |
-
// Set them one by one, and the browser will only set those it can recognize
|
8072 |
-
for (var i = 0, len = val.length; i < len; i++) {
|
8073 |
-
el.style[normalizedName] = val[i];
|
8074 |
-
}
|
8075 |
-
} else {
|
8076 |
-
el.style[normalizedName] = val;
|
8077 |
-
}
|
8078 |
-
}
|
8079 |
-
};
|
8080 |
-
|
8081 |
-
var vendorNames = ['Webkit', 'Moz', 'ms'];
|
8082 |
-
|
8083 |
-
var emptyStyle;
|
8084 |
-
var normalize = cached(function (prop) {
|
8085 |
-
emptyStyle = emptyStyle || document.createElement('div').style;
|
8086 |
-
prop = camelize(prop);
|
8087 |
-
if (prop !== 'filter' && (prop in emptyStyle)) {
|
8088 |
-
return prop
|
8089 |
-
}
|
8090 |
-
var capName = prop.charAt(0).toUpperCase() + prop.slice(1);
|
8091 |
-
for (var i = 0; i < vendorNames.length; i++) {
|
8092 |
-
var name = vendorNames[i] + capName;
|
8093 |
-
if (name in emptyStyle) {
|
8094 |
-
return name
|
8095 |
-
}
|
8096 |
-
}
|
8097 |
-
});
|
8098 |
-
|
8099 |
-
function updateStyle (oldVnode, vnode) {
|
8100 |
-
var data = vnode.data;
|
8101 |
-
var oldData = oldVnode.data;
|
8102 |
-
|
8103 |
-
if (isUndef(data.staticStyle) && isUndef(data.style) &&
|
8104 |
-
isUndef(oldData.staticStyle) && isUndef(oldData.style)
|
8105 |
-
) {
|
8106 |
-
return
|
8107 |
-
}
|
8108 |
-
|
8109 |
-
var cur, name;
|
8110 |
-
var el = vnode.elm;
|
8111 |
-
var oldStaticStyle = oldData.staticStyle;
|
8112 |
-
var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};
|
8113 |
-
|
8114 |
-
// if static style exists, stylebinding already merged into it when doing normalizeStyleData
|
8115 |
-
var oldStyle = oldStaticStyle || oldStyleBinding;
|
8116 |
-
|
8117 |
-
var style = normalizeStyleBinding(vnode.data.style) || {};
|
8118 |
-
|
8119 |
-
// store normalized style under a different key for next diff
|
8120 |
-
// make sure to clone it if it's reactive, since the user likely wants
|
8121 |
-
// to mutate it.
|
8122 |
-
vnode.data.normalizedStyle = isDef(style.__ob__)
|
8123 |
-
? extend({}, style)
|
8124 |
-
: style;
|
8125 |
-
|
8126 |
-
var newStyle = getStyle(vnode, true);
|
8127 |
-
|
8128 |
-
for (name in oldStyle) {
|
8129 |
-
if (isUndef(newStyle[name])) {
|
8130 |
-
setProp(el, name, '');
|
8131 |
-
}
|
8132 |
-
}
|
8133 |
-
for (name in newStyle) {
|
8134 |
-
cur = newStyle[name];
|
8135 |
-
if (cur !== oldStyle[name]) {
|
8136 |
-
// ie9 setting to null has no effect, must use empty string
|
8137 |
-
setProp(el, name, cur == null ? '' : cur);
|
8138 |
-
}
|
8139 |
-
}
|
8140 |
-
}
|
8141 |
-
|
8142 |
-
var style = {
|
8143 |
-
create: updateStyle,
|
8144 |
-
update: updateStyle
|
8145 |
-
};
|
8146 |
-
|
8147 |
-
/* */
|
8148 |
-
|
8149 |
-
var whitespaceRE = /\s+/;
|
8150 |
-
|
8151 |
-
/**
|
8152 |
-
* Add class with compatibility for SVG since classList is not supported on
|
8153 |
-
* SVG elements in IE
|
8154 |
-
*/
|
8155 |
-
function addClass (el, cls) {
|
8156 |
-
/* istanbul ignore if */
|
8157 |
-
if (!cls || !(cls = cls.trim())) {
|
8158 |
-
return
|
8159 |
-
}
|
8160 |
-
|
8161 |
-
/* istanbul ignore else */
|
8162 |
-
if (el.classList) {
|
8163 |
-
if (cls.indexOf(' ') > -1) {
|
8164 |
-
cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });
|
8165 |
-
} else {
|
8166 |
-
el.classList.add(cls);
|
8167 |
-
}
|
8168 |
-
} else {
|
8169 |
-
var cur = " " + (el.getAttribute('class') || '') + " ";
|
8170 |
-
if (cur.indexOf(' ' + cls + ' ') < 0) {
|
8171 |
-
el.setAttribute('class', (cur + cls).trim());
|
8172 |
-
}
|
8173 |
-
}
|
8174 |
-
}
|
8175 |
-
|
8176 |
-
/**
|
8177 |
-
* Remove class with compatibility for SVG since classList is not supported on
|
8178 |
-
* SVG elements in IE
|
8179 |
-
*/
|
8180 |
-
function removeClass (el, cls) {
|
8181 |
-
/* istanbul ignore if */
|
8182 |
-
if (!cls || !(cls = cls.trim())) {
|
8183 |
-
return
|
8184 |
-
}
|
8185 |
-
|
8186 |
-
/* istanbul ignore else */
|
8187 |
-
if (el.classList) {
|
8188 |
-
if (cls.indexOf(' ') > -1) {
|
8189 |
-
cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });
|
8190 |
-
} else {
|
8191 |
-
el.classList.remove(cls);
|
8192 |
-
}
|
8193 |
-
if (!el.classList.length) {
|
8194 |
-
el.removeAttribute('class');
|
8195 |
-
}
|
8196 |
-
} else {
|
8197 |
-
var cur = " " + (el.getAttribute('class') || '') + " ";
|
8198 |
-
var tar = ' ' + cls + ' ';
|
8199 |
-
while (cur.indexOf(tar) >= 0) {
|
8200 |
-
cur = cur.replace(tar, ' ');
|
8201 |
-
}
|
8202 |
-
cur = cur.trim();
|
8203 |
-
if (cur) {
|
8204 |
-
el.setAttribute('class', cur);
|
8205 |
-
} else {
|
8206 |
-
el.removeAttribute('class');
|
8207 |
-
}
|
8208 |
-
}
|
8209 |
-
}
|
8210 |
-
|
8211 |
-
/* */
|
8212 |
-
|
8213 |
-
function resolveTransition (def$$1) {
|
8214 |
-
if (!def$$1) {
|
8215 |
-
return
|
8216 |
-
}
|
8217 |
-
/* istanbul ignore else */
|
8218 |
-
if (typeof def$$1 === 'object') {
|
8219 |
-
var res = {};
|
8220 |
-
if (def$$1.css !== false) {
|
8221 |
-
extend(res, autoCssTransition(def$$1.name || 'v'));
|
8222 |
-
}
|
8223 |
-
extend(res, def$$1);
|
8224 |
-
return res
|
8225 |
-
} else if (typeof def$$1 === 'string') {
|
8226 |
-
return autoCssTransition(def$$1)
|
8227 |
-
}
|
8228 |
-
}
|
8229 |
-
|
8230 |
-
var autoCssTransition = cached(function (name) {
|
8231 |
-
return {
|
8232 |
-
enterClass: (name + "-enter"),
|
8233 |
-
enterToClass: (name + "-enter-to"),
|
8234 |
-
enterActiveClass: (name + "-enter-active"),
|
8235 |
-
leaveClass: (name + "-leave"),
|
8236 |
-
leaveToClass: (name + "-leave-to"),
|
8237 |
-
leaveActiveClass: (name + "-leave-active")
|
8238 |
-
}
|
8239 |
-
});
|
8240 |
-
|
8241 |
-
var hasTransition = inBrowser && !isIE9;
|
8242 |
-
var TRANSITION = 'transition';
|
8243 |
-
var ANIMATION = 'animation';
|
8244 |
-
|
8245 |
-
// Transition property/event sniffing
|
8246 |
-
var transitionProp = 'transition';
|
8247 |
-
var transitionEndEvent = 'transitionend';
|
8248 |
-
var animationProp = 'animation';
|
8249 |
-
var animationEndEvent = 'animationend';
|
8250 |
-
if (hasTransition) {
|
8251 |
-
/* istanbul ignore if */
|
8252 |
-
if (window.ontransitionend === undefined &&
|
8253 |
-
window.onwebkittransitionend !== undefined
|
8254 |
-
) {
|
8255 |
-
transitionProp = 'WebkitTransition';
|
8256 |
-
transitionEndEvent = 'webkitTransitionEnd';
|
8257 |
-
}
|
8258 |
-
if (window.onanimationend === undefined &&
|
8259 |
-
window.onwebkitanimationend !== undefined
|
8260 |
-
) {
|
8261 |
-
animationProp = 'WebkitAnimation';
|
8262 |
-
animationEndEvent = 'webkitAnimationEnd';
|
8263 |
-
}
|
8264 |
-
}
|
8265 |
-
|
8266 |
-
// binding to window is necessary to make hot reload work in IE in strict mode
|
8267 |
-
var raf = inBrowser
|
8268 |
-
? window.requestAnimationFrame
|
8269 |
-
? window.requestAnimationFrame.bind(window)
|
8270 |
-
: setTimeout
|
8271 |
-
: /* istanbul ignore next */ function (fn) { return fn(); };
|
8272 |
-
|
8273 |
-
function nextFrame (fn) {
|
8274 |
-
raf(function () {
|
8275 |
-
raf(fn);
|
8276 |
-
});
|
8277 |
-
}
|
8278 |
-
|
8279 |
-
function addTransitionClass (el, cls) {
|
8280 |
-
var transitionClasses = el._transitionClasses || (el._transitionClasses = []);
|
8281 |
-
if (transitionClasses.indexOf(cls) < 0) {
|
8282 |
-
transitionClasses.push(cls);
|
8283 |
-
addClass(el, cls);
|
8284 |
-
}
|
8285 |
-
}
|
8286 |
-
|
8287 |
-
function removeTransitionClass (el, cls) {
|
8288 |
-
if (el._transitionClasses) {
|
8289 |
-
remove(el._transitionClasses, cls);
|
8290 |
-
}
|
8291 |
-
removeClass(el, cls);
|
8292 |
-
}
|
8293 |
-
|
8294 |
-
function whenTransitionEnds (
|
8295 |
-
el,
|
8296 |
-
expectedType,
|
8297 |
-
cb
|
8298 |
-
) {
|
8299 |
-
var ref = getTransitionInfo(el, expectedType);
|
8300 |
-
var type = ref.type;
|
8301 |
-
var timeout = ref.timeout;
|
8302 |
-
var propCount = ref.propCount;
|
8303 |
-
if (!type) { return cb() }
|
8304 |
-
var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;
|
8305 |
-
var ended = 0;
|
8306 |
-
var end = function () {
|
8307 |
-
el.removeEventListener(event, onEnd);
|
8308 |
-
cb();
|
8309 |
-
};
|
8310 |
-
var onEnd = function (e) {
|
8311 |
-
if (e.target === el) {
|
8312 |
-
if (++ended >= propCount) {
|
8313 |
-
end();
|
8314 |
-
}
|
8315 |
-
}
|
8316 |
-
};
|
8317 |
-
setTimeout(function () {
|
8318 |
-
if (ended < propCount) {
|
8319 |
-
end();
|
8320 |
-
}
|
8321 |
-
}, timeout + 1);
|
8322 |
-
el.addEventListener(event, onEnd);
|
8323 |
-
}
|
8324 |
-
|
8325 |
-
var transformRE = /\b(transform|all)(,|$)/;
|
8326 |
-
|
8327 |
-
function getTransitionInfo (el, expectedType) {
|
8328 |
-
var styles = window.getComputedStyle(el);
|
8329 |
-
// JSDOM may return undefined for transition properties
|
8330 |
-
var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');
|
8331 |
-
var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');
|
8332 |
-
var transitionTimeout = getTimeout(transitionDelays, transitionDurations);
|
8333 |
-
var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');
|
8334 |
-
var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');
|
8335 |
-
var animationTimeout = getTimeout(animationDelays, animationDurations);
|
8336 |
-
|
8337 |
-
var type;
|
8338 |
-
var timeout = 0;
|
8339 |
-
var propCount = 0;
|
8340 |
-
/* istanbul ignore if */
|
8341 |
-
if (expectedType === TRANSITION) {
|
8342 |
-
if (transitionTimeout > 0) {
|
8343 |
-
type = TRANSITION;
|
8344 |
-
timeout = transitionTimeout;
|
8345 |
-
propCount = transitionDurations.length;
|
8346 |
-
}
|
8347 |
-
} else if (expectedType === ANIMATION) {
|
8348 |
-
if (animationTimeout > 0) {
|
8349 |
-
type = ANIMATION;
|
8350 |
-
timeout = animationTimeout;
|
8351 |
-
propCount = animationDurations.length;
|
8352 |
-
}
|
8353 |
-
} else {
|
8354 |
-
timeout = Math.max(transitionTimeout, animationTimeout);
|
8355 |
-
type = timeout > 0
|
8356 |
-
? transitionTimeout > animationTimeout
|
8357 |
-
? TRANSITION
|
8358 |
-
: ANIMATION
|
8359 |
-
: null;
|
8360 |
-
propCount = type
|
8361 |
-
? type === TRANSITION
|
8362 |
-
? transitionDurations.length
|
8363 |
-
: animationDurations.length
|
8364 |
-
: 0;
|
8365 |
-
}
|
8366 |
-
var hasTransform =
|
8367 |
-
type === TRANSITION &&
|
8368 |
-
transformRE.test(styles[transitionProp + 'Property']);
|
8369 |
-
return {
|
8370 |
-
type: type,
|
8371 |
-
timeout: timeout,
|
8372 |
-
propCount: propCount,
|
8373 |
-
hasTransform: hasTransform
|
8374 |
-
}
|
8375 |
-
}
|
8376 |
-
|
8377 |
-
function getTimeout (delays, durations) {
|
8378 |
-
/* istanbul ignore next */
|
8379 |
-
while (delays.length < durations.length) {
|
8380 |
-
delays = delays.concat(delays);
|
8381 |
-
}
|
8382 |
-
|
8383 |
-
return Math.max.apply(null, durations.map(function (d, i) {
|
8384 |
-
return toMs(d) + toMs(delays[i])
|
8385 |
-
}))
|
8386 |
-
}
|
8387 |
-
|
8388 |
-
// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers
|
8389 |
-
// in a locale-dependent way, using a comma instead of a dot.
|
8390 |
-
// If comma is not replaced with a dot, the input will be rounded down (i.e. acting
|
8391 |
-
// as a floor function) causing unexpected behaviors
|
8392 |
-
function toMs (s) {
|
8393 |
-
return Number(s.slice(0, -1).replace(',', '.')) * 1000
|
8394 |
-
}
|
8395 |
-
|
8396 |
-
/* */
|
8397 |
-
|
8398 |
-
function enter (vnode, toggleDisplay) {
|
8399 |
-
var el = vnode.elm;
|
8400 |
-
|
8401 |
-
// call leave callback now
|
8402 |
-
if (isDef(el._leaveCb)) {
|
8403 |
-
el._leaveCb.cancelled = true;
|
8404 |
-
el._leaveCb();
|
8405 |
-
}
|
8406 |
-
|
8407 |
-
var data = resolveTransition(vnode.data.transition);
|
8408 |
-
if (isUndef(data)) {
|
8409 |
-
return
|
8410 |
-
}
|
8411 |
-
|
8412 |
-
/* istanbul ignore if */
|
8413 |
-
if (isDef(el._enterCb) || el.nodeType !== 1) {
|
8414 |
-
return
|
8415 |
-
}
|
8416 |
-
|
8417 |
-
var css = data.css;
|
8418 |
-
var type = data.type;
|
8419 |
-
var enterClass = data.enterClass;
|
8420 |
-
var enterToClass = data.enterToClass;
|
8421 |
-
var enterActiveClass = data.enterActiveClass;
|
8422 |
-
var appearClass = data.appearClass;
|
8423 |
-
var appearToClass = data.appearToClass;
|
8424 |
-
var appearActiveClass = data.appearActiveClass;
|
8425 |
-
var beforeEnter = data.beforeEnter;
|
8426 |
-
var enter = data.enter;
|
8427 |
-
var afterEnter = data.afterEnter;
|
8428 |
-
var enterCancelled = data.enterCancelled;
|
8429 |
-
var beforeAppear = data.beforeAppear;
|
8430 |
-
var appear = data.appear;
|
8431 |
-
var afterAppear = data.afterAppear;
|
8432 |
-
var appearCancelled = data.appearCancelled;
|
8433 |
-
var duration = data.duration;
|
8434 |
-
|
8435 |
-
// activeInstance will always be the <transition> component managing this
|
8436 |
-
// transition. One edge case to check is when the <transition> is placed
|
8437 |
-
// as the root node of a child component. In that case we need to check
|
8438 |
-
// <transition>'s parent for appear check.
|
8439 |
-
var context = activeInstance;
|
8440 |
-
var transitionNode = activeInstance.$vnode;
|
8441 |
-
while (transitionNode && transitionNode.parent) {
|
8442 |
-
context = transitionNode.context;
|
8443 |
-
transitionNode = transitionNode.parent;
|
8444 |
-
}
|
8445 |
-
|
8446 |
-
var isAppear = !context._isMounted || !vnode.isRootInsert;
|
8447 |
-
|
8448 |
-
if (isAppear && !appear && appear !== '') {
|
8449 |
-
return
|
8450 |
-
}
|
8451 |
-
|
8452 |
-
var startClass = isAppear && appearClass
|
8453 |
-
? appearClass
|
8454 |
-
: enterClass;
|
8455 |
-
var activeClass = isAppear && appearActiveClass
|
8456 |
-
? appearActiveClass
|
8457 |
-
: enterActiveClass;
|
8458 |
-
var toClass = isAppear && appearToClass
|
8459 |
-
? appearToClass
|
8460 |
-
: enterToClass;
|
8461 |
-
|
8462 |
-
var beforeEnterHook = isAppear
|
8463 |
-
? (beforeAppear || beforeEnter)
|
8464 |
-
: beforeEnter;
|
8465 |
-
var enterHook = isAppear
|
8466 |
-
? (typeof appear === 'function' ? appear : enter)
|
8467 |
-
: enter;
|
8468 |
-
var afterEnterHook = isAppear
|
8469 |
-
? (afterAppear || afterEnter)
|
8470 |
-
: afterEnter;
|
8471 |
-
var enterCancelledHook = isAppear
|
8472 |
-
? (appearCancelled || enterCancelled)
|
8473 |
-
: enterCancelled;
|
8474 |
-
|
8475 |
-
var explicitEnterDuration = toNumber(
|
8476 |
-
isObject(duration)
|
8477 |
-
? duration.enter
|
8478 |
-
: duration
|
8479 |
-
);
|
8480 |
-
|
8481 |
-
if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {
|
8482 |
-
checkDuration(explicitEnterDuration, 'enter', vnode);
|
8483 |
-
}
|
8484 |
-
|
8485 |
-
var expectsCSS = css !== false && !isIE9;
|
8486 |
-
var userWantsControl = getHookArgumentsLength(enterHook);
|
8487 |
-
|
8488 |
-
var cb = el._enterCb = once(function () {
|
8489 |
-
if (expectsCSS) {
|
8490 |
-
removeTransitionClass(el, toClass);
|
8491 |
-
removeTransitionClass(el, activeClass);
|
8492 |
-
}
|
8493 |
-
if (cb.cancelled) {
|
8494 |
-
if (expectsCSS) {
|
8495 |
-
removeTransitionClass(el, startClass);
|
8496 |
-
}
|
8497 |
-
enterCancelledHook && enterCancelledHook(el);
|
8498 |
-
} else {
|
8499 |
-
afterEnterHook && afterEnterHook(el);
|
8500 |
-
}
|
8501 |
-
el._enterCb = null;
|
8502 |
-
});
|
8503 |
-
|
8504 |
-
if (!vnode.data.show) {
|
8505 |
-
// remove pending leave element on enter by injecting an insert hook
|
8506 |
-
mergeVNodeHook(vnode, 'insert', function () {
|
8507 |
-
var parent = el.parentNode;
|
8508 |
-
var pendingNode = parent && parent._pending && parent._pending[vnode.key];
|
8509 |
-
if (pendingNode &&
|
8510 |
-
pendingNode.tag === vnode.tag &&
|
8511 |
-
pendingNode.elm._leaveCb
|
8512 |
-
) {
|
8513 |
-
pendingNode.elm._leaveCb();
|
8514 |
-
}
|
8515 |
-
enterHook && enterHook(el, cb);
|
8516 |
-
});
|
8517 |
-
}
|
8518 |
-
|
8519 |
-
// start enter transition
|
8520 |
-
beforeEnterHook && beforeEnterHook(el);
|
8521 |
-
if (expectsCSS) {
|
8522 |
-
addTransitionClass(el, startClass);
|
8523 |
-
addTransitionClass(el, activeClass);
|
8524 |
-
nextFrame(function () {
|
8525 |
-
removeTransitionClass(el, startClass);
|
8526 |
-
if (!cb.cancelled) {
|
8527 |
-
addTransitionClass(el, toClass);
|
8528 |
-
if (!userWantsControl) {
|
8529 |
-
if (isValidDuration(explicitEnterDuration)) {
|
8530 |
-
setTimeout(cb, explicitEnterDuration);
|
8531 |
-
} else {
|
8532 |
-
whenTransitionEnds(el, type, cb);
|
8533 |
-
}
|
8534 |
-
}
|
8535 |
-
}
|
8536 |
-
});
|
8537 |
-
}
|
8538 |
-
|
8539 |
-
if (vnode.data.show) {
|
8540 |
-
toggleDisplay && toggleDisplay();
|
8541 |
-
enterHook && enterHook(el, cb);
|
8542 |
-
}
|
8543 |
-
|
8544 |
-
if (!expectsCSS && !userWantsControl) {
|
8545 |
-
cb();
|
8546 |
-
}
|
8547 |
-
}
|
8548 |
-
|
8549 |
-
function leave (vnode, rm) {
|
8550 |
-
var el = vnode.elm;
|
8551 |
-
|
8552 |
-
// call enter callback now
|
8553 |
-
if (isDef(el._enterCb)) {
|
8554 |
-
el._enterCb.cancelled = true;
|
8555 |
-
el._enterCb();
|
8556 |
-
}
|
8557 |
-
|
8558 |
-
var data = resolveTransition(vnode.data.transition);
|
8559 |
-
if (isUndef(data) || el.nodeType !== 1) {
|
8560 |
-
return rm()
|
8561 |
-
}
|
8562 |
-
|
8563 |
-
/* istanbul ignore if */
|
8564 |
-
if (isDef(el._leaveCb)) {
|
8565 |
-
return
|
8566 |
-
}
|
8567 |
-
|
8568 |
-
var css = data.css;
|
8569 |
-
var type = data.type;
|
8570 |
-
var leaveClass = data.leaveClass;
|
8571 |
-
var leaveToClass = data.leaveToClass;
|
8572 |
-
var leaveActiveClass = data.leaveActiveClass;
|
8573 |
-
var beforeLeave = data.beforeLeave;
|
8574 |
-
var leave = data.leave;
|
8575 |
-
var afterLeave = data.afterLeave;
|
8576 |
-
var leaveCancelled = data.leaveCancelled;
|
8577 |
-
var delayLeave = data.delayLeave;
|
8578 |
-
var duration = data.duration;
|
8579 |
-
|
8580 |
-
var expectsCSS = css !== false && !isIE9;
|
8581 |
-
var userWantsControl = getHookArgumentsLength(leave);
|
8582 |
-
|
8583 |
-
var explicitLeaveDuration = toNumber(
|
8584 |
-
isObject(duration)
|
8585 |
-
? duration.leave
|
8586 |
-
: duration
|
8587 |
-
);
|
8588 |
-
|
8589 |
-
if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
|
8590 |
-
checkDuration(explicitLeaveDuration, 'leave', vnode);
|
8591 |
-
}
|
8592 |
-
|
8593 |
-
var cb = el._leaveCb = once(function () {
|
8594 |
-
if (el.parentNode && el.parentNode._pending) {
|
8595 |
-
el.parentNode._pending[vnode.key] = null;
|
8596 |
-
}
|
8597 |
-
if (expectsCSS) {
|
8598 |
-
removeTransitionClass(el, leaveToClass);
|
8599 |
-
removeTransitionClass(el, leaveActiveClass);
|
8600 |
-
}
|
8601 |
-
if (cb.cancelled) {
|
8602 |
-
if (expectsCSS) {
|
8603 |
-
removeTransitionClass(el, leaveClass);
|
8604 |
-
}
|
8605 |
-
leaveCancelled && leaveCancelled(el);
|
8606 |
-
} else {
|
8607 |
-
rm();
|
8608 |
-
afterLeave && afterLeave(el);
|
8609 |
-
}
|
8610 |
-
el._leaveCb = null;
|
8611 |
-
});
|
8612 |
-
|
8613 |
-
if (delayLeave) {
|
8614 |
-
delayLeave(performLeave);
|
8615 |
-
} else {
|
8616 |
-
performLeave();
|
8617 |
-
}
|
8618 |
-
|
8619 |
-
function performLeave () {
|
8620 |
-
// the delayed leave may have already been cancelled
|
8621 |
-
if (cb.cancelled) {
|
8622 |
-
return
|
8623 |
-
}
|
8624 |
-
// record leaving element
|
8625 |
-
if (!vnode.data.show && el.parentNode) {
|
8626 |
-
(el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
|
8627 |
-
}
|
8628 |
-
beforeLeave && beforeLeave(el);
|
8629 |
-
if (expectsCSS) {
|
8630 |
-
addTransitionClass(el, leaveClass);
|
8631 |
-
addTransitionClass(el, leaveActiveClass);
|
8632 |
-
nextFrame(function () {
|
8633 |
-
removeTransitionClass(el, leaveClass);
|
8634 |
-
if (!cb.cancelled) {
|
8635 |
-
addTransitionClass(el, leaveToClass);
|
8636 |
-
if (!userWantsControl) {
|
8637 |
-
if (isValidDuration(explicitLeaveDuration)) {
|
8638 |
-
setTimeout(cb, explicitLeaveDuration);
|
8639 |
-
} else {
|
8640 |
-
whenTransitionEnds(el, type, cb);
|
8641 |
-
}
|
8642 |
-
}
|
8643 |
-
}
|
8644 |
-
});
|
8645 |
-
}
|
8646 |
-
leave && leave(el, cb);
|
8647 |
-
if (!expectsCSS && !userWantsControl) {
|
8648 |
-
cb();
|
8649 |
-
}
|
8650 |
-
}
|
8651 |
-
}
|
8652 |
-
|
8653 |
-
// only used in dev mode
|
8654 |
-
function checkDuration (val, name, vnode) {
|
8655 |
-
if (typeof val !== 'number') {
|
8656 |
-
warn(
|
8657 |
-
"<transition> explicit " + name + " duration is not a valid number - " +
|
8658 |
-
"got " + (JSON.stringify(val)) + ".",
|
8659 |
-
vnode.context
|
8660 |
-
);
|
8661 |
-
} else if (isNaN(val)) {
|
8662 |
-
warn(
|
8663 |
-
"<transition> explicit " + name + " duration is NaN - " +
|
8664 |
-
'the duration expression might be incorrect.',
|
8665 |
-
vnode.context
|
8666 |
-
);
|
8667 |
-
}
|
8668 |
-
}
|
8669 |
-
|
8670 |
-
function isValidDuration (val) {
|
8671 |
-
return typeof val === 'number' && !isNaN(val)
|
8672 |
-
}
|
8673 |
-
|
8674 |
-
/**
|
8675 |
-
* Normalize a transition hook's argument length. The hook may be:
|
8676 |
-
* - a merged hook (invoker) with the original in .fns
|
8677 |
-
* - a wrapped component method (check ._length)
|
8678 |
-
* - a plain function (.length)
|
8679 |
-
*/
|
8680 |
-
function getHookArgumentsLength (fn) {
|
8681 |
-
if (isUndef(fn)) {
|
8682 |
-
return false
|
8683 |
-
}
|
8684 |
-
var invokerFns = fn.fns;
|
8685 |
-
if (isDef(invokerFns)) {
|
8686 |
-
// invoker
|
8687 |
-
return getHookArgumentsLength(
|
8688 |
-
Array.isArray(invokerFns)
|
8689 |
-
? invokerFns[0]
|
8690 |
-
: invokerFns
|
8691 |
-
)
|
8692 |
-
} else {
|
8693 |
-
return (fn._length || fn.length) > 1
|
8694 |
-
}
|
8695 |
-
}
|
8696 |
-
|
8697 |
-
function _enter (_, vnode) {
|
8698 |
-
if (vnode.data.show !== true) {
|
8699 |
-
enter(vnode);
|
8700 |
-
}
|
8701 |
-
}
|
8702 |
-
|
8703 |
-
var transition = inBrowser ? {
|
8704 |
-
create: _enter,
|
8705 |
-
activate: _enter,
|
8706 |
-
remove: function remove$$1 (vnode, rm) {
|
8707 |
-
/* istanbul ignore else */
|
8708 |
-
if (vnode.data.show !== true) {
|
8709 |
-
leave(vnode, rm);
|
8710 |
-
} else {
|
8711 |
-
rm();
|
8712 |
-
}
|
8713 |
-
}
|
8714 |
-
} : {};
|
8715 |
-
|
8716 |
-
var platformModules = [
|
8717 |
-
attrs,
|
8718 |
-
klass,
|
8719 |
-
events,
|
8720 |
-
domProps,
|
8721 |
-
style,
|
8722 |
-
transition
|
8723 |
-
];
|
8724 |
-
|
8725 |
-
/* */
|
8726 |
-
|
8727 |
-
// the directive module should be applied last, after all
|
8728 |
-
// built-in modules have been applied.
|
8729 |
-
var modules = platformModules.concat(baseModules);
|
8730 |
-
|
8731 |
-
var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });
|
8732 |
-
|
8733 |
-
/**
|
8734 |
-
* Not type checking this file because flow doesn't like attaching
|
8735 |
-
* properties to Elements.
|
8736 |
-
*/
|
8737 |
-
|
8738 |
-
/* istanbul ignore if */
|
8739 |
-
if (isIE9) {
|
8740 |
-
// http://www.matts411.com/post/internet-explorer-9-oninput/
|
8741 |
-
document.addEventListener('selectionchange', function () {
|
8742 |
-
var el = document.activeElement;
|
8743 |
-
if (el && el.vmodel) {
|
8744 |
-
trigger(el, 'input');
|
8745 |
-
}
|
8746 |
-
});
|
8747 |
-
}
|
8748 |
-
|
8749 |
-
var directive = {
|
8750 |
-
inserted: function inserted (el, binding, vnode, oldVnode) {
|
8751 |
-
if (vnode.tag === 'select') {
|
8752 |
-
// #6903
|
8753 |
-
if (oldVnode.elm && !oldVnode.elm._vOptions) {
|
8754 |
-
mergeVNodeHook(vnode, 'postpatch', function () {
|
8755 |
-
directive.componentUpdated(el, binding, vnode);
|
8756 |
-
});
|
8757 |
-
} else {
|
8758 |
-
setSelected(el, binding, vnode.context);
|
8759 |
-
}
|
8760 |
-
el._vOptions = [].map.call(el.options, getValue);
|
8761 |
-
} else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {
|
8762 |
-
el._vModifiers = binding.modifiers;
|
8763 |
-
if (!binding.modifiers.lazy) {
|
8764 |
-
el.addEventListener('compositionstart', onCompositionStart);
|
8765 |
-
el.addEventListener('compositionend', onCompositionEnd);
|
8766 |
-
// Safari < 10.2 & UIWebView doesn't fire compositionend when
|
8767 |
-
// switching focus before confirming composition choice
|
8768 |
-
// this also fixes the issue where some browsers e.g. iOS Chrome
|
8769 |
-
// fires "change" instead of "input" on autocomplete.
|
8770 |
-
el.addEventListener('change', onCompositionEnd);
|
8771 |
-
/* istanbul ignore if */
|
8772 |
-
if (isIE9) {
|
8773 |
-
el.vmodel = true;
|
8774 |
-
}
|
8775 |
-
}
|
8776 |
-
}
|
8777 |
-
},
|
8778 |
-
|
8779 |
-
componentUpdated: function componentUpdated (el, binding, vnode) {
|
8780 |
-
if (vnode.tag === 'select') {
|
8781 |
-
setSelected(el, binding, vnode.context);
|
8782 |
-
// in case the options rendered by v-for have changed,
|
8783 |
-
// it's possible that the value is out-of-sync with the rendered options.
|
8784 |
-
// detect such cases and filter out values that no longer has a matching
|
8785 |
-
// option in the DOM.
|
8786 |
-
var prevOptions = el._vOptions;
|
8787 |
-
var curOptions = el._vOptions = [].map.call(el.options, getValue);
|
8788 |
-
if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {
|
8789 |
-
// trigger change event if
|
8790 |
-
// no matching option found for at least one value
|
8791 |
-
var needReset = el.multiple
|
8792 |
-
? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })
|
8793 |
-
: binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);
|
8794 |
-
if (needReset) {
|
8795 |
-
trigger(el, 'change');
|
8796 |
-
}
|
8797 |
-
}
|
8798 |
-
}
|
8799 |
-
}
|
8800 |
-
};
|
8801 |
-
|
8802 |
-
function setSelected (el, binding, vm) {
|
8803 |
-
actuallySetSelected(el, binding, vm);
|
8804 |
-
/* istanbul ignore if */
|
8805 |
-
if (isIE || isEdge) {
|
8806 |
-
setTimeout(function () {
|
8807 |
-
actuallySetSelected(el, binding, vm);
|
8808 |
-
}, 0);
|
8809 |
-
}
|
8810 |
-
}
|
8811 |
-
|
8812 |
-
function actuallySetSelected (el, binding, vm) {
|
8813 |
-
var value = binding.value;
|
8814 |
-
var isMultiple = el.multiple;
|
8815 |
-
if (isMultiple && !Array.isArray(value)) {
|
8816 |
-
process.env.NODE_ENV !== 'production' && warn(
|
8817 |
-
"<select multiple v-model=\"" + (binding.expression) + "\"> " +
|
8818 |
-
"expects an Array value for its binding, but got " + (Object.prototype.toString.call(value).slice(8, -1)),
|
8819 |
-
vm
|
8820 |
-
);
|
8821 |
-
return
|
8822 |
-
}
|
8823 |
-
var selected, option;
|
8824 |
-
for (var i = 0, l = el.options.length; i < l; i++) {
|
8825 |
-
option = el.options[i];
|
8826 |
-
if (isMultiple) {
|
8827 |
-
selected = looseIndexOf(value, getValue(option)) > -1;
|
8828 |
-
if (option.selected !== selected) {
|
8829 |
-
option.selected = selected;
|
8830 |
-
}
|
8831 |
-
} else {
|
8832 |
-
if (looseEqual(getValue(option), value)) {
|
8833 |
-
if (el.selectedIndex !== i) {
|
8834 |
-
el.selectedIndex = i;
|
8835 |
-
}
|
8836 |
-
return
|
8837 |
-
}
|
8838 |
-
}
|
8839 |
-
}
|
8840 |
-
if (!isMultiple) {
|
8841 |
-
el.selectedIndex = -1;
|
8842 |
-
}
|
8843 |
-
}
|
8844 |
-
|
8845 |
-
function hasNoMatchingOption (value, options) {
|
8846 |
-
return options.every(function (o) { return !looseEqual(o, value); })
|
8847 |
-
}
|
8848 |
-
|
8849 |
-
function getValue (option) {
|
8850 |
-
return '_value' in option
|
8851 |
-
? option._value
|
8852 |
-
: option.value
|
8853 |
-
}
|
8854 |
-
|
8855 |
-
function onCompositionStart (e) {
|
8856 |
-
e.target.composing = true;
|
8857 |
-
}
|
8858 |
-
|
8859 |
-
function onCompositionEnd (e) {
|
8860 |
-
// prevent triggering an input event for no reason
|
8861 |
-
if (!e.target.composing) { return }
|
8862 |
-
e.target.composing = false;
|
8863 |
-
trigger(e.target, 'input');
|
8864 |
-
}
|
8865 |
-
|
8866 |
-
function trigger (el, type) {
|
8867 |
-
var e = document.createEvent('HTMLEvents');
|
8868 |
-
e.initEvent(type, true, true);
|
8869 |
-
el.dispatchEvent(e);
|
8870 |
-
}
|
8871 |
-
|
8872 |
-
/* */
|
8873 |
-
|
8874 |
-
// recursively search for possible transition defined inside the component root
|
8875 |
-
function locateNode (vnode) {
|
8876 |
-
return vnode.componentInstance && (!vnode.data || !vnode.data.transition)
|
8877 |
-
? locateNode(vnode.componentInstance._vnode)
|
8878 |
-
: vnode
|
8879 |
-
}
|
8880 |
-
|
8881 |
-
var show = {
|
8882 |
-
bind: function bind (el, ref, vnode) {
|
8883 |
-
var value = ref.value;
|
8884 |
-
|
8885 |
-
vnode = locateNode(vnode);
|
8886 |
-
var transition$$1 = vnode.data && vnode.data.transition;
|
8887 |
-
var originalDisplay = el.__vOriginalDisplay =
|
8888 |
-
el.style.display === 'none' ? '' : el.style.display;
|
8889 |
-
if (value && transition$$1) {
|
8890 |
-
vnode.data.show = true;
|
8891 |
-
enter(vnode, function () {
|
8892 |
-
el.style.display = originalDisplay;
|
8893 |
-
});
|
8894 |
-
} else {
|
8895 |
-
el.style.display = value ? originalDisplay : 'none';
|
8896 |
-
}
|
8897 |
-
},
|
8898 |
-
|
8899 |
-
update: function update (el, ref, vnode) {
|
8900 |
-
var value = ref.value;
|
8901 |
-
var oldValue = ref.oldValue;
|
8902 |
-
|
8903 |
-
/* istanbul ignore if */
|
8904 |
-
if (!value === !oldValue) { return }
|
8905 |
-
vnode = locateNode(vnode);
|
8906 |
-
var transition$$1 = vnode.data && vnode.data.transition;
|
8907 |
-
if (transition$$1) {
|
8908 |
-
vnode.data.show = true;
|
8909 |
-
if (value) {
|
8910 |
-
enter(vnode, function () {
|
8911 |
-
el.style.display = el.__vOriginalDisplay;
|
8912 |
-
});
|
8913 |
-
} else {
|
8914 |
-
leave(vnode, function () {
|
8915 |
-
el.style.display = 'none';
|
8916 |
-
});
|
8917 |
-
}
|
8918 |
-
} else {
|
8919 |
-
el.style.display = value ? el.__vOriginalDisplay : 'none';
|
8920 |
-
}
|
8921 |
-
},
|
8922 |
-
|
8923 |
-
unbind: function unbind (
|
8924 |
-
el,
|
8925 |
-
binding,
|
8926 |
-
vnode,
|
8927 |
-
oldVnode,
|
8928 |
-
isDestroy
|
8929 |
-
) {
|
8930 |
-
if (!isDestroy) {
|
8931 |
-
el.style.display = el.__vOriginalDisplay;
|
8932 |
-
}
|
8933 |
-
}
|
8934 |
-
};
|
8935 |
-
|
8936 |
-
var platformDirectives = {
|
8937 |
-
model: directive,
|
8938 |
-
show: show
|
8939 |
-
};
|
8940 |
-
|
8941 |
-
/* */
|
8942 |
-
|
8943 |
-
var transitionProps = {
|
8944 |
-
name: String,
|
8945 |
-
appear: Boolean,
|
8946 |
-
css: Boolean,
|
8947 |
-
mode: String,
|
8948 |
-
type: String,
|
8949 |
-
enterClass: String,
|
8950 |
-
leaveClass: String,
|
8951 |
-
enterToClass: String,
|
8952 |
-
leaveToClass: String,
|
8953 |
-
enterActiveClass: String,
|
8954 |
-
leaveActiveClass: String,
|
8955 |
-
appearClass: String,
|
8956 |
-
appearActiveClass: String,
|
8957 |
-
appearToClass: String,
|
8958 |
-
duration: [Number, String, Object]
|
8959 |
-
};
|
8960 |
-
|
8961 |
-
// in case the child is also an abstract component, e.g. <keep-alive>
|
8962 |
-
// we want to recursively retrieve the real component to be rendered
|
8963 |
-
function getRealChild (vnode) {
|
8964 |
-
var compOptions = vnode && vnode.componentOptions;
|
8965 |
-
if (compOptions && compOptions.Ctor.options.abstract) {
|
8966 |
-
return getRealChild(getFirstComponentChild(compOptions.children))
|
8967 |
-
} else {
|
8968 |
-
return vnode
|
8969 |
-
}
|
8970 |
-
}
|
8971 |
-
|
8972 |
-
function extractTransitionData (comp) {
|
8973 |
-
var data = {};
|
8974 |
-
var options = comp.$options;
|
8975 |
-
// props
|
8976 |
-
for (var key in options.propsData) {
|
8977 |
-
data[key] = comp[key];
|
8978 |
-
}
|
8979 |
-
// events.
|
8980 |
-
// extract listeners and pass them directly to the transition methods
|
8981 |
-
var listeners = options._parentListeners;
|
8982 |
-
for (var key$1 in listeners) {
|
8983 |
-
data[camelize(key$1)] = listeners[key$1];
|
8984 |
-
}
|
8985 |
-
return data
|
8986 |
-
}
|
8987 |
-
|
8988 |
-
function placeholder (h, rawChild) {
|
8989 |
-
if (/\d-keep-alive$/.test(rawChild.tag)) {
|
8990 |
-
return h('keep-alive', {
|
8991 |
-
props: rawChild.componentOptions.propsData
|
8992 |
-
})
|
8993 |
-
}
|
8994 |
-
}
|
8995 |
-
|
8996 |
-
function hasParentTransition (vnode) {
|
8997 |
-
while ((vnode = vnode.parent)) {
|
8998 |
-
if (vnode.data.transition) {
|
8999 |
-
return true
|
9000 |
-
}
|
9001 |
-
}
|
9002 |
-
}
|
9003 |
-
|
9004 |
-
function isSameChild (child, oldChild) {
|
9005 |
-
return oldChild.key === child.key && oldChild.tag === child.tag
|
9006 |
-
}
|
9007 |
-
|
9008 |
-
var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };
|
9009 |
-
|
9010 |
-
var isVShowDirective = function (d) { return d.name === 'show'; };
|
9011 |
-
|
9012 |
-
var Transition = {
|
9013 |
-
name: 'transition',
|
9014 |
-
props: transitionProps,
|
9015 |
-
abstract: true,
|
9016 |
-
|
9017 |
-
render: function render (h) {
|
9018 |
-
var this$1 = this;
|
9019 |
-
|
9020 |
-
var children = this.$slots.default;
|
9021 |
-
if (!children) {
|
9022 |
-
return
|
9023 |
-
}
|
9024 |
-
|
9025 |
-
// filter out text nodes (possible whitespaces)
|
9026 |
-
children = children.filter(isNotTextNode);
|
9027 |
-
/* istanbul ignore if */
|
9028 |
-
if (!children.length) {
|
9029 |
-
return
|
9030 |
-
}
|
9031 |
-
|
9032 |
-
// warn multiple elements
|
9033 |
-
if (process.env.NODE_ENV !== 'production' && children.length > 1) {
|
9034 |
-
warn(
|
9035 |
-
'<transition> can only be used on a single element. Use ' +
|
9036 |
-
'<transition-group> for lists.',
|
9037 |
-
this.$parent
|
9038 |
-
);
|
9039 |
-
}
|
9040 |
-
|
9041 |
-
var mode = this.mode;
|
9042 |
-
|
9043 |
-
// warn invalid mode
|
9044 |
-
if (process.env.NODE_ENV !== 'production' &&
|
9045 |
-
mode && mode !== 'in-out' && mode !== 'out-in'
|
9046 |
-
) {
|
9047 |
-
warn(
|
9048 |
-
'invalid <transition> mode: ' + mode,
|
9049 |
-
this.$parent
|
9050 |
-
);
|
9051 |
-
}
|
9052 |
-
|
9053 |
-
var rawChild = children[0];
|
9054 |
-
|
9055 |
-
// if this is a component root node and the component's
|
9056 |
-
// parent container node also has transition, skip.
|
9057 |
-
if (hasParentTransition(this.$vnode)) {
|
9058 |
-
return rawChild
|
9059 |
-
}
|
9060 |
-
|
9061 |
-
// apply transition data to child
|
9062 |
-
// use getRealChild() to ignore abstract components e.g. keep-alive
|
9063 |
-
var child = getRealChild(rawChild);
|
9064 |
-
/* istanbul ignore if */
|
9065 |
-
if (!child) {
|
9066 |
-
return rawChild
|
9067 |
-
}
|
9068 |
-
|
9069 |
-
if (this._leaving) {
|
9070 |
-
return placeholder(h, rawChild)
|
9071 |
-
}
|
9072 |
-
|
9073 |
-
// ensure a key that is unique to the vnode type and to this transition
|
9074 |
-
// component instance. This key will be used to remove pending leaving nodes
|
9075 |
-
// during entering.
|
9076 |
-
var id = "__transition-" + (this._uid) + "-";
|
9077 |
-
child.key = child.key == null
|
9078 |
-
? child.isComment
|
9079 |
-
? id + 'comment'
|
9080 |
-
: id + child.tag
|
9081 |
-
: isPrimitive(child.key)
|
9082 |
-
? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)
|
9083 |
-
: child.key;
|
9084 |
-
|
9085 |
-
var data = (child.data || (child.data = {})).transition = extractTransitionData(this);
|
9086 |
-
var oldRawChild = this._vnode;
|
9087 |
-
var oldChild = getRealChild(oldRawChild);
|
9088 |
-
|
9089 |
-
// mark v-show
|
9090 |
-
// so that the transition module can hand over the control to the directive
|
9091 |
-
if (child.data.directives && child.data.directives.some(isVShowDirective)) {
|
9092 |
-
child.data.show = true;
|
9093 |
-
}
|
9094 |
-
|
9095 |
-
if (
|
9096 |
-
oldChild &&
|
9097 |
-
oldChild.data &&
|
9098 |
-
!isSameChild(child, oldChild) &&
|
9099 |
-
!isAsyncPlaceholder(oldChild) &&
|
9100 |
-
// #6687 component root is a comment node
|
9101 |
-
!(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)
|
9102 |
-
) {
|
9103 |
-
// replace old child transition data with fresh one
|
9104 |
-
// important for dynamic transitions!
|
9105 |
-
var oldData = oldChild.data.transition = extend({}, data);
|
9106 |
-
// handle transition mode
|
9107 |
-
if (mode === 'out-in') {
|
9108 |
-
// return placeholder node and queue update when leave finishes
|
9109 |
-
this._leaving = true;
|
9110 |
-
mergeVNodeHook(oldData, 'afterLeave', function () {
|
9111 |
-
this$1._leaving = false;
|
9112 |
-
this$1.$forceUpdate();
|
9113 |
-
});
|
9114 |
-
return placeholder(h, rawChild)
|
9115 |
-
} else if (mode === 'in-out') {
|
9116 |
-
if (isAsyncPlaceholder(child)) {
|
9117 |
-
return oldRawChild
|
9118 |
-
}
|
9119 |
-
var delayedLeave;
|
9120 |
-
var performLeave = function () { delayedLeave(); };
|
9121 |
-
mergeVNodeHook(data, 'afterEnter', performLeave);
|
9122 |
-
mergeVNodeHook(data, 'enterCancelled', performLeave);
|
9123 |
-
mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });
|
9124 |
-
}
|
9125 |
-
}
|
9126 |
-
|
9127 |
-
return rawChild
|
9128 |
-
}
|
9129 |
-
};
|
9130 |
-
|
9131 |
-
/* */
|
9132 |
-
|
9133 |
-
var props = extend({
|
9134 |
-
tag: String,
|
9135 |
-
moveClass: String
|
9136 |
-
}, transitionProps);
|
9137 |
-
|
9138 |
-
delete props.mode;
|
9139 |
-
|
9140 |
-
var TransitionGroup = {
|
9141 |
-
props: props,
|
9142 |
-
|
9143 |
-
beforeMount: function beforeMount () {
|
9144 |
-
var this$1 = this;
|
9145 |
-
|
9146 |
-
var update = this._update;
|
9147 |
-
this._update = function (vnode, hydrating) {
|
9148 |
-
var restoreActiveInstance = setActiveInstance(this$1);
|
9149 |
-
// force removing pass
|
9150 |
-
this$1.__patch__(
|
9151 |
-
this$1._vnode,
|
9152 |
-
this$1.kept,
|
9153 |
-
false, // hydrating
|
9154 |
-
true // removeOnly (!important, avoids unnecessary moves)
|
9155 |
-
);
|
9156 |
-
this$1._vnode = this$1.kept;
|
9157 |
-
restoreActiveInstance();
|
9158 |
-
update.call(this$1, vnode, hydrating);
|
9159 |
-
};
|
9160 |
-
},
|
9161 |
-
|
9162 |
-
render: function render (h) {
|
9163 |
-
var tag = this.tag || this.$vnode.data.tag || 'span';
|
9164 |
-
var map = Object.create(null);
|
9165 |
-
var prevChildren = this.prevChildren = this.children;
|
9166 |
-
var rawChildren = this.$slots.default || [];
|
9167 |
-
var children = this.children = [];
|
9168 |
-
var transitionData = extractTransitionData(this);
|
9169 |
-
|
9170 |
-
for (var i = 0; i < rawChildren.length; i++) {
|
9171 |
-
var c = rawChildren[i];
|
9172 |
-
if (c.tag) {
|
9173 |
-
if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {
|
9174 |
-
children.push(c);
|
9175 |
-
map[c.key] = c
|
9176 |
-
;(c.data || (c.data = {})).transition = transitionData;
|
9177 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
9178 |
-
var opts = c.componentOptions;
|
9179 |
-
var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;
|
9180 |
-
warn(("<transition-group> children must be keyed: <" + name + ">"));
|
9181 |
-
}
|
9182 |
-
}
|
9183 |
-
}
|
9184 |
-
|
9185 |
-
if (prevChildren) {
|
9186 |
-
var kept = [];
|
9187 |
-
var removed = [];
|
9188 |
-
for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {
|
9189 |
-
var c$1 = prevChildren[i$1];
|
9190 |
-
c$1.data.transition = transitionData;
|
9191 |
-
c$1.data.pos = c$1.elm.getBoundingClientRect();
|
9192 |
-
if (map[c$1.key]) {
|
9193 |
-
kept.push(c$1);
|
9194 |
-
} else {
|
9195 |
-
removed.push(c$1);
|
9196 |
-
}
|
9197 |
-
}
|
9198 |
-
this.kept = h(tag, null, kept);
|
9199 |
-
this.removed = removed;
|
9200 |
-
}
|
9201 |
-
|
9202 |
-
return h(tag, null, children)
|
9203 |
-
},
|
9204 |
-
|
9205 |
-
updated: function updated () {
|
9206 |
-
var children = this.prevChildren;
|
9207 |
-
var moveClass = this.moveClass || ((this.name || 'v') + '-move');
|
9208 |
-
if (!children.length || !this.hasMove(children[0].elm, moveClass)) {
|
9209 |
-
return
|
9210 |
-
}
|
9211 |
-
|
9212 |
-
// we divide the work into three loops to avoid mixing DOM reads and writes
|
9213 |
-
// in each iteration - which helps prevent layout thrashing.
|
9214 |
-
children.forEach(callPendingCbs);
|
9215 |
-
children.forEach(recordPosition);
|
9216 |
-
children.forEach(applyTranslation);
|
9217 |
-
|
9218 |
-
// force reflow to put everything in position
|
9219 |
-
// assign to this to avoid being removed in tree-shaking
|
9220 |
-
// $flow-disable-line
|
9221 |
-
this._reflow = document.body.offsetHeight;
|
9222 |
-
|
9223 |
-
children.forEach(function (c) {
|
9224 |
-
if (c.data.moved) {
|
9225 |
-
var el = c.elm;
|
9226 |
-
var s = el.style;
|
9227 |
-
addTransitionClass(el, moveClass);
|
9228 |
-
s.transform = s.WebkitTransform = s.transitionDuration = '';
|
9229 |
-
el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {
|
9230 |
-
if (e && e.target !== el) {
|
9231 |
-
return
|
9232 |
-
}
|
9233 |
-
if (!e || /transform$/.test(e.propertyName)) {
|
9234 |
-
el.removeEventListener(transitionEndEvent, cb);
|
9235 |
-
el._moveCb = null;
|
9236 |
-
removeTransitionClass(el, moveClass);
|
9237 |
-
}
|
9238 |
-
});
|
9239 |
-
}
|
9240 |
-
});
|
9241 |
-
},
|
9242 |
-
|
9243 |
-
methods: {
|
9244 |
-
hasMove: function hasMove (el, moveClass) {
|
9245 |
-
/* istanbul ignore if */
|
9246 |
-
if (!hasTransition) {
|
9247 |
-
return false
|
9248 |
-
}
|
9249 |
-
/* istanbul ignore if */
|
9250 |
-
if (this._hasMove) {
|
9251 |
-
return this._hasMove
|
9252 |
-
}
|
9253 |
-
// Detect whether an element with the move class applied has
|
9254 |
-
// CSS transitions. Since the element may be inside an entering
|
9255 |
-
// transition at this very moment, we make a clone of it and remove
|
9256 |
-
// all other transition classes applied to ensure only the move class
|
9257 |
-
// is applied.
|
9258 |
-
var clone = el.cloneNode();
|
9259 |
-
if (el._transitionClasses) {
|
9260 |
-
el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });
|
9261 |
-
}
|
9262 |
-
addClass(clone, moveClass);
|
9263 |
-
clone.style.display = 'none';
|
9264 |
-
this.$el.appendChild(clone);
|
9265 |
-
var info = getTransitionInfo(clone);
|
9266 |
-
this.$el.removeChild(clone);
|
9267 |
-
return (this._hasMove = info.hasTransform)
|
9268 |
-
}
|
9269 |
-
}
|
9270 |
-
};
|
9271 |
-
|
9272 |
-
function callPendingCbs (c) {
|
9273 |
-
/* istanbul ignore if */
|
9274 |
-
if (c.elm._moveCb) {
|
9275 |
-
c.elm._moveCb();
|
9276 |
-
}
|
9277 |
-
/* istanbul ignore if */
|
9278 |
-
if (c.elm._enterCb) {
|
9279 |
-
c.elm._enterCb();
|
9280 |
-
}
|
9281 |
-
}
|
9282 |
-
|
9283 |
-
function recordPosition (c) {
|
9284 |
-
c.data.newPos = c.elm.getBoundingClientRect();
|
9285 |
-
}
|
9286 |
-
|
9287 |
-
function applyTranslation (c) {
|
9288 |
-
var oldPos = c.data.pos;
|
9289 |
-
var newPos = c.data.newPos;
|
9290 |
-
var dx = oldPos.left - newPos.left;
|
9291 |
-
var dy = oldPos.top - newPos.top;
|
9292 |
-
if (dx || dy) {
|
9293 |
-
c.data.moved = true;
|
9294 |
-
var s = c.elm.style;
|
9295 |
-
s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)";
|
9296 |
-
s.transitionDuration = '0s';
|
9297 |
-
}
|
9298 |
-
}
|
9299 |
-
|
9300 |
-
var platformComponents = {
|
9301 |
-
Transition: Transition,
|
9302 |
-
TransitionGroup: TransitionGroup
|
9303 |
-
};
|
9304 |
-
|
9305 |
-
/* */
|
9306 |
-
|
9307 |
-
// install platform specific utils
|
9308 |
-
Vue.config.mustUseProp = mustUseProp;
|
9309 |
-
Vue.config.isReservedTag = isReservedTag;
|
9310 |
-
Vue.config.isReservedAttr = isReservedAttr;
|
9311 |
-
Vue.config.getTagNamespace = getTagNamespace;
|
9312 |
-
Vue.config.isUnknownElement = isUnknownElement;
|
9313 |
-
|
9314 |
-
// install platform runtime directives & components
|
9315 |
-
extend(Vue.options.directives, platformDirectives);
|
9316 |
-
extend(Vue.options.components, platformComponents);
|
9317 |
-
|
9318 |
-
// install platform patch function
|
9319 |
-
Vue.prototype.__patch__ = inBrowser ? patch : noop;
|
9320 |
-
|
9321 |
-
// public mount method
|
9322 |
-
Vue.prototype.$mount = function (
|
9323 |
-
el,
|
9324 |
-
hydrating
|
9325 |
-
) {
|
9326 |
-
el = el && inBrowser ? query(el) : undefined;
|
9327 |
-
return mountComponent(this, el, hydrating)
|
9328 |
-
};
|
9329 |
-
|
9330 |
-
// devtools global hook
|
9331 |
-
/* istanbul ignore next */
|
9332 |
-
if (inBrowser) {
|
9333 |
-
setTimeout(function () {
|
9334 |
-
if (config.devtools) {
|
9335 |
-
if (devtools) {
|
9336 |
-
devtools.emit('init', Vue);
|
9337 |
-
} else if (
|
9338 |
-
process.env.NODE_ENV !== 'production' &&
|
9339 |
-
process.env.NODE_ENV !== 'test'
|
9340 |
-
) {
|
9341 |
-
console[console.info ? 'info' : 'log'](
|
9342 |
-
'Download the Vue Devtools extension for a better development experience:\n' +
|
9343 |
-
'https://github.com/vuejs/vue-devtools'
|
9344 |
-
);
|
9345 |
-
}
|
9346 |
-
}
|
9347 |
-
if (process.env.NODE_ENV !== 'production' &&
|
9348 |
-
process.env.NODE_ENV !== 'test' &&
|
9349 |
-
config.productionTip !== false &&
|
9350 |
-
typeof console !== 'undefined'
|
9351 |
-
) {
|
9352 |
-
console[console.info ? 'info' : 'log'](
|
9353 |
-
"You are running Vue in development mode.\n" +
|
9354 |
-
"Make sure to turn on production mode when deploying for production.\n" +
|
9355 |
-
"See more tips at https://vuejs.org/guide/deployment.html"
|
9356 |
-
);
|
9357 |
-
}
|
9358 |
-
}, 0);
|
9359 |
-
}
|
9360 |
-
|
9361 |
-
/* */
|
9362 |
-
|
9363 |
-
var defaultTagRE = /\{\{((?:.|\r?\n)+?)\}\}/g;
|
9364 |
-
var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g;
|
9365 |
-
|
9366 |
-
var buildRegex = cached(function (delimiters) {
|
9367 |
-
var open = delimiters[0].replace(regexEscapeRE, '\\$&');
|
9368 |
-
var close = delimiters[1].replace(regexEscapeRE, '\\$&');
|
9369 |
-
return new RegExp(open + '((?:.|\\n)+?)' + close, 'g')
|
9370 |
-
});
|
9371 |
-
|
9372 |
-
|
9373 |
-
|
9374 |
-
function parseText (
|
9375 |
-
text,
|
9376 |
-
delimiters
|
9377 |
-
) {
|
9378 |
-
var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
|
9379 |
-
if (!tagRE.test(text)) {
|
9380 |
-
return
|
9381 |
-
}
|
9382 |
-
var tokens = [];
|
9383 |
-
var rawTokens = [];
|
9384 |
-
var lastIndex = tagRE.lastIndex = 0;
|
9385 |
-
var match, index, tokenValue;
|
9386 |
-
while ((match = tagRE.exec(text))) {
|
9387 |
-
index = match.index;
|
9388 |
-
// push text token
|
9389 |
-
if (index > lastIndex) {
|
9390 |
-
rawTokens.push(tokenValue = text.slice(lastIndex, index));
|
9391 |
-
tokens.push(JSON.stringify(tokenValue));
|
9392 |
-
}
|
9393 |
-
// tag token
|
9394 |
-
var exp = parseFilters(match[1].trim());
|
9395 |
-
tokens.push(("_s(" + exp + ")"));
|
9396 |
-
rawTokens.push({ '@binding': exp });
|
9397 |
-
lastIndex = index + match[0].length;
|
9398 |
-
}
|
9399 |
-
if (lastIndex < text.length) {
|
9400 |
-
rawTokens.push(tokenValue = text.slice(lastIndex));
|
9401 |
-
tokens.push(JSON.stringify(tokenValue));
|
9402 |
-
}
|
9403 |
-
return {
|
9404 |
-
expression: tokens.join('+'),
|
9405 |
-
tokens: rawTokens
|
9406 |
-
}
|
9407 |
-
}
|
9408 |
-
|
9409 |
-
/* */
|
9410 |
-
|
9411 |
-
function transformNode (el, options) {
|
9412 |
-
var warn = options.warn || baseWarn;
|
9413 |
-
var staticClass = getAndRemoveAttr(el, 'class');
|
9414 |
-
if (process.env.NODE_ENV !== 'production' && staticClass) {
|
9415 |
-
var res = parseText(staticClass, options.delimiters);
|
9416 |
-
if (res) {
|
9417 |
-
warn(
|
9418 |
-
"class=\"" + staticClass + "\": " +
|
9419 |
-
'Interpolation inside attributes has been removed. ' +
|
9420 |
-
'Use v-bind or the colon shorthand instead. For example, ' +
|
9421 |
-
'instead of <div class="{{ val }}">, use <div :class="val">.',
|
9422 |
-
el.rawAttrsMap['class']
|
9423 |
-
);
|
9424 |
-
}
|
9425 |
-
}
|
9426 |
-
if (staticClass) {
|
9427 |
-
el.staticClass = JSON.stringify(staticClass);
|
9428 |
-
}
|
9429 |
-
var classBinding = getBindingAttr(el, 'class', false /* getStatic */);
|
9430 |
-
if (classBinding) {
|
9431 |
-
el.classBinding = classBinding;
|
9432 |
-
}
|
9433 |
-
}
|
9434 |
-
|
9435 |
-
function genData (el) {
|
9436 |
-
var data = '';
|
9437 |
-
if (el.staticClass) {
|
9438 |
-
data += "staticClass:" + (el.staticClass) + ",";
|
9439 |
-
}
|
9440 |
-
if (el.classBinding) {
|
9441 |
-
data += "class:" + (el.classBinding) + ",";
|
9442 |
-
}
|
9443 |
-
return data
|
9444 |
-
}
|
9445 |
-
|
9446 |
-
var klass$1 = {
|
9447 |
-
staticKeys: ['staticClass'],
|
9448 |
-
transformNode: transformNode,
|
9449 |
-
genData: genData
|
9450 |
-
};
|
9451 |
-
|
9452 |
-
/* */
|
9453 |
-
|
9454 |
-
function transformNode$1 (el, options) {
|
9455 |
-
var warn = options.warn || baseWarn;
|
9456 |
-
var staticStyle = getAndRemoveAttr(el, 'style');
|
9457 |
-
if (staticStyle) {
|
9458 |
-
/* istanbul ignore if */
|
9459 |
-
if (process.env.NODE_ENV !== 'production') {
|
9460 |
-
var res = parseText(staticStyle, options.delimiters);
|
9461 |
-
if (res) {
|
9462 |
-
warn(
|
9463 |
-
"style=\"" + staticStyle + "\": " +
|
9464 |
-
'Interpolation inside attributes has been removed. ' +
|
9465 |
-
'Use v-bind or the colon shorthand instead. For example, ' +
|
9466 |
-
'instead of <div style="{{ val }}">, use <div :style="val">.',
|
9467 |
-
el.rawAttrsMap['style']
|
9468 |
-
);
|
9469 |
-
}
|
9470 |
-
}
|
9471 |
-
el.staticStyle = JSON.stringify(parseStyleText(staticStyle));
|
9472 |
-
}
|
9473 |
-
|
9474 |
-
var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);
|
9475 |
-
if (styleBinding) {
|
9476 |
-
el.styleBinding = styleBinding;
|
9477 |
-
}
|
9478 |
-
}
|
9479 |
-
|
9480 |
-
function genData$1 (el) {
|
9481 |
-
var data = '';
|
9482 |
-
if (el.staticStyle) {
|
9483 |
-
data += "staticStyle:" + (el.staticStyle) + ",";
|
9484 |
-
}
|
9485 |
-
if (el.styleBinding) {
|
9486 |
-
data += "style:(" + (el.styleBinding) + "),";
|
9487 |
-
}
|
9488 |
-
return data
|
9489 |
-
}
|
9490 |
-
|
9491 |
-
var style$1 = {
|
9492 |
-
staticKeys: ['staticStyle'],
|
9493 |
-
transformNode: transformNode$1,
|
9494 |
-
genData: genData$1
|
9495 |
-
};
|
9496 |
-
|
9497 |
-
/* */
|
9498 |
-
|
9499 |
-
var decoder;
|
9500 |
-
|
9501 |
-
var he = {
|
9502 |
-
decode: function decode (html) {
|
9503 |
-
decoder = decoder || document.createElement('div');
|
9504 |
-
decoder.innerHTML = html;
|
9505 |
-
return decoder.textContent
|
9506 |
-
}
|
9507 |
-
};
|
9508 |
-
|
9509 |
-
/* */
|
9510 |
-
|
9511 |
-
var isUnaryTag = makeMap(
|
9512 |
-
'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
|
9513 |
-
'link,meta,param,source,track,wbr'
|
9514 |
-
);
|
9515 |
-
|
9516 |
-
// Elements that you can, intentionally, leave open
|
9517 |
-
// (and which close themselves)
|
9518 |
-
var canBeLeftOpenTag = makeMap(
|
9519 |
-
'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'
|
9520 |
-
);
|
9521 |
-
|
9522 |
-
// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
|
9523 |
-
// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
|
9524 |
-
var isNonPhrasingTag = makeMap(
|
9525 |
-
'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +
|
9526 |
-
'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +
|
9527 |
-
'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +
|
9528 |
-
'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +
|
9529 |
-
'title,tr,track'
|
9530 |
-
);
|
9531 |
-
|
9532 |
-
/**
|
9533 |
-
* Not type-checking this file because it's mostly vendor code.
|
9534 |
-
*/
|
9535 |
-
|
9536 |
-
// Regular Expressions for parsing tags and attributes
|
9537 |
-
var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9538 |
-
var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9539 |
-
var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + (unicodeRegExp.source) + "]*";
|
9540 |
-
var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")";
|
9541 |
-
var startTagOpen = new RegExp(("^<" + qnameCapture));
|
9542 |
-
var startTagClose = /^\s*(\/?)>/;
|
9543 |
-
var endTag = new RegExp(("^<\\/" + qnameCapture + "[^>]*>"));
|
9544 |
-
var doctype = /^<!DOCTYPE [^>]+>/i;
|
9545 |
-
// #7298: escape - to avoid being passed as HTML comment when inlined in page
|
9546 |
-
var comment = /^<!\--/;
|
9547 |
-
var conditionalComment = /^<!\[/;
|
9548 |
-
|
9549 |
-
// Special Elements (can contain anything)
|
9550 |
-
var isPlainTextElement = makeMap('script,style,textarea', true);
|
9551 |
-
var reCache = {};
|
9552 |
-
|
9553 |
-
var decodingMap = {
|
9554 |
-
'<': '<',
|
9555 |
-
'>': '>',
|
9556 |
-
'"': '"',
|
9557 |
-
'&': '&',
|
9558 |
-
' ': '\n',
|
9559 |
-
'	': '\t',
|
9560 |
-
''': "'"
|
9561 |
-
};
|
9562 |
-
var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;
|
9563 |
-
var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;
|
9564 |
-
|
9565 |
-
// #5992
|
9566 |
-
var isIgnoreNewlineTag = makeMap('pre,textarea', true);
|
9567 |
-
var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; };
|
9568 |
-
|
9569 |
-
function decodeAttr (value, shouldDecodeNewlines) {
|
9570 |
-
var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;
|
9571 |
-
return value.replace(re, function (match) { return decodingMap[match]; })
|
9572 |
-
}
|
9573 |
-
|
9574 |
-
function parseHTML (html, options) {
|
9575 |
-
var stack = [];
|
9576 |
-
var expectHTML = options.expectHTML;
|
9577 |
-
var isUnaryTag$$1 = options.isUnaryTag || no;
|
9578 |
-
var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;
|
9579 |
-
var index = 0;
|
9580 |
-
var last, lastTag;
|
9581 |
-
while (html) {
|
9582 |
-
last = html;
|
9583 |
-
// Make sure we're not in a plaintext content element like script/style
|
9584 |
-
if (!lastTag || !isPlainTextElement(lastTag)) {
|
9585 |
-
var textEnd = html.indexOf('<');
|
9586 |
-
if (textEnd === 0) {
|
9587 |
-
// Comment:
|
9588 |
-
if (comment.test(html)) {
|
9589 |
-
var commentEnd = html.indexOf('-->');
|
9590 |
-
|
9591 |
-
if (commentEnd >= 0) {
|
9592 |
-
if (options.shouldKeepComment) {
|
9593 |
-
options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);
|
9594 |
-
}
|
9595 |
-
advance(commentEnd + 3);
|
9596 |
-
continue
|
9597 |
-
}
|
9598 |
-
}
|
9599 |
-
|
9600 |
-
// http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
|
9601 |
-
if (conditionalComment.test(html)) {
|
9602 |
-
var conditionalEnd = html.indexOf(']>');
|
9603 |
-
|
9604 |
-
if (conditionalEnd >= 0) {
|
9605 |
-
advance(conditionalEnd + 2);
|
9606 |
-
continue
|
9607 |
-
}
|
9608 |
-
}
|
9609 |
-
|
9610 |
-
// Doctype:
|
9611 |
-
var doctypeMatch = html.match(doctype);
|
9612 |
-
if (doctypeMatch) {
|
9613 |
-
advance(doctypeMatch[0].length);
|
9614 |
-
continue
|
9615 |
-
}
|
9616 |
-
|
9617 |
-
// End tag:
|
9618 |
-
var endTagMatch = html.match(endTag);
|
9619 |
-
if (endTagMatch) {
|
9620 |
-
var curIndex = index;
|
9621 |
-
advance(endTagMatch[0].length);
|
9622 |
-
parseEndTag(endTagMatch[1], curIndex, index);
|
9623 |
-
continue
|
9624 |
-
}
|
9625 |
-
|
9626 |
-
// Start tag:
|
9627 |
-
var startTagMatch = parseStartTag();
|
9628 |
-
if (startTagMatch) {
|
9629 |
-
handleStartTag(startTagMatch);
|
9630 |
-
if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {
|
9631 |
-
advance(1);
|
9632 |
-
}
|
9633 |
-
continue
|
9634 |
-
}
|
9635 |
-
}
|
9636 |
-
|
9637 |
-
var text = (void 0), rest = (void 0), next = (void 0);
|
9638 |
-
if (textEnd >= 0) {
|
9639 |
-
rest = html.slice(textEnd);
|
9640 |
-
while (
|
9641 |
-
!endTag.test(rest) &&
|
9642 |
-
!startTagOpen.test(rest) &&
|
9643 |
-
!comment.test(rest) &&
|
9644 |
-
!conditionalComment.test(rest)
|
9645 |
-
) {
|
9646 |
-
// < in plain text, be forgiving and treat it as text
|
9647 |
-
next = rest.indexOf('<', 1);
|
9648 |
-
if (next < 0) { break }
|
9649 |
-
textEnd += next;
|
9650 |
-
rest = html.slice(textEnd);
|
9651 |
-
}
|
9652 |
-
text = html.substring(0, textEnd);
|
9653 |
-
}
|
9654 |
-
|
9655 |
-
if (textEnd < 0) {
|
9656 |
-
text = html;
|
9657 |
-
}
|
9658 |
-
|
9659 |
-
if (text) {
|
9660 |
-
advance(text.length);
|
9661 |
-
}
|
9662 |
-
|
9663 |
-
if (options.chars && text) {
|
9664 |
-
options.chars(text, index - text.length, index);
|
9665 |
-
}
|
9666 |
-
} else {
|
9667 |
-
var endTagLength = 0;
|
9668 |
-
var stackedTag = lastTag.toLowerCase();
|
9669 |
-
var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));
|
9670 |
-
var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {
|
9671 |
-
endTagLength = endTag.length;
|
9672 |
-
if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {
|
9673 |
-
text = text
|
9674 |
-
.replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298
|
9675 |
-
.replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1');
|
9676 |
-
}
|
9677 |
-
if (shouldIgnoreFirstNewline(stackedTag, text)) {
|
9678 |
-
text = text.slice(1);
|
9679 |
-
}
|
9680 |
-
if (options.chars) {
|
9681 |
-
options.chars(text);
|
9682 |
-
}
|
9683 |
-
return ''
|
9684 |
-
});
|
9685 |
-
index += html.length - rest$1.length;
|
9686 |
-
html = rest$1;
|
9687 |
-
parseEndTag(stackedTag, index - endTagLength, index);
|
9688 |
-
}
|
9689 |
-
|
9690 |
-
if (html === last) {
|
9691 |
-
options.chars && options.chars(html);
|
9692 |
-
if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {
|
9693 |
-
options.warn(("Mal-formatted tag at end of template: \"" + html + "\""), { start: index + html.length });
|
9694 |
-
}
|
9695 |
-
break
|
9696 |
-
}
|
9697 |
-
}
|
9698 |
-
|
9699 |
-
// Clean up any remaining tags
|
9700 |
-
parseEndTag();
|
9701 |
-
|
9702 |
-
function advance (n) {
|
9703 |
-
index += n;
|
9704 |
-
html = html.substring(n);
|
9705 |
-
}
|
9706 |
-
|
9707 |
-
function parseStartTag () {
|
9708 |
-
var start = html.match(startTagOpen);
|
9709 |
-
if (start) {
|
9710 |
-
var match = {
|
9711 |
-
tagName: start[1],
|
9712 |
-
attrs: [],
|
9713 |
-
start: index
|
9714 |
-
};
|
9715 |
-
advance(start[0].length);
|
9716 |
-
var end, attr;
|
9717 |
-
while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {
|
9718 |
-
attr.start = index;
|
9719 |
-
advance(attr[0].length);
|
9720 |
-
attr.end = index;
|
9721 |
-
match.attrs.push(attr);
|
9722 |
-
}
|
9723 |
-
if (end) {
|
9724 |
-
match.unarySlash = end[1];
|
9725 |
-
advance(end[0].length);
|
9726 |
-
match.end = index;
|
9727 |
-
return match
|
9728 |
-
}
|
9729 |
-
}
|
9730 |
-
}
|
9731 |
-
|
9732 |
-
function handleStartTag (match) {
|
9733 |
-
var tagName = match.tagName;
|
9734 |
-
var unarySlash = match.unarySlash;
|
9735 |
-
|
9736 |
-
if (expectHTML) {
|
9737 |
-
if (lastTag === 'p' && isNonPhrasingTag(tagName)) {
|
9738 |
-
parseEndTag(lastTag);
|
9739 |
-
}
|
9740 |
-
if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {
|
9741 |
-
parseEndTag(tagName);
|
9742 |
-
}
|
9743 |
-
}
|
9744 |
-
|
9745 |
-
var unary = isUnaryTag$$1(tagName) || !!unarySlash;
|
9746 |
-
|
9747 |
-
var l = match.attrs.length;
|
9748 |
-
var attrs = new Array(l);
|
9749 |
-
for (var i = 0; i < l; i++) {
|
9750 |
-
var args = match.attrs[i];
|
9751 |
-
var value = args[3] || args[4] || args[5] || '';
|
9752 |
-
var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'
|
9753 |
-
? options.shouldDecodeNewlinesForHref
|
9754 |
-
: options.shouldDecodeNewlines;
|
9755 |
-
attrs[i] = {
|
9756 |
-
name: args[1],
|
9757 |
-
value: decodeAttr(value, shouldDecodeNewlines)
|
9758 |
-
};
|
9759 |
-
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
9760 |
-
attrs[i].start = args.start + args[0].match(/^\s*/).length;
|
9761 |
-
attrs[i].end = args.end;
|
9762 |
-
}
|
9763 |
-
}
|
9764 |
-
|
9765 |
-
if (!unary) {
|
9766 |
-
stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });
|
9767 |
-
lastTag = tagName;
|
9768 |
-
}
|
9769 |
-
|
9770 |
-
if (options.start) {
|
9771 |
-
options.start(tagName, attrs, unary, match.start, match.end);
|
9772 |
-
}
|
9773 |
-
}
|
9774 |
-
|
9775 |
-
function parseEndTag (tagName, start, end) {
|
9776 |
-
var pos, lowerCasedTagName;
|
9777 |
-
if (start == null) { start = index; }
|
9778 |
-
if (end == null) { end = index; }
|
9779 |
-
|
9780 |
-
// Find the closest opened tag of the same type
|
9781 |
-
if (tagName) {
|
9782 |
-
lowerCasedTagName = tagName.toLowerCase();
|
9783 |
-
for (pos = stack.length - 1; pos >= 0; pos--) {
|
9784 |
-
if (stack[pos].lowerCasedTag === lowerCasedTagName) {
|
9785 |
-
break
|
9786 |
-
}
|
9787 |
-
}
|
9788 |
-
} else {
|
9789 |
-
// If no tag name is provided, clean shop
|
9790 |
-
pos = 0;
|
9791 |
-
}
|
9792 |
-
|
9793 |
-
if (pos >= 0) {
|
9794 |
-
// Close all the open elements, up the stack
|
9795 |
-
for (var i = stack.length - 1; i >= pos; i--) {
|
9796 |
-
if (process.env.NODE_ENV !== 'production' &&
|
9797 |
-
(i > pos || !tagName) &&
|
9798 |
-
options.warn
|
9799 |
-
) {
|
9800 |
-
options.warn(
|
9801 |
-
("tag <" + (stack[i].tag) + "> has no matching end tag."),
|
9802 |
-
{ start: stack[i].start, end: stack[i].end }
|
9803 |
-
);
|
9804 |
-
}
|
9805 |
-
if (options.end) {
|
9806 |
-
options.end(stack[i].tag, start, end);
|
9807 |
-
}
|
9808 |
-
}
|
9809 |
-
|
9810 |
-
// Remove the open elements from the stack
|
9811 |
-
stack.length = pos;
|
9812 |
-
lastTag = pos && stack[pos - 1].tag;
|
9813 |
-
} else if (lowerCasedTagName === 'br') {
|
9814 |
-
if (options.start) {
|
9815 |
-
options.start(tagName, [], true, start, end);
|
9816 |
-
}
|
9817 |
-
} else if (lowerCasedTagName === 'p') {
|
9818 |
-
if (options.start) {
|
9819 |
-
options.start(tagName, [], false, start, end);
|
9820 |
-
}
|
9821 |
-
if (options.end) {
|
9822 |
-
options.end(tagName, start, end);
|
9823 |
-
}
|
9824 |
-
}
|
9825 |
-
}
|
9826 |
-
}
|
9827 |
-
|
9828 |
-
/* */
|
9829 |
-
|
9830 |
-
var onRE = /^@|^v-on:/;
|
9831 |
-
var dirRE = /^v-|^@|^:|^#/;
|
9832 |
-
var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
|
9833 |
-
var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
|
9834 |
-
var stripParensRE = /^\(|\)$/g;
|
9835 |
-
var dynamicArgRE = /^\[.*\]$/;
|
9836 |
-
|
9837 |
-
var argRE = /:(.*)$/;
|
9838 |
-
var bindRE = /^:|^\.|^v-bind:/;
|
9839 |
-
var modifierRE = /\.[^.\]]+(?=[^\]]*$)/g;
|
9840 |
-
|
9841 |
-
var slotRE = /^v-slot(:|$)|^#/;
|
9842 |
-
|
9843 |
-
var lineBreakRE = /[\r\n]/;
|
9844 |
-
var whitespaceRE$1 = /[ \f\t\r\n]+/g;
|
9845 |
-
|
9846 |
-
var invalidAttributeRE = /[\s"'<>\/=]/;
|
9847 |
-
|
9848 |
-
var decodeHTMLCached = cached(he.decode);
|
9849 |
-
|
9850 |
-
var emptySlotScopeToken = "_empty_";
|
9851 |
-
|
9852 |
-
// configurable state
|
9853 |
-
var warn$2;
|
9854 |
-
var delimiters;
|
9855 |
-
var transforms;
|
9856 |
-
var preTransforms;
|
9857 |
-
var postTransforms;
|
9858 |
-
var platformIsPreTag;
|
9859 |
-
var platformMustUseProp;
|
9860 |
-
var platformGetTagNamespace;
|
9861 |
-
var maybeComponent;
|
9862 |
-
|
9863 |
-
function createASTElement (
|
9864 |
-
tag,
|
9865 |
-
attrs,
|
9866 |
-
parent
|
9867 |
-
) {
|
9868 |
-
return {
|
9869 |
-
type: 1,
|
9870 |
-
tag: tag,
|
9871 |
-
attrsList: attrs,
|
9872 |
-
attrsMap: makeAttrsMap(attrs),
|
9873 |
-
rawAttrsMap: {},
|
9874 |
-
parent: parent,
|
9875 |
-
children: []
|
9876 |
-
}
|
9877 |
-
}
|
9878 |
-
|
9879 |
-
/**
|
9880 |
-
* Convert HTML string to AST.
|
9881 |
-
*/
|
9882 |
-
function parse (
|
9883 |
-
template,
|
9884 |
-
options
|
9885 |
-
) {
|
9886 |
-
warn$2 = options.warn || baseWarn;
|
9887 |
-
|
9888 |
-
platformIsPreTag = options.isPreTag || no;
|
9889 |
-
platformMustUseProp = options.mustUseProp || no;
|
9890 |
-
platformGetTagNamespace = options.getTagNamespace || no;
|
9891 |
-
var isReservedTag = options.isReservedTag || no;
|
9892 |
-
maybeComponent = function (el) { return !!(
|
9893 |
-
el.component ||
|
9894 |
-
el.attrsMap[':is'] ||
|
9895 |
-
el.attrsMap['v-bind:is'] ||
|
9896 |
-
!(el.attrsMap.is ? isReservedTag(el.attrsMap.is) : isReservedTag(el.tag))
|
9897 |
-
); };
|
9898 |
-
transforms = pluckModuleFunction(options.modules, 'transformNode');
|
9899 |
-
preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
|
9900 |
-
postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');
|
9901 |
-
|
9902 |
-
delimiters = options.delimiters;
|
9903 |
-
|
9904 |
-
var stack = [];
|
9905 |
-
var preserveWhitespace = options.preserveWhitespace !== false;
|
9906 |
-
var whitespaceOption = options.whitespace;
|
9907 |
-
var root;
|
9908 |
-
var currentParent;
|
9909 |
-
var inVPre = false;
|
9910 |
-
var inPre = false;
|
9911 |
-
var warned = false;
|
9912 |
-
|
9913 |
-
function warnOnce (msg, range) {
|
9914 |
-
if (!warned) {
|
9915 |
-
warned = true;
|
9916 |
-
warn$2(msg, range);
|
9917 |
-
}
|
9918 |
-
}
|
9919 |
-
|
9920 |
-
function closeElement (element) {
|
9921 |
-
trimEndingWhitespace(element);
|
9922 |
-
if (!inVPre && !element.processed) {
|
9923 |
-
element = processElement(element, options);
|
9924 |
-
}
|
9925 |
-
// tree management
|
9926 |
-
if (!stack.length && element !== root) {
|
9927 |
-
// allow root elements with v-if, v-else-if and v-else
|
9928 |
-
if (root.if && (element.elseif || element.else)) {
|
9929 |
-
if (process.env.NODE_ENV !== 'production') {
|
9930 |
-
checkRootConstraints(element);
|
9931 |
-
}
|
9932 |
-
addIfCondition(root, {
|
9933 |
-
exp: element.elseif,
|
9934 |
-
block: element
|
9935 |
-
});
|
9936 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
9937 |
-
warnOnce(
|
9938 |
-
"Component template should contain exactly one root element. " +
|
9939 |
-
"If you are using v-if on multiple elements, " +
|
9940 |
-
"use v-else-if to chain them instead.",
|
9941 |
-
{ start: element.start }
|
9942 |
-
);
|
9943 |
-
}
|
9944 |
-
}
|
9945 |
-
if (currentParent && !element.forbidden) {
|
9946 |
-
if (element.elseif || element.else) {
|
9947 |
-
processIfConditions(element, currentParent);
|
9948 |
-
} else {
|
9949 |
-
if (element.slotScope) {
|
9950 |
-
// scoped slot
|
9951 |
-
// keep it in the children list so that v-else(-if) conditions can
|
9952 |
-
// find it as the prev node.
|
9953 |
-
var name = element.slotTarget || '"default"'
|
9954 |
-
;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;
|
9955 |
-
}
|
9956 |
-
currentParent.children.push(element);
|
9957 |
-
element.parent = currentParent;
|
9958 |
-
}
|
9959 |
-
}
|
9960 |
-
|
9961 |
-
// final children cleanup
|
9962 |
-
// filter out scoped slots
|
9963 |
-
element.children = element.children.filter(function (c) { return !(c).slotScope; });
|
9964 |
-
// remove trailing whitespace node again
|
9965 |
-
trimEndingWhitespace(element);
|
9966 |
-
|
9967 |
-
// check pre state
|
9968 |
-
if (element.pre) {
|
9969 |
-
inVPre = false;
|
9970 |
-
}
|
9971 |
-
if (platformIsPreTag(element.tag)) {
|
9972 |
-
inPre = false;
|
9973 |
-
}
|
9974 |
-
// apply post-transforms
|
9975 |
-
for (var i = 0; i < postTransforms.length; i++) {
|
9976 |
-
postTransforms[i](element, options);
|
9977 |
-
}
|
9978 |
-
}
|
9979 |
-
|
9980 |
-
function trimEndingWhitespace (el) {
|
9981 |
-
// remove trailing whitespace node
|
9982 |
-
if (!inPre) {
|
9983 |
-
var lastNode;
|
9984 |
-
while (
|
9985 |
-
(lastNode = el.children[el.children.length - 1]) &&
|
9986 |
-
lastNode.type === 3 &&
|
9987 |
-
lastNode.text === ' '
|
9988 |
-
) {
|
9989 |
-
el.children.pop();
|
9990 |
-
}
|
9991 |
-
}
|
9992 |
-
}
|
9993 |
-
|
9994 |
-
function checkRootConstraints (el) {
|
9995 |
-
if (el.tag === 'slot' || el.tag === 'template') {
|
9996 |
-
warnOnce(
|
9997 |
-
"Cannot use <" + (el.tag) + "> as component root element because it may " +
|
9998 |
-
'contain multiple nodes.',
|
9999 |
-
{ start: el.start }
|
10000 |
-
);
|
10001 |
-
}
|
10002 |
-
if (el.attrsMap.hasOwnProperty('v-for')) {
|
10003 |
-
warnOnce(
|
10004 |
-
'Cannot use v-for on stateful component root element because ' +
|
10005 |
-
'it renders multiple elements.',
|
10006 |
-
el.rawAttrsMap['v-for']
|
10007 |
-
);
|
10008 |
-
}
|
10009 |
-
}
|
10010 |
-
|
10011 |
-
parseHTML(template, {
|
10012 |
-
warn: warn$2,
|
10013 |
-
expectHTML: options.expectHTML,
|
10014 |
-
isUnaryTag: options.isUnaryTag,
|
10015 |
-
canBeLeftOpenTag: options.canBeLeftOpenTag,
|
10016 |
-
shouldDecodeNewlines: options.shouldDecodeNewlines,
|
10017 |
-
shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,
|
10018 |
-
shouldKeepComment: options.comments,
|
10019 |
-
outputSourceRange: options.outputSourceRange,
|
10020 |
-
start: function start (tag, attrs, unary, start$1, end) {
|
10021 |
-
// check namespace.
|
10022 |
-
// inherit parent ns if there is one
|
10023 |
-
var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
|
10024 |
-
|
10025 |
-
// handle IE svg bug
|
10026 |
-
/* istanbul ignore if */
|
10027 |
-
if (isIE && ns === 'svg') {
|
10028 |
-
attrs = guardIESVGBug(attrs);
|
10029 |
-
}
|
10030 |
-
|
10031 |
-
var element = createASTElement(tag, attrs, currentParent);
|
10032 |
-
if (ns) {
|
10033 |
-
element.ns = ns;
|
10034 |
-
}
|
10035 |
-
|
10036 |
-
if (process.env.NODE_ENV !== 'production') {
|
10037 |
-
if (options.outputSourceRange) {
|
10038 |
-
element.start = start$1;
|
10039 |
-
element.end = end;
|
10040 |
-
element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {
|
10041 |
-
cumulated[attr.name] = attr;
|
10042 |
-
return cumulated
|
10043 |
-
}, {});
|
10044 |
-
}
|
10045 |
-
attrs.forEach(function (attr) {
|
10046 |
-
if (invalidAttributeRE.test(attr.name)) {
|
10047 |
-
warn$2(
|
10048 |
-
"Invalid dynamic argument expression: attribute names cannot contain " +
|
10049 |
-
"spaces, quotes, <, >, / or =.",
|
10050 |
-
{
|
10051 |
-
start: attr.start + attr.name.indexOf("["),
|
10052 |
-
end: attr.start + attr.name.length
|
10053 |
-
}
|
10054 |
-
);
|
10055 |
-
}
|
10056 |
-
});
|
10057 |
-
}
|
10058 |
-
|
10059 |
-
if (isForbiddenTag(element) && !isServerRendering()) {
|
10060 |
-
element.forbidden = true;
|
10061 |
-
process.env.NODE_ENV !== 'production' && warn$2(
|
10062 |
-
'Templates should only be responsible for mapping the state to the ' +
|
10063 |
-
'UI. Avoid placing tags with side-effects in your templates, such as ' +
|
10064 |
-
"<" + tag + ">" + ', as they will not be parsed.',
|
10065 |
-
{ start: element.start }
|
10066 |
-
);
|
10067 |
-
}
|
10068 |
-
|
10069 |
-
// apply pre-transforms
|
10070 |
-
for (var i = 0; i < preTransforms.length; i++) {
|
10071 |
-
element = preTransforms[i](element, options) || element;
|
10072 |
-
}
|
10073 |
-
|
10074 |
-
if (!inVPre) {
|
10075 |
-
processPre(element);
|
10076 |
-
if (element.pre) {
|
10077 |
-
inVPre = true;
|
10078 |
-
}
|
10079 |
-
}
|
10080 |
-
if (platformIsPreTag(element.tag)) {
|
10081 |
-
inPre = true;
|
10082 |
-
}
|
10083 |
-
if (inVPre) {
|
10084 |
-
processRawAttrs(element);
|
10085 |
-
} else if (!element.processed) {
|
10086 |
-
// structural directives
|
10087 |
-
processFor(element);
|
10088 |
-
processIf(element);
|
10089 |
-
processOnce(element);
|
10090 |
-
}
|
10091 |
-
|
10092 |
-
if (!root) {
|
10093 |
-
root = element;
|
10094 |
-
if (process.env.NODE_ENV !== 'production') {
|
10095 |
-
checkRootConstraints(root);
|
10096 |
-
}
|
10097 |
-
}
|
10098 |
-
|
10099 |
-
if (!unary) {
|
10100 |
-
currentParent = element;
|
10101 |
-
stack.push(element);
|
10102 |
-
} else {
|
10103 |
-
closeElement(element);
|
10104 |
-
}
|
10105 |
-
},
|
10106 |
-
|
10107 |
-
end: function end (tag, start, end$1) {
|
10108 |
-
var element = stack[stack.length - 1];
|
10109 |
-
// pop stack
|
10110 |
-
stack.length -= 1;
|
10111 |
-
currentParent = stack[stack.length - 1];
|
10112 |
-
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10113 |
-
element.end = end$1;
|
10114 |
-
}
|
10115 |
-
closeElement(element);
|
10116 |
-
},
|
10117 |
-
|
10118 |
-
chars: function chars (text, start, end) {
|
10119 |
-
if (!currentParent) {
|
10120 |
-
if (process.env.NODE_ENV !== 'production') {
|
10121 |
-
if (text === template) {
|
10122 |
-
warnOnce(
|
10123 |
-
'Component template requires a root element, rather than just text.',
|
10124 |
-
{ start: start }
|
10125 |
-
);
|
10126 |
-
} else if ((text = text.trim())) {
|
10127 |
-
warnOnce(
|
10128 |
-
("text \"" + text + "\" outside root element will be ignored."),
|
10129 |
-
{ start: start }
|
10130 |
-
);
|
10131 |
-
}
|
10132 |
-
}
|
10133 |
-
return
|
10134 |
-
}
|
10135 |
-
// IE textarea placeholder bug
|
10136 |
-
/* istanbul ignore if */
|
10137 |
-
if (isIE &&
|
10138 |
-
currentParent.tag === 'textarea' &&
|
10139 |
-
currentParent.attrsMap.placeholder === text
|
10140 |
-
) {
|
10141 |
-
return
|
10142 |
-
}
|
10143 |
-
var children = currentParent.children;
|
10144 |
-
if (inPre || text.trim()) {
|
10145 |
-
text = isTextTag(currentParent) ? text : decodeHTMLCached(text);
|
10146 |
-
} else if (!children.length) {
|
10147 |
-
// remove the whitespace-only node right after an opening tag
|
10148 |
-
text = '';
|
10149 |
-
} else if (whitespaceOption) {
|
10150 |
-
if (whitespaceOption === 'condense') {
|
10151 |
-
// in condense mode, remove the whitespace node if it contains
|
10152 |
-
// line break, otherwise condense to a single space
|
10153 |
-
text = lineBreakRE.test(text) ? '' : ' ';
|
10154 |
-
} else {
|
10155 |
-
text = ' ';
|
10156 |
-
}
|
10157 |
-
} else {
|
10158 |
-
text = preserveWhitespace ? ' ' : '';
|
10159 |
-
}
|
10160 |
-
if (text) {
|
10161 |
-
if (!inPre && whitespaceOption === 'condense') {
|
10162 |
-
// condense consecutive whitespaces into single space
|
10163 |
-
text = text.replace(whitespaceRE$1, ' ');
|
10164 |
-
}
|
10165 |
-
var res;
|
10166 |
-
var child;
|
10167 |
-
if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {
|
10168 |
-
child = {
|
10169 |
-
type: 2,
|
10170 |
-
expression: res.expression,
|
10171 |
-
tokens: res.tokens,
|
10172 |
-
text: text
|
10173 |
-
};
|
10174 |
-
} else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {
|
10175 |
-
child = {
|
10176 |
-
type: 3,
|
10177 |
-
text: text
|
10178 |
-
};
|
10179 |
-
}
|
10180 |
-
if (child) {
|
10181 |
-
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10182 |
-
child.start = start;
|
10183 |
-
child.end = end;
|
10184 |
-
}
|
10185 |
-
children.push(child);
|
10186 |
-
}
|
10187 |
-
}
|
10188 |
-
},
|
10189 |
-
comment: function comment (text, start, end) {
|
10190 |
-
// adding anything as a sibling to the root node is forbidden
|
10191 |
-
// comments should still be allowed, but ignored
|
10192 |
-
if (currentParent) {
|
10193 |
-
var child = {
|
10194 |
-
type: 3,
|
10195 |
-
text: text,
|
10196 |
-
isComment: true
|
10197 |
-
};
|
10198 |
-
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10199 |
-
child.start = start;
|
10200 |
-
child.end = end;
|
10201 |
-
}
|
10202 |
-
currentParent.children.push(child);
|
10203 |
-
}
|
10204 |
-
}
|
10205 |
-
});
|
10206 |
-
return root
|
10207 |
-
}
|
10208 |
-
|
10209 |
-
function processPre (el) {
|
10210 |
-
if (getAndRemoveAttr(el, 'v-pre') != null) {
|
10211 |
-
el.pre = true;
|
10212 |
-
}
|
10213 |
-
}
|
10214 |
-
|
10215 |
-
function processRawAttrs (el) {
|
10216 |
-
var list = el.attrsList;
|
10217 |
-
var len = list.length;
|
10218 |
-
if (len) {
|
10219 |
-
var attrs = el.attrs = new Array(len);
|
10220 |
-
for (var i = 0; i < len; i++) {
|
10221 |
-
attrs[i] = {
|
10222 |
-
name: list[i].name,
|
10223 |
-
value: JSON.stringify(list[i].value)
|
10224 |
-
};
|
10225 |
-
if (list[i].start != null) {
|
10226 |
-
attrs[i].start = list[i].start;
|
10227 |
-
attrs[i].end = list[i].end;
|
10228 |
-
}
|
10229 |
-
}
|
10230 |
-
} else if (!el.pre) {
|
10231 |
-
// non root node in pre blocks with no attributes
|
10232 |
-
el.plain = true;
|
10233 |
-
}
|
10234 |
-
}
|
10235 |
-
|
10236 |
-
function processElement (
|
10237 |
-
element,
|
10238 |
-
options
|
10239 |
-
) {
|
10240 |
-
processKey(element);
|
10241 |
-
|
10242 |
-
// determine whether this is a plain element after
|
10243 |
-
// removing structural attributes
|
10244 |
-
element.plain = (
|
10245 |
-
!element.key &&
|
10246 |
-
!element.scopedSlots &&
|
10247 |
-
!element.attrsList.length
|
10248 |
-
);
|
10249 |
-
|
10250 |
-
processRef(element);
|
10251 |
-
processSlotContent(element);
|
10252 |
-
processSlotOutlet(element);
|
10253 |
-
processComponent(element);
|
10254 |
-
for (var i = 0; i < transforms.length; i++) {
|
10255 |
-
element = transforms[i](element, options) || element;
|
10256 |
-
}
|
10257 |
-
processAttrs(element);
|
10258 |
-
return element
|
10259 |
-
}
|
10260 |
-
|
10261 |
-
function processKey (el) {
|
10262 |
-
var exp = getBindingAttr(el, 'key');
|
10263 |
-
if (exp) {
|
10264 |
-
if (process.env.NODE_ENV !== 'production') {
|
10265 |
-
if (el.tag === 'template') {
|
10266 |
-
warn$2(
|
10267 |
-
"<template> cannot be keyed. Place the key on real elements instead.",
|
10268 |
-
getRawBindingAttr(el, 'key')
|
10269 |
-
);
|
10270 |
-
}
|
10271 |
-
if (el.for) {
|
10272 |
-
var iterator = el.iterator2 || el.iterator1;
|
10273 |
-
var parent = el.parent;
|
10274 |
-
if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {
|
10275 |
-
warn$2(
|
10276 |
-
"Do not use v-for index as key on <transition-group> children, " +
|
10277 |
-
"this is the same as not using keys.",
|
10278 |
-
getRawBindingAttr(el, 'key'),
|
10279 |
-
true /* tip */
|
10280 |
-
);
|
10281 |
-
}
|
10282 |
-
}
|
10283 |
-
}
|
10284 |
-
el.key = exp;
|
10285 |
-
}
|
10286 |
-
}
|
10287 |
-
|
10288 |
-
function processRef (el) {
|
10289 |
-
var ref = getBindingAttr(el, 'ref');
|
10290 |
-
if (ref) {
|
10291 |
-
el.ref = ref;
|
10292 |
-
el.refInFor = checkInFor(el);
|
10293 |
-
}
|
10294 |
-
}
|
10295 |
-
|
10296 |
-
function processFor (el) {
|
10297 |
-
var exp;
|
10298 |
-
if ((exp = getAndRemoveAttr(el, 'v-for'))) {
|
10299 |
-
var res = parseFor(exp);
|
10300 |
-
if (res) {
|
10301 |
-
extend(el, res);
|
10302 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
10303 |
-
warn$2(
|
10304 |
-
("Invalid v-for expression: " + exp),
|
10305 |
-
el.rawAttrsMap['v-for']
|
10306 |
-
);
|
10307 |
-
}
|
10308 |
-
}
|
10309 |
-
}
|
10310 |
-
|
10311 |
-
|
10312 |
-
|
10313 |
-
function parseFor (exp) {
|
10314 |
-
var inMatch = exp.match(forAliasRE);
|
10315 |
-
if (!inMatch) { return }
|
10316 |
-
var res = {};
|
10317 |
-
res.for = inMatch[2].trim();
|
10318 |
-
var alias = inMatch[1].trim().replace(stripParensRE, '');
|
10319 |
-
var iteratorMatch = alias.match(forIteratorRE);
|
10320 |
-
if (iteratorMatch) {
|
10321 |
-
res.alias = alias.replace(forIteratorRE, '').trim();
|
10322 |
-
res.iterator1 = iteratorMatch[1].trim();
|
10323 |
-
if (iteratorMatch[2]) {
|
10324 |
-
res.iterator2 = iteratorMatch[2].trim();
|
10325 |
-
}
|
10326 |
-
} else {
|
10327 |
-
res.alias = alias;
|
10328 |
-
}
|
10329 |
-
return res
|
10330 |
-
}
|
10331 |
-
|
10332 |
-
function processIf (el) {
|
10333 |
-
var exp = getAndRemoveAttr(el, 'v-if');
|
10334 |
-
if (exp) {
|
10335 |
-
el.if = exp;
|
10336 |
-
addIfCondition(el, {
|
10337 |
-
exp: exp,
|
10338 |
-
block: el
|
10339 |
-
});
|
10340 |
-
} else {
|
10341 |
-
if (getAndRemoveAttr(el, 'v-else') != null) {
|
10342 |
-
el.else = true;
|
10343 |
-
}
|
10344 |
-
var elseif = getAndRemoveAttr(el, 'v-else-if');
|
10345 |
-
if (elseif) {
|
10346 |
-
el.elseif = elseif;
|
10347 |
-
}
|
10348 |
-
}
|
10349 |
-
}
|
10350 |
-
|
10351 |
-
function processIfConditions (el, parent) {
|
10352 |
-
var prev = findPrevElement(parent.children);
|
10353 |
-
if (prev && prev.if) {
|
10354 |
-
addIfCondition(prev, {
|
10355 |
-
exp: el.elseif,
|
10356 |
-
block: el
|
10357 |
-
});
|
10358 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
10359 |
-
warn$2(
|
10360 |
-
"v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " +
|
10361 |
-
"used on element <" + (el.tag) + "> without corresponding v-if.",
|
10362 |
-
el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']
|
10363 |
-
);
|
10364 |
-
}
|
10365 |
-
}
|
10366 |
-
|
10367 |
-
function findPrevElement (children) {
|
10368 |
-
var i = children.length;
|
10369 |
-
while (i--) {
|
10370 |
-
if (children[i].type === 1) {
|
10371 |
-
return children[i]
|
10372 |
-
} else {
|
10373 |
-
if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {
|
10374 |
-
warn$2(
|
10375 |
-
"text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " +
|
10376 |
-
"will be ignored.",
|
10377 |
-
children[i]
|
10378 |
-
);
|
10379 |
-
}
|
10380 |
-
children.pop();
|
10381 |
-
}
|
10382 |
-
}
|
10383 |
-
}
|
10384 |
-
|
10385 |
-
function addIfCondition (el, condition) {
|
10386 |
-
if (!el.ifConditions) {
|
10387 |
-
el.ifConditions = [];
|
10388 |
-
}
|
10389 |
-
el.ifConditions.push(condition);
|
10390 |
-
}
|
10391 |
-
|
10392 |
-
function processOnce (el) {
|
10393 |
-
var once$$1 = getAndRemoveAttr(el, 'v-once');
|
10394 |
-
if (once$$1 != null) {
|
10395 |
-
el.once = true;
|
10396 |
-
}
|
10397 |
-
}
|
10398 |
-
|
10399 |
-
// handle content being passed to a component as slot,
|
10400 |
-
// e.g. <template slot="xxx">, <div slot-scope="xxx">
|
10401 |
-
function processSlotContent (el) {
|
10402 |
-
var slotScope;
|
10403 |
-
if (el.tag === 'template') {
|
10404 |
-
slotScope = getAndRemoveAttr(el, 'scope');
|
10405 |
-
/* istanbul ignore if */
|
10406 |
-
if (process.env.NODE_ENV !== 'production' && slotScope) {
|
10407 |
-
warn$2(
|
10408 |
-
"the \"scope\" attribute for scoped slots have been deprecated and " +
|
10409 |
-
"replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " +
|
10410 |
-
"can also be used on plain elements in addition to <template> to " +
|
10411 |
-
"denote scoped slots.",
|
10412 |
-
el.rawAttrsMap['scope'],
|
10413 |
-
true
|
10414 |
-
);
|
10415 |
-
}
|
10416 |
-
el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');
|
10417 |
-
} else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {
|
10418 |
-
/* istanbul ignore if */
|
10419 |
-
if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {
|
10420 |
-
warn$2(
|
10421 |
-
"Ambiguous combined usage of slot-scope and v-for on <" + (el.tag) + "> " +
|
10422 |
-
"(v-for takes higher priority). Use a wrapper <template> for the " +
|
10423 |
-
"scoped slot to make it clearer.",
|
10424 |
-
el.rawAttrsMap['slot-scope'],
|
10425 |
-
true
|
10426 |
-
);
|
10427 |
-
}
|
10428 |
-
el.slotScope = slotScope;
|
10429 |
-
}
|
10430 |
-
|
10431 |
-
// slot="xxx"
|
10432 |
-
var slotTarget = getBindingAttr(el, 'slot');
|
10433 |
-
if (slotTarget) {
|
10434 |
-
el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget;
|
10435 |
-
el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);
|
10436 |
-
// preserve slot as an attribute for native shadow DOM compat
|
10437 |
-
// only for non-scoped slots.
|
10438 |
-
if (el.tag !== 'template' && !el.slotScope) {
|
10439 |
-
addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));
|
10440 |
-
}
|
10441 |
-
}
|
10442 |
-
|
10443 |
-
// 2.6 v-slot syntax
|
10444 |
-
{
|
10445 |
-
if (el.tag === 'template') {
|
10446 |
-
// v-slot on <template>
|
10447 |
-
var slotBinding = getAndRemoveAttrByRegex(el, slotRE);
|
10448 |
-
if (slotBinding) {
|
10449 |
-
if (process.env.NODE_ENV !== 'production') {
|
10450 |
-
if (el.slotTarget || el.slotScope) {
|
10451 |
-
warn$2(
|
10452 |
-
"Unexpected mixed usage of different slot syntaxes.",
|
10453 |
-
el
|
10454 |
-
);
|
10455 |
-
}
|
10456 |
-
if (el.parent && !maybeComponent(el.parent)) {
|
10457 |
-
warn$2(
|
10458 |
-
"<template v-slot> can only appear at the root level inside " +
|
10459 |
-
"the receiving component",
|
10460 |
-
el
|
10461 |
-
);
|
10462 |
-
}
|
10463 |
-
}
|
10464 |
-
var ref = getSlotName(slotBinding);
|
10465 |
-
var name = ref.name;
|
10466 |
-
var dynamic = ref.dynamic;
|
10467 |
-
el.slotTarget = name;
|
10468 |
-
el.slotTargetDynamic = dynamic;
|
10469 |
-
el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf
|
10470 |
-
}
|
10471 |
-
} else {
|
10472 |
-
// v-slot on component, denotes default slot
|
10473 |
-
var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);
|
10474 |
-
if (slotBinding$1) {
|
10475 |
-
if (process.env.NODE_ENV !== 'production') {
|
10476 |
-
if (!maybeComponent(el)) {
|
10477 |
-
warn$2(
|
10478 |
-
"v-slot can only be used on components or <template>.",
|
10479 |
-
slotBinding$1
|
10480 |
-
);
|
10481 |
-
}
|
10482 |
-
if (el.slotScope || el.slotTarget) {
|
10483 |
-
warn$2(
|
10484 |
-
"Unexpected mixed usage of different slot syntaxes.",
|
10485 |
-
el
|
10486 |
-
);
|
10487 |
-
}
|
10488 |
-
if (el.scopedSlots) {
|
10489 |
-
warn$2(
|
10490 |
-
"To avoid scope ambiguity, the default slot should also use " +
|
10491 |
-
"<template> syntax when there are other named slots.",
|
10492 |
-
slotBinding$1
|
10493 |
-
);
|
10494 |
-
}
|
10495 |
-
}
|
10496 |
-
// add the component's children to its default slot
|
10497 |
-
var slots = el.scopedSlots || (el.scopedSlots = {});
|
10498 |
-
var ref$1 = getSlotName(slotBinding$1);
|
10499 |
-
var name$1 = ref$1.name;
|
10500 |
-
var dynamic$1 = ref$1.dynamic;
|
10501 |
-
var slotContainer = slots[name$1] = createASTElement('template', [], el);
|
10502 |
-
slotContainer.slotTarget = name$1;
|
10503 |
-
slotContainer.slotTargetDynamic = dynamic$1;
|
10504 |
-
slotContainer.children = el.children.filter(function (c) {
|
10505 |
-
if (!c.slotScope) {
|
10506 |
-
c.parent = slotContainer;
|
10507 |
-
return true
|
10508 |
-
}
|
10509 |
-
});
|
10510 |
-
slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;
|
10511 |
-
// remove children as they are returned from scopedSlots now
|
10512 |
-
el.children = [];
|
10513 |
-
// mark el non-plain so data gets generated
|
10514 |
-
el.plain = false;
|
10515 |
-
}
|
10516 |
-
}
|
10517 |
-
}
|
10518 |
-
}
|
10519 |
-
|
10520 |
-
function getSlotName (binding) {
|
10521 |
-
var name = binding.name.replace(slotRE, '');
|
10522 |
-
if (!name) {
|
10523 |
-
if (binding.name[0] !== '#') {
|
10524 |
-
name = 'default';
|
10525 |
-
} else if (process.env.NODE_ENV !== 'production') {
|
10526 |
-
warn$2(
|
10527 |
-
"v-slot shorthand syntax requires a slot name.",
|
10528 |
-
binding
|
10529 |
-
);
|
10530 |
-
}
|
10531 |
-
}
|
10532 |
-
return dynamicArgRE.test(name)
|
10533 |
-
// dynamic [name]
|
10534 |
-
? { name: name.slice(1, -1), dynamic: true }
|
10535 |
-
// static name
|
10536 |
-
: { name: ("\"" + name + "\""), dynamic: false }
|
10537 |
-
}
|
10538 |
-
|
10539 |
-
// handle <slot/> outlets
|
10540 |
-
function processSlotOutlet (el) {
|
10541 |
-
if (el.tag === 'slot') {
|
10542 |
-
el.slotName = getBindingAttr(el, 'name');
|
10543 |
-
if (process.env.NODE_ENV !== 'production' && el.key) {
|
10544 |
-
warn$2(
|
10545 |
-
"`key` does not work on <slot> because slots are abstract outlets " +
|
10546 |
-
"and can possibly expand into multiple elements. " +
|
10547 |
-
"Use the key on a wrapping element instead.",
|
10548 |
-
getRawBindingAttr(el, 'key')
|
10549 |
-
);
|
10550 |
-
}
|
10551 |
-
}
|
10552 |
-
}
|
10553 |
-
|
10554 |
-
function processComponent (el) {
|
10555 |
-
var binding;
|
10556 |
-
if ((binding = getBindingAttr(el, 'is'))) {
|
10557 |
-
el.component = binding;
|
10558 |
-
}
|
10559 |
-
if (getAndRemoveAttr(el, 'inline-template') != null) {
|
10560 |
-
el.inlineTemplate = true;
|
10561 |
-
}
|
10562 |
-
}
|
10563 |
-
|
10564 |
-
function processAttrs (el) {
|
10565 |
-
var list = el.attrsList;
|
10566 |
-
var i, l, name, rawName, value, modifiers, syncGen, isDynamic;
|
10567 |
-
for (i = 0, l = list.length; i < l; i++) {
|
10568 |
-
name = rawName = list[i].name;
|
10569 |
-
value = list[i].value;
|
10570 |
-
if (dirRE.test(name)) {
|
10571 |
-
// mark element as dynamic
|
10572 |
-
el.hasBindings = true;
|
10573 |
-
// modifiers
|
10574 |
-
modifiers = parseModifiers(name.replace(dirRE, ''));
|
10575 |
-
// support .foo shorthand syntax for the .prop modifier
|
10576 |
-
if (modifiers) {
|
10577 |
-
name = name.replace(modifierRE, '');
|
10578 |
-
}
|
10579 |
-
if (bindRE.test(name)) { // v-bind
|
10580 |
-
name = name.replace(bindRE, '');
|
10581 |
-
value = parseFilters(value);
|
10582 |
-
isDynamic = dynamicArgRE.test(name);
|
10583 |
-
if (isDynamic) {
|
10584 |
-
name = name.slice(1, -1);
|
10585 |
-
}
|
10586 |
-
if (
|
10587 |
-
process.env.NODE_ENV !== 'production' &&
|
10588 |
-
value.trim().length === 0
|
10589 |
-
) {
|
10590 |
-
warn$2(
|
10591 |
-
("The value for a v-bind expression cannot be empty. Found in \"v-bind:" + name + "\"")
|
10592 |
-
);
|
10593 |
-
}
|
10594 |
-
if (modifiers) {
|
10595 |
-
if (modifiers.prop && !isDynamic) {
|
10596 |
-
name = camelize(name);
|
10597 |
-
if (name === 'innerHtml') { name = 'innerHTML'; }
|
10598 |
-
}
|
10599 |
-
if (modifiers.camel && !isDynamic) {
|
10600 |
-
name = camelize(name);
|
10601 |
-
}
|
10602 |
-
if (modifiers.sync) {
|
10603 |
-
syncGen = genAssignmentCode(value, "$event");
|
10604 |
-
if (!isDynamic) {
|
10605 |
-
addHandler(
|
10606 |
-
el,
|
10607 |
-
("update:" + (camelize(name))),
|
10608 |
-
syncGen,
|
10609 |
-
null,
|
10610 |
-
false,
|
10611 |
-
warn$2,
|
10612 |
-
list[i]
|
10613 |
-
);
|
10614 |
-
if (hyphenate(name) !== camelize(name)) {
|
10615 |
-
addHandler(
|
10616 |
-
el,
|
10617 |
-
("update:" + (hyphenate(name))),
|
10618 |
-
syncGen,
|
10619 |
-
null,
|
10620 |
-
false,
|
10621 |
-
warn$2,
|
10622 |
-
list[i]
|
10623 |
-
);
|
10624 |
-
}
|
10625 |
-
} else {
|
10626 |
-
// handler w/ dynamic event name
|
10627 |
-
addHandler(
|
10628 |
-
el,
|
10629 |
-
("\"update:\"+(" + name + ")"),
|
10630 |
-
syncGen,
|
10631 |
-
null,
|
10632 |
-
false,
|
10633 |
-
warn$2,
|
10634 |
-
list[i],
|
10635 |
-
true // dynamic
|
10636 |
-
);
|
10637 |
-
}
|
10638 |
-
}
|
10639 |
-
}
|
10640 |
-
if ((modifiers && modifiers.prop) || (
|
10641 |
-
!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
|
10642 |
-
)) {
|
10643 |
-
addProp(el, name, value, list[i], isDynamic);
|
10644 |
-
} else {
|
10645 |
-
addAttr(el, name, value, list[i], isDynamic);
|
10646 |
-
}
|
10647 |
-
} else if (onRE.test(name)) { // v-on
|
10648 |
-
name = name.replace(onRE, '');
|
10649 |
-
isDynamic = dynamicArgRE.test(name);
|
10650 |
-
if (isDynamic) {
|
10651 |
-
name = name.slice(1, -1);
|
10652 |
-
}
|
10653 |
-
addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);
|
10654 |
-
} else { // normal directives
|
10655 |
-
name = name.replace(dirRE, '');
|
10656 |
-
// parse arg
|
10657 |
-
var argMatch = name.match(argRE);
|
10658 |
-
var arg = argMatch && argMatch[1];
|
10659 |
-
isDynamic = false;
|
10660 |
-
if (arg) {
|
10661 |
-
name = name.slice(0, -(arg.length + 1));
|
10662 |
-
if (dynamicArgRE.test(arg)) {
|
10663 |
-
arg = arg.slice(1, -1);
|
10664 |
-
isDynamic = true;
|
10665 |
-
}
|
10666 |
-
}
|
10667 |
-
addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);
|
10668 |
-
if (process.env.NODE_ENV !== 'production' && name === 'model') {
|
10669 |
-
checkForAliasModel(el, value);
|
10670 |
-
}
|
10671 |
-
}
|
10672 |
-
} else {
|
10673 |
-
// literal attribute
|
10674 |
-
if (process.env.NODE_ENV !== 'production') {
|
10675 |
-
var res = parseText(value, delimiters);
|
10676 |
-
if (res) {
|
10677 |
-
warn$2(
|
10678 |
-
name + "=\"" + value + "\": " +
|
10679 |
-
'Interpolation inside attributes has been removed. ' +
|
10680 |
-
'Use v-bind or the colon shorthand instead. For example, ' +
|
10681 |
-
'instead of <div id="{{ val }}">, use <div :id="val">.',
|
10682 |
-
list[i]
|
10683 |
-
);
|
10684 |
-
}
|
10685 |
-
}
|
10686 |
-
addAttr(el, name, JSON.stringify(value), list[i]);
|
10687 |
-
// #6887 firefox doesn't update muted state if set via attribute
|
10688 |
-
// even immediately after element creation
|
10689 |
-
if (!el.component &&
|
10690 |
-
name === 'muted' &&
|
10691 |
-
platformMustUseProp(el.tag, el.attrsMap.type, name)) {
|
10692 |
-
addProp(el, name, 'true', list[i]);
|
10693 |
-
}
|
10694 |
-
}
|
10695 |
-
}
|
10696 |
-
}
|
10697 |
-
|
10698 |
-
function checkInFor (el) {
|
10699 |
-
var parent = el;
|
10700 |
-
while (parent) {
|
10701 |
-
if (parent.for !== undefined) {
|
10702 |
-
return true
|
10703 |
-
}
|
10704 |
-
parent = parent.parent;
|
10705 |
-
}
|
10706 |
-
return false
|
10707 |
-
}
|
10708 |
-
|
10709 |
-
function parseModifiers (name) {
|
10710 |
-
var match = name.match(modifierRE);
|
10711 |
-
if (match) {
|
10712 |
-
var ret = {};
|
10713 |
-
match.forEach(function (m) { ret[m.slice(1)] = true; });
|
10714 |
-
return ret
|
10715 |
-
}
|
10716 |
-
}
|
10717 |
-
|
10718 |
-
function makeAttrsMap (attrs) {
|
10719 |
-
var map = {};
|
10720 |
-
for (var i = 0, l = attrs.length; i < l; i++) {
|
10721 |
-
if (
|
10722 |
-
process.env.NODE_ENV !== 'production' &&
|
10723 |
-
map[attrs[i].name] && !isIE && !isEdge
|
10724 |
-
) {
|
10725 |
-
warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);
|
10726 |
-
}
|
10727 |
-
map[attrs[i].name] = attrs[i].value;
|
10728 |
-
}
|
10729 |
-
return map
|
10730 |
-
}
|
10731 |
-
|
10732 |
-
// for script (e.g. type="x/template") or style, do not decode content
|
10733 |
-
function isTextTag (el) {
|
10734 |
-
return el.tag === 'script' || el.tag === 'style'
|
10735 |
-
}
|
10736 |
-
|
10737 |
-
function isForbiddenTag (el) {
|
10738 |
-
return (
|
10739 |
-
el.tag === 'style' ||
|
10740 |
-
(el.tag === 'script' && (
|
10741 |
-
!el.attrsMap.type ||
|
10742 |
-
el.attrsMap.type === 'text/javascript'
|
10743 |
-
))
|
10744 |
-
)
|
10745 |
-
}
|
10746 |
-
|
10747 |
-
var ieNSBug = /^xmlns:NS\d+/;
|
10748 |
-
var ieNSPrefix = /^NS\d+:/;
|
10749 |
-
|
10750 |
-
/* istanbul ignore next */
|
10751 |
-
function guardIESVGBug (attrs) {
|
10752 |
-
var res = [];
|
10753 |
-
for (var i = 0; i < attrs.length; i++) {
|
10754 |
-
var attr = attrs[i];
|
10755 |
-
if (!ieNSBug.test(attr.name)) {
|
10756 |
-
attr.name = attr.name.replace(ieNSPrefix, '');
|
10757 |
-
res.push(attr);
|
10758 |
-
}
|
10759 |
-
}
|
10760 |
-
return res
|
10761 |
-
}
|
10762 |
-
|
10763 |
-
function checkForAliasModel (el, value) {
|
10764 |
-
var _el = el;
|
10765 |
-
while (_el) {
|
10766 |
-
if (_el.for && _el.alias === value) {
|
10767 |
-
warn$2(
|
10768 |
-
"<" + (el.tag) + " v-model=\"" + value + "\">: " +
|
10769 |
-
"You are binding v-model directly to a v-for iteration alias. " +
|
10770 |
-
"This will not be able to modify the v-for source array because " +
|
10771 |
-
"writing to the alias is like modifying a function local variable. " +
|
10772 |
-
"Consider using an array of objects and use v-model on an object property instead.",
|
10773 |
-
el.rawAttrsMap['v-model']
|
10774 |
-
);
|
10775 |
-
}
|
10776 |
-
_el = _el.parent;
|
10777 |
-
}
|
10778 |
-
}
|
10779 |
-
|
10780 |
-
/* */
|
10781 |
-
|
10782 |
-
function preTransformNode (el, options) {
|
10783 |
-
if (el.tag === 'input') {
|
10784 |
-
var map = el.attrsMap;
|
10785 |
-
if (!map['v-model']) {
|
10786 |
-
return
|
10787 |
-
}
|
10788 |
-
|
10789 |
-
var typeBinding;
|
10790 |
-
if (map[':type'] || map['v-bind:type']) {
|
10791 |
-
typeBinding = getBindingAttr(el, 'type');
|
10792 |
-
}
|
10793 |
-
if (!map.type && !typeBinding && map['v-bind']) {
|
10794 |
-
typeBinding = "(" + (map['v-bind']) + ").type";
|
10795 |
-
}
|
10796 |
-
|
10797 |
-
if (typeBinding) {
|
10798 |
-
var ifCondition = getAndRemoveAttr(el, 'v-if', true);
|
10799 |
-
var ifConditionExtra = ifCondition ? ("&&(" + ifCondition + ")") : "";
|
10800 |
-
var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;
|
10801 |
-
var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);
|
10802 |
-
// 1. checkbox
|
10803 |
-
var branch0 = cloneASTElement(el);
|
10804 |
-
// process for on the main node
|
10805 |
-
processFor(branch0);
|
10806 |
-
addRawAttr(branch0, 'type', 'checkbox');
|
10807 |
-
processElement(branch0, options);
|
10808 |
-
branch0.processed = true; // prevent it from double-processed
|
10809 |
-
branch0.if = "(" + typeBinding + ")==='checkbox'" + ifConditionExtra;
|
10810 |
-
addIfCondition(branch0, {
|
10811 |
-
exp: branch0.if,
|
10812 |
-
block: branch0
|
10813 |
-
});
|
10814 |
-
// 2. add radio else-if condition
|
10815 |
-
var branch1 = cloneASTElement(el);
|
10816 |
-
getAndRemoveAttr(branch1, 'v-for', true);
|
10817 |
-
addRawAttr(branch1, 'type', 'radio');
|
10818 |
-
processElement(branch1, options);
|
10819 |
-
addIfCondition(branch0, {
|
10820 |
-
exp: "(" + typeBinding + ")==='radio'" + ifConditionExtra,
|
10821 |
-
block: branch1
|
10822 |
-
});
|
10823 |
-
// 3. other
|
10824 |
-
var branch2 = cloneASTElement(el);
|
10825 |
-
getAndRemoveAttr(branch2, 'v-for', true);
|
10826 |
-
addRawAttr(branch2, ':type', typeBinding);
|
10827 |
-
processElement(branch2, options);
|
10828 |
-
addIfCondition(branch0, {
|
10829 |
-
exp: ifCondition,
|
10830 |
-
block: branch2
|
10831 |
-
});
|
10832 |
-
|
10833 |
-
if (hasElse) {
|
10834 |
-
branch0.else = true;
|
10835 |
-
} else if (elseIfCondition) {
|
10836 |
-
branch0.elseif = elseIfCondition;
|
10837 |
-
}
|
10838 |
-
|
10839 |
-
return branch0
|
10840 |
-
}
|
10841 |
-
}
|
10842 |
-
}
|
10843 |
-
|
10844 |
-
function cloneASTElement (el) {
|
10845 |
-
return createASTElement(el.tag, el.attrsList.slice(), el.parent)
|
10846 |
-
}
|
10847 |
-
|
10848 |
-
var model$1 = {
|
10849 |
-
preTransformNode: preTransformNode
|
10850 |
-
};
|
10851 |
-
|
10852 |
-
var modules$1 = [
|
10853 |
-
klass$1,
|
10854 |
-
style$1,
|
10855 |
-
model$1
|
10856 |
-
];
|
10857 |
-
|
10858 |
-
/* */
|
10859 |
-
|
10860 |
-
function text (el, dir) {
|
10861 |
-
if (dir.value) {
|
10862 |
-
addProp(el, 'textContent', ("_s(" + (dir.value) + ")"), dir);
|
10863 |
-
}
|
10864 |
-
}
|
10865 |
-
|
10866 |
-
/* */
|
10867 |
-
|
10868 |
-
function html (el, dir) {
|
10869 |
-
if (dir.value) {
|
10870 |
-
addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"), dir);
|
10871 |
-
}
|
10872 |
-
}
|
10873 |
-
|
10874 |
-
var directives$1 = {
|
10875 |
-
model: model,
|
10876 |
-
text: text,
|
10877 |
-
html: html
|
10878 |
-
};
|
10879 |
-
|
10880 |
-
/* */
|
10881 |
-
|
10882 |
-
var baseOptions = {
|
10883 |
-
expectHTML: true,
|
10884 |
-
modules: modules$1,
|
10885 |
-
directives: directives$1,
|
10886 |
-
isPreTag: isPreTag,
|
10887 |
-
isUnaryTag: isUnaryTag,
|
10888 |
-
mustUseProp: mustUseProp,
|
10889 |
-
canBeLeftOpenTag: canBeLeftOpenTag,
|
10890 |
-
isReservedTag: isReservedTag,
|
10891 |
-
getTagNamespace: getTagNamespace,
|
10892 |
-
staticKeys: genStaticKeys(modules$1)
|
10893 |
-
};
|
10894 |
-
|
10895 |
-
/* */
|
10896 |
-
|
10897 |
-
var isStaticKey;
|
10898 |
-
var isPlatformReservedTag;
|
10899 |
-
|
10900 |
-
var genStaticKeysCached = cached(genStaticKeys$1);
|
10901 |
-
|
10902 |
-
/**
|
10903 |
-
* Goal of the optimizer: walk the generated template AST tree
|
10904 |
-
* and detect sub-trees that are purely static, i.e. parts of
|
10905 |
-
* the DOM that never needs to change.
|
10906 |
-
*
|
10907 |
-
* Once we detect these sub-trees, we can:
|
10908 |
-
*
|
10909 |
-
* 1. Hoist them into constants, so that we no longer need to
|
10910 |
-
* create fresh nodes for them on each re-render;
|
10911 |
-
* 2. Completely skip them in the patching process.
|
10912 |
-
*/
|
10913 |
-
function optimize (root, options) {
|
10914 |
-
if (!root) { return }
|
10915 |
-
isStaticKey = genStaticKeysCached(options.staticKeys || '');
|
10916 |
-
isPlatformReservedTag = options.isReservedTag || no;
|
10917 |
-
// first pass: mark all non-static nodes.
|
10918 |
-
markStatic$1(root);
|
10919 |
-
// second pass: mark static roots.
|
10920 |
-
markStaticRoots(root, false);
|
10921 |
-
}
|
10922 |
-
|
10923 |
-
function genStaticKeys$1 (keys) {
|
10924 |
-
return makeMap(
|
10925 |
-
'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +
|
10926 |
-
(keys ? ',' + keys : '')
|
10927 |
-
)
|
10928 |
-
}
|
10929 |
-
|
10930 |
-
function markStatic$1 (node) {
|
10931 |
-
node.static = isStatic(node);
|
10932 |
-
if (node.type === 1) {
|
10933 |
-
// do not make component slot content static. this avoids
|
10934 |
-
// 1. components not able to mutate slot nodes
|
10935 |
-
// 2. static slot content fails for hot-reloading
|
10936 |
-
if (
|
10937 |
-
!isPlatformReservedTag(node.tag) &&
|
10938 |
-
node.tag !== 'slot' &&
|
10939 |
-
node.attrsMap['inline-template'] == null
|
10940 |
-
) {
|
10941 |
-
return
|
10942 |
-
}
|
10943 |
-
for (var i = 0, l = node.children.length; i < l; i++) {
|
10944 |
-
var child = node.children[i];
|
10945 |
-
markStatic$1(child);
|
10946 |
-
if (!child.static) {
|
10947 |
-
node.static = false;
|
10948 |
-
}
|
10949 |
-
}
|
10950 |
-
if (node.ifConditions) {
|
10951 |
-
for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
|
10952 |
-
var block = node.ifConditions[i$1].block;
|
10953 |
-
markStatic$1(block);
|
10954 |
-
if (!block.static) {
|
10955 |
-
node.static = false;
|
10956 |
-
}
|
10957 |
-
}
|
10958 |
-
}
|
10959 |
-
}
|
10960 |
-
}
|
10961 |
-
|
10962 |
-
function markStaticRoots (node, isInFor) {
|
10963 |
-
if (node.type === 1) {
|
10964 |
-
if (node.static || node.once) {
|
10965 |
-
node.staticInFor = isInFor;
|
10966 |
-
}
|
10967 |
-
// For a node to qualify as a static root, it should have children that
|
10968 |
-
// are not just static text. Otherwise the cost of hoisting out will
|
10969 |
-
// outweigh the benefits and it's better off to just always render it fresh.
|
10970 |
-
if (node.static && node.children.length && !(
|
10971 |
-
node.children.length === 1 &&
|
10972 |
-
node.children[0].type === 3
|
10973 |
-
)) {
|
10974 |
-
node.staticRoot = true;
|
10975 |
-
return
|
10976 |
-
} else {
|
10977 |
-
node.staticRoot = false;
|
10978 |
-
}
|
10979 |
-
if (node.children) {
|
10980 |
-
for (var i = 0, l = node.children.length; i < l; i++) {
|
10981 |
-
markStaticRoots(node.children[i], isInFor || !!node.for);
|
10982 |
-
}
|
10983 |
-
}
|
10984 |
-
if (node.ifConditions) {
|
10985 |
-
for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
|
10986 |
-
markStaticRoots(node.ifConditions[i$1].block, isInFor);
|
10987 |
-
}
|
10988 |
-
}
|
10989 |
-
}
|
10990 |
-
}
|
10991 |
-
|
10992 |
-
function isStatic (node) {
|
10993 |
-
if (node.type === 2) { // expression
|
10994 |
-
return false
|
10995 |
-
}
|
10996 |
-
if (node.type === 3) { // text
|
10997 |
-
return true
|
10998 |
-
}
|
10999 |
-
return !!(node.pre || (
|
11000 |
-
!node.hasBindings && // no dynamic bindings
|
11001 |
-
!node.if && !node.for && // not v-if or v-for or v-else
|
11002 |
-
!isBuiltInTag(node.tag) && // not a built-in
|
11003 |
-
isPlatformReservedTag(node.tag) && // not a component
|
11004 |
-
!isDirectChildOfTemplateFor(node) &&
|
11005 |
-
Object.keys(node).every(isStaticKey)
|
11006 |
-
))
|
11007 |
-
}
|
11008 |
-
|
11009 |
-
function isDirectChildOfTemplateFor (node) {
|
11010 |
-
while (node.parent) {
|
11011 |
-
node = node.parent;
|
11012 |
-
if (node.tag !== 'template') {
|
11013 |
-
return false
|
11014 |
-
}
|
11015 |
-
if (node.for) {
|
11016 |
-
return true
|
11017 |
-
}
|
11018 |
-
}
|
11019 |
-
return false
|
11020 |
-
}
|
11021 |
-
|
11022 |
-
/* */
|
11023 |
-
|
11024 |
-
var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/;
|
11025 |
-
var fnInvokeRE = /\([^)]*?\);*$/;
|
11026 |
-
var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;
|
11027 |
-
|
11028 |
-
// KeyboardEvent.keyCode aliases
|
11029 |
-
var keyCodes = {
|
11030 |
-
esc: 27,
|
11031 |
-
tab: 9,
|
11032 |
-
enter: 13,
|
11033 |
-
space: 32,
|
11034 |
-
up: 38,
|
11035 |
-
left: 37,
|
11036 |
-
right: 39,
|
11037 |
-
down: 40,
|
11038 |
-
'delete': [8, 46]
|
11039 |
-
};
|
11040 |
-
|
11041 |
-
// KeyboardEvent.key aliases
|
11042 |
-
var keyNames = {
|
11043 |
-
// #7880: IE11 and Edge use `Esc` for Escape key name.
|
11044 |
-
esc: ['Esc', 'Escape'],
|
11045 |
-
tab: 'Tab',
|
11046 |
-
enter: 'Enter',
|
11047 |
-
// #9112: IE11 uses `Spacebar` for Space key name.
|
11048 |
-
space: [' ', 'Spacebar'],
|
11049 |
-
// #7806: IE11 uses key names without `Arrow` prefix for arrow keys.
|
11050 |
-
up: ['Up', 'ArrowUp'],
|
11051 |
-
left: ['Left', 'ArrowLeft'],
|
11052 |
-
right: ['Right', 'ArrowRight'],
|
11053 |
-
down: ['Down', 'ArrowDown'],
|
11054 |
-
// #9112: IE11 uses `Del` for Delete key name.
|
11055 |
-
'delete': ['Backspace', 'Delete', 'Del']
|
11056 |
-
};
|
11057 |
-
|
11058 |
-
// #4868: modifiers that prevent the execution of the listener
|
11059 |
-
// need to explicitly return null so that we can determine whether to remove
|
11060 |
-
// the listener for .once
|
11061 |
-
var genGuard = function (condition) { return ("if(" + condition + ")return null;"); };
|
11062 |
-
|
11063 |
-
var modifierCode = {
|
11064 |
-
stop: '$event.stopPropagation();',
|
11065 |
-
prevent: '$event.preventDefault();',
|
11066 |
-
self: genGuard("$event.target !== $event.currentTarget"),
|
11067 |
-
ctrl: genGuard("!$event.ctrlKey"),
|
11068 |
-
shift: genGuard("!$event.shiftKey"),
|
11069 |
-
alt: genGuard("!$event.altKey"),
|
11070 |
-
meta: genGuard("!$event.metaKey"),
|
11071 |
-
left: genGuard("'button' in $event && $event.button !== 0"),
|
11072 |
-
middle: genGuard("'button' in $event && $event.button !== 1"),
|
11073 |
-
right: genGuard("'button' in $event && $event.button !== 2")
|
11074 |
-
};
|
11075 |
-
|
11076 |
-
function genHandlers (
|
11077 |
-
events,
|
11078 |
-
isNative
|
11079 |
-
) {
|
11080 |
-
var prefix = isNative ? 'nativeOn:' : 'on:';
|
11081 |
-
var staticHandlers = "";
|
11082 |
-
var dynamicHandlers = "";
|
11083 |
-
for (var name in events) {
|
11084 |
-
var handlerCode = genHandler(events[name]);
|
11085 |
-
if (events[name] && events[name].dynamic) {
|
11086 |
-
dynamicHandlers += name + "," + handlerCode + ",";
|
11087 |
-
} else {
|
11088 |
-
staticHandlers += "\"" + name + "\":" + handlerCode + ",";
|
11089 |
-
}
|
11090 |
-
}
|
11091 |
-
staticHandlers = "{" + (staticHandlers.slice(0, -1)) + "}";
|
11092 |
-
if (dynamicHandlers) {
|
11093 |
-
return prefix + "_d(" + staticHandlers + ",[" + (dynamicHandlers.slice(0, -1)) + "])"
|
11094 |
-
} else {
|
11095 |
-
return prefix + staticHandlers
|
11096 |
-
}
|
11097 |
-
}
|
11098 |
-
|
11099 |
-
function genHandler (handler) {
|
11100 |
-
if (!handler) {
|
11101 |
-
return 'function(){}'
|
11102 |
-
}
|
11103 |
-
|
11104 |
-
if (Array.isArray(handler)) {
|
11105 |
-
return ("[" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + "]")
|
11106 |
-
}
|
11107 |
-
|
11108 |
-
var isMethodPath = simplePathRE.test(handler.value);
|
11109 |
-
var isFunctionExpression = fnExpRE.test(handler.value);
|
11110 |
-
var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));
|
11111 |
-
|
11112 |
-
if (!handler.modifiers) {
|
11113 |
-
if (isMethodPath || isFunctionExpression) {
|
11114 |
-
return handler.value
|
11115 |
-
}
|
11116 |
-
return ("function($event){" + (isFunctionInvocation ? ("return " + (handler.value)) : handler.value) + "}") // inline statement
|
11117 |
-
} else {
|
11118 |
-
var code = '';
|
11119 |
-
var genModifierCode = '';
|
11120 |
-
var keys = [];
|
11121 |
-
for (var key in handler.modifiers) {
|
11122 |
-
if (modifierCode[key]) {
|
11123 |
-
genModifierCode += modifierCode[key];
|
11124 |
-
// left/right
|
11125 |
-
if (keyCodes[key]) {
|
11126 |
-
keys.push(key);
|
11127 |
-
}
|
11128 |
-
} else if (key === 'exact') {
|
11129 |
-
var modifiers = (handler.modifiers);
|
11130 |
-
genModifierCode += genGuard(
|
11131 |
-
['ctrl', 'shift', 'alt', 'meta']
|
11132 |
-
.filter(function (keyModifier) { return !modifiers[keyModifier]; })
|
11133 |
-
.map(function (keyModifier) { return ("$event." + keyModifier + "Key"); })
|
11134 |
-
.join('||')
|
11135 |
-
);
|
11136 |
-
} else {
|
11137 |
-
keys.push(key);
|
11138 |
-
}
|
11139 |
-
}
|
11140 |
-
if (keys.length) {
|
11141 |
-
code += genKeyFilter(keys);
|
11142 |
-
}
|
11143 |
-
// Make sure modifiers like prevent and stop get executed after key filtering
|
11144 |
-
if (genModifierCode) {
|
11145 |
-
code += genModifierCode;
|
11146 |
-
}
|
11147 |
-
var handlerCode = isMethodPath
|
11148 |
-
? ("return " + (handler.value) + ".apply(null, arguments)")
|
11149 |
-
: isFunctionExpression
|
11150 |
-
? ("return (" + (handler.value) + ").apply(null, arguments)")
|
11151 |
-
: isFunctionInvocation
|
11152 |
-
? ("return " + (handler.value))
|
11153 |
-
: handler.value;
|
11154 |
-
return ("function($event){" + code + handlerCode + "}")
|
11155 |
-
}
|
11156 |
-
}
|
11157 |
-
|
11158 |
-
function genKeyFilter (keys) {
|
11159 |
-
return (
|
11160 |
-
// make sure the key filters only apply to KeyboardEvents
|
11161 |
-
// #9441: can't use 'keyCode' in $event because Chrome autofill fires fake
|
11162 |
-
// key events that do not have keyCode property...
|
11163 |
-
"if(!$event.type.indexOf('key')&&" +
|
11164 |
-
(keys.map(genFilterCode).join('&&')) + ")return null;"
|
11165 |
-
)
|
11166 |
-
}
|
11167 |
-
|
11168 |
-
function genFilterCode (key) {
|
11169 |
-
var keyVal = parseInt(key, 10);
|
11170 |
-
if (keyVal) {
|
11171 |
-
return ("$event.keyCode!==" + keyVal)
|
11172 |
-
}
|
11173 |
-
var keyCode = keyCodes[key];
|
11174 |
-
var keyName = keyNames[key];
|
11175 |
-
return (
|
11176 |
-
"_k($event.keyCode," +
|
11177 |
-
(JSON.stringify(key)) + "," +
|
11178 |
-
(JSON.stringify(keyCode)) + "," +
|
11179 |
-
"$event.key," +
|
11180 |
-
"" + (JSON.stringify(keyName)) +
|
11181 |
-
")"
|
11182 |
-
)
|
11183 |
-
}
|
11184 |
-
|
11185 |
-
/* */
|
11186 |
-
|
11187 |
-
function on (el, dir) {
|
11188 |
-
if (process.env.NODE_ENV !== 'production' && dir.modifiers) {
|
11189 |
-
warn("v-on without argument does not support modifiers.");
|
11190 |
-
}
|
11191 |
-
el.wrapListeners = function (code) { return ("_g(" + code + "," + (dir.value) + ")"); };
|
11192 |
-
}
|
11193 |
-
|
11194 |
-
/* */
|
11195 |
-
|
11196 |
-
function bind$1 (el, dir) {
|
11197 |
-
el.wrapData = function (code) {
|
11198 |
-
return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + "," + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + ")")
|
11199 |
-
};
|
11200 |
-
}
|
11201 |
-
|
11202 |
-
/* */
|
11203 |
-
|
11204 |
-
var baseDirectives = {
|
11205 |
-
on: on,
|
11206 |
-
bind: bind$1,
|
11207 |
-
cloak: noop
|
11208 |
-
};
|
11209 |
-
|
11210 |
-
/* */
|
11211 |
-
|
11212 |
-
|
11213 |
-
|
11214 |
-
|
11215 |
-
|
11216 |
-
var CodegenState = function CodegenState (options) {
|
11217 |
-
this.options = options;
|
11218 |
-
this.warn = options.warn || baseWarn;
|
11219 |
-
this.transforms = pluckModuleFunction(options.modules, 'transformCode');
|
11220 |
-
this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
|
11221 |
-
this.directives = extend(extend({}, baseDirectives), options.directives);
|
11222 |
-
var isReservedTag = options.isReservedTag || no;
|
11223 |
-
this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };
|
11224 |
-
this.onceId = 0;
|
11225 |
-
this.staticRenderFns = [];
|
11226 |
-
this.pre = false;
|
11227 |
-
};
|
11228 |
-
|
11229 |
-
|
11230 |
-
|
11231 |
-
function generate (
|
11232 |
-
ast,
|
11233 |
-
options
|
11234 |
-
) {
|
11235 |
-
var state = new CodegenState(options);
|
11236 |
-
// fix #11483, Root level <script> tags should not be rendered.
|
11237 |
-
var code = ast ? (ast.tag === 'script' ? 'null' : genElement(ast, state)) : '_c("div")';
|
11238 |
-
return {
|
11239 |
-
render: ("with(this){return " + code + "}"),
|
11240 |
-
staticRenderFns: state.staticRenderFns
|
11241 |
-
}
|
11242 |
-
}
|
11243 |
-
|
11244 |
-
function genElement (el, state) {
|
11245 |
-
if (el.parent) {
|
11246 |
-
el.pre = el.pre || el.parent.pre;
|
11247 |
-
}
|
11248 |
-
|
11249 |
-
if (el.staticRoot && !el.staticProcessed) {
|
11250 |
-
return genStatic(el, state)
|
11251 |
-
} else if (el.once && !el.onceProcessed) {
|
11252 |
-
return genOnce(el, state)
|
11253 |
-
} else if (el.for && !el.forProcessed) {
|
11254 |
-
return genFor(el, state)
|
11255 |
-
} else if (el.if && !el.ifProcessed) {
|
11256 |
-
return genIf(el, state)
|
11257 |
-
} else if (el.tag === 'template' && !el.slotTarget && !state.pre) {
|
11258 |
-
return genChildren(el, state) || 'void 0'
|
11259 |
-
} else if (el.tag === 'slot') {
|
11260 |
-
return genSlot(el, state)
|
11261 |
-
} else {
|
11262 |
-
// component or element
|
11263 |
-
var code;
|
11264 |
-
if (el.component) {
|
11265 |
-
code = genComponent(el.component, el, state);
|
11266 |
-
} else {
|
11267 |
-
var data;
|
11268 |
-
if (!el.plain || (el.pre && state.maybeComponent(el))) {
|
11269 |
-
data = genData$2(el, state);
|
11270 |
-
}
|
11271 |
-
|
11272 |
-
var children = el.inlineTemplate ? null : genChildren(el, state, true);
|
11273 |
-
code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")";
|
11274 |
-
}
|
11275 |
-
// module transforms
|
11276 |
-
for (var i = 0; i < state.transforms.length; i++) {
|
11277 |
-
code = state.transforms[i](el, code);
|
11278 |
-
}
|
11279 |
-
return code
|
11280 |
-
}
|
11281 |
-
}
|
11282 |
-
|
11283 |
-
// hoist static sub-trees out
|
11284 |
-
function genStatic (el, state) {
|
11285 |
-
el.staticProcessed = true;
|
11286 |
-
// Some elements (templates) need to behave differently inside of a v-pre
|
11287 |
-
// node. All pre nodes are static roots, so we can use this as a location to
|
11288 |
-
// wrap a state change and reset it upon exiting the pre node.
|
11289 |
-
var originalPreState = state.pre;
|
11290 |
-
if (el.pre) {
|
11291 |
-
state.pre = el.pre;
|
11292 |
-
}
|
11293 |
-
state.staticRenderFns.push(("with(this){return " + (genElement(el, state)) + "}"));
|
11294 |
-
state.pre = originalPreState;
|
11295 |
-
return ("_m(" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")")
|
11296 |
-
}
|
11297 |
-
|
11298 |
-
// v-once
|
11299 |
-
function genOnce (el, state) {
|
11300 |
-
el.onceProcessed = true;
|
11301 |
-
if (el.if && !el.ifProcessed) {
|
11302 |
-
return genIf(el, state)
|
11303 |
-
} else if (el.staticInFor) {
|
11304 |
-
var key = '';
|
11305 |
-
var parent = el.parent;
|
11306 |
-
while (parent) {
|
11307 |
-
if (parent.for) {
|
11308 |
-
key = parent.key;
|
11309 |
-
break
|
11310 |
-
}
|
11311 |
-
parent = parent.parent;
|
11312 |
-
}
|
11313 |
-
if (!key) {
|
11314 |
-
process.env.NODE_ENV !== 'production' && state.warn(
|
11315 |
-
"v-once can only be used inside v-for that is keyed. ",
|
11316 |
-
el.rawAttrsMap['v-once']
|
11317 |
-
);
|
11318 |
-
return genElement(el, state)
|
11319 |
-
}
|
11320 |
-
return ("_o(" + (genElement(el, state)) + "," + (state.onceId++) + "," + key + ")")
|
11321 |
-
} else {
|
11322 |
-
return genStatic(el, state)
|
11323 |
-
}
|
11324 |
-
}
|
11325 |
-
|
11326 |
-
function genIf (
|
11327 |
-
el,
|
11328 |
-
state,
|
11329 |
-
altGen,
|
11330 |
-
altEmpty
|
11331 |
-
) {
|
11332 |
-
el.ifProcessed = true; // avoid recursion
|
11333 |
-
return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)
|
11334 |
-
}
|
11335 |
-
|
11336 |
-
function genIfConditions (
|
11337 |
-
conditions,
|
11338 |
-
state,
|
11339 |
-
altGen,
|
11340 |
-
altEmpty
|
11341 |
-
) {
|
11342 |
-
if (!conditions.length) {
|
11343 |
-
return altEmpty || '_e()'
|
11344 |
-
}
|
11345 |
-
|
11346 |
-
var condition = conditions.shift();
|
11347 |
-
if (condition.exp) {
|
11348 |
-
return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions, state, altGen, altEmpty)))
|
11349 |
-
} else {
|
11350 |
-
return ("" + (genTernaryExp(condition.block)))
|
11351 |
-
}
|
11352 |
-
|
11353 |
-
// v-if with v-once should generate code like (a)?_m(0):_m(1)
|
11354 |
-
function genTernaryExp (el) {
|
11355 |
-
return altGen
|
11356 |
-
? altGen(el, state)
|
11357 |
-
: el.once
|
11358 |
-
? genOnce(el, state)
|
11359 |
-
: genElement(el, state)
|
11360 |
-
}
|
11361 |
-
}
|
11362 |
-
|
11363 |
-
function genFor (
|
11364 |
-
el,
|
11365 |
-
state,
|
11366 |
-
altGen,
|
11367 |
-
altHelper
|
11368 |
-
) {
|
11369 |
-
var exp = el.for;
|
11370 |
-
var alias = el.alias;
|
11371 |
-
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
|
11372 |
-
var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
|
11373 |
-
|
11374 |
-
if (process.env.NODE_ENV !== 'production' &&
|
11375 |
-
state.maybeComponent(el) &&
|
11376 |
-
el.tag !== 'slot' &&
|
11377 |
-
el.tag !== 'template' &&
|
11378 |
-
!el.key
|
11379 |
-
) {
|
11380 |
-
state.warn(
|
11381 |
-
"<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
|
11382 |
-
"v-for should have explicit keys. " +
|
11383 |
-
"See https://vuejs.org/guide/list.html#key for more info.",
|
11384 |
-
el.rawAttrsMap['v-for'],
|
11385 |
-
true /* tip */
|
11386 |
-
);
|
11387 |
-
}
|
11388 |
-
|
11389 |
-
el.forProcessed = true; // avoid recursion
|
11390 |
-
return (altHelper || '_l') + "((" + exp + ")," +
|
11391 |
-
"function(" + alias + iterator1 + iterator2 + "){" +
|
11392 |
-
"return " + ((altGen || genElement)(el, state)) +
|
11393 |
-
'})'
|
11394 |
-
}
|
11395 |
-
|
11396 |
-
function genData$2 (el, state) {
|
11397 |
-
var data = '{';
|
11398 |
-
|
11399 |
-
// directives first.
|
11400 |
-
// directives may mutate the el's other properties before they are generated.
|
11401 |
-
var dirs = genDirectives(el, state);
|
11402 |
-
if (dirs) { data += dirs + ','; }
|
11403 |
-
|
11404 |
-
// key
|
11405 |
-
if (el.key) {
|
11406 |
-
data += "key:" + (el.key) + ",";
|
11407 |
-
}
|
11408 |
-
// ref
|
11409 |
-
if (el.ref) {
|
11410 |
-
data += "ref:" + (el.ref) + ",";
|
11411 |
-
}
|
11412 |
-
if (el.refInFor) {
|
11413 |
-
data += "refInFor:true,";
|
11414 |
-
}
|
11415 |
-
// pre
|
11416 |
-
if (el.pre) {
|
11417 |
-
data += "pre:true,";
|
11418 |
-
}
|
11419 |
-
// record original tag name for components using "is" attribute
|
11420 |
-
if (el.component) {
|
11421 |
-
data += "tag:\"" + (el.tag) + "\",";
|
11422 |
-
}
|
11423 |
-
// module data generation functions
|
11424 |
-
for (var i = 0; i < state.dataGenFns.length; i++) {
|
11425 |
-
data += state.dataGenFns[i](el);
|
11426 |
-
}
|
11427 |
-
// attributes
|
11428 |
-
if (el.attrs) {
|
11429 |
-
data += "attrs:" + (genProps(el.attrs)) + ",";
|
11430 |
-
}
|
11431 |
-
// DOM props
|
11432 |
-
if (el.props) {
|
11433 |
-
data += "domProps:" + (genProps(el.props)) + ",";
|
11434 |
-
}
|
11435 |
-
// event handlers
|
11436 |
-
if (el.events) {
|
11437 |
-
data += (genHandlers(el.events, false)) + ",";
|
11438 |
-
}
|
11439 |
-
if (el.nativeEvents) {
|
11440 |
-
data += (genHandlers(el.nativeEvents, true)) + ",";
|
11441 |
-
}
|
11442 |
-
// slot target
|
11443 |
-
// only for non-scoped slots
|
11444 |
-
if (el.slotTarget && !el.slotScope) {
|
11445 |
-
data += "slot:" + (el.slotTarget) + ",";
|
11446 |
-
}
|
11447 |
-
// scoped slots
|
11448 |
-
if (el.scopedSlots) {
|
11449 |
-
data += (genScopedSlots(el, el.scopedSlots, state)) + ",";
|
11450 |
-
}
|
11451 |
-
// component v-model
|
11452 |
-
if (el.model) {
|
11453 |
-
data += "model:{value:" + (el.model.value) + ",callback:" + (el.model.callback) + ",expression:" + (el.model.expression) + "},";
|
11454 |
-
}
|
11455 |
-
// inline-template
|
11456 |
-
if (el.inlineTemplate) {
|
11457 |
-
var inlineTemplate = genInlineTemplate(el, state);
|
11458 |
-
if (inlineTemplate) {
|
11459 |
-
data += inlineTemplate + ",";
|
11460 |
-
}
|
11461 |
-
}
|
11462 |
-
data = data.replace(/,$/, '') + '}';
|
11463 |
-
// v-bind dynamic argument wrap
|
11464 |
-
// v-bind with dynamic arguments must be applied using the same v-bind object
|
11465 |
-
// merge helper so that class/style/mustUseProp attrs are handled correctly.
|
11466 |
-
if (el.dynamicAttrs) {
|
11467 |
-
data = "_b(" + data + ",\"" + (el.tag) + "\"," + (genProps(el.dynamicAttrs)) + ")";
|
11468 |
-
}
|
11469 |
-
// v-bind data wrap
|
11470 |
-
if (el.wrapData) {
|
11471 |
-
data = el.wrapData(data);
|
11472 |
-
}
|
11473 |
-
// v-on data wrap
|
11474 |
-
if (el.wrapListeners) {
|
11475 |
-
data = el.wrapListeners(data);
|
11476 |
-
}
|
11477 |
-
return data
|
11478 |
-
}
|
11479 |
-
|
11480 |
-
function genDirectives (el, state) {
|
11481 |
-
var dirs = el.directives;
|
11482 |
-
if (!dirs) { return }
|
11483 |
-
var res = 'directives:[';
|
11484 |
-
var hasRuntime = false;
|
11485 |
-
var i, l, dir, needRuntime;
|
11486 |
-
for (i = 0, l = dirs.length; i < l; i++) {
|
11487 |
-
dir = dirs[i];
|
11488 |
-
needRuntime = true;
|
11489 |
-
var gen = state.directives[dir.name];
|
11490 |
-
if (gen) {
|
11491 |
-
// compile-time directive that manipulates AST.
|
11492 |
-
// returns true if it also needs a runtime counterpart.
|
11493 |
-
needRuntime = !!gen(el, dir, state.warn);
|
11494 |
-
}
|
11495 |
-
if (needRuntime) {
|
11496 |
-
hasRuntime = true;
|
11497 |
-
res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:" + (dir.isDynamicArg ? dir.arg : ("\"" + (dir.arg) + "\""))) : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},";
|
11498 |
-
}
|
11499 |
-
}
|
11500 |
-
if (hasRuntime) {
|
11501 |
-
return res.slice(0, -1) + ']'
|
11502 |
-
}
|
11503 |
-
}
|
11504 |
-
|
11505 |
-
function genInlineTemplate (el, state) {
|
11506 |
-
var ast = el.children[0];
|
11507 |
-
if (process.env.NODE_ENV !== 'production' && (
|
11508 |
-
el.children.length !== 1 || ast.type !== 1
|
11509 |
-
)) {
|
11510 |
-
state.warn(
|
11511 |
-
'Inline-template components must have exactly one child element.',
|
11512 |
-
{ start: el.start }
|
11513 |
-
);
|
11514 |
-
}
|
11515 |
-
if (ast && ast.type === 1) {
|
11516 |
-
var inlineRenderFns = generate(ast, state.options);
|
11517 |
-
return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
|
11518 |
-
}
|
11519 |
-
}
|
11520 |
-
|
11521 |
-
function genScopedSlots (
|
11522 |
-
el,
|
11523 |
-
slots,
|
11524 |
-
state
|
11525 |
-
) {
|
11526 |
-
// by default scoped slots are considered "stable", this allows child
|
11527 |
-
// components with only scoped slots to skip forced updates from parent.
|
11528 |
-
// but in some cases we have to bail-out of this optimization
|
11529 |
-
// for example if the slot contains dynamic names, has v-if or v-for on them...
|
11530 |
-
var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {
|
11531 |
-
var slot = slots[key];
|
11532 |
-
return (
|
11533 |
-
slot.slotTargetDynamic ||
|
11534 |
-
slot.if ||
|
11535 |
-
slot.for ||
|
11536 |
-
containsSlotChild(slot) // is passing down slot from parent which may be dynamic
|
11537 |
-
)
|
11538 |
-
});
|
11539 |
-
|
11540 |
-
// #9534: if a component with scoped slots is inside a conditional branch,
|
11541 |
-
// it's possible for the same component to be reused but with different
|
11542 |
-
// compiled slot content. To avoid that, we generate a unique key based on
|
11543 |
-
// the generated code of all the slot contents.
|
11544 |
-
var needsKey = !!el.if;
|
11545 |
-
|
11546 |
-
// OR when it is inside another scoped slot or v-for (the reactivity may be
|
11547 |
-
// disconnected due to the intermediate scope variable)
|
11548 |
-
// #9438, #9506
|
11549 |
-
// TODO: this can be further optimized by properly analyzing in-scope bindings
|
11550 |
-
// and skip force updating ones that do not actually use scope variables.
|
11551 |
-
if (!needsForceUpdate) {
|
11552 |
-
var parent = el.parent;
|
11553 |
-
while (parent) {
|
11554 |
-
if (
|
11555 |
-
(parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||
|
11556 |
-
parent.for
|
11557 |
-
) {
|
11558 |
-
needsForceUpdate = true;
|
11559 |
-
break
|
11560 |
-
}
|
11561 |
-
if (parent.if) {
|
11562 |
-
needsKey = true;
|
11563 |
-
}
|
11564 |
-
parent = parent.parent;
|
11565 |
-
}
|
11566 |
-
}
|
11567 |
-
|
11568 |
-
var generatedSlots = Object.keys(slots)
|
11569 |
-
.map(function (key) { return genScopedSlot(slots[key], state); })
|
11570 |
-
.join(',');
|
11571 |
-
|
11572 |
-
return ("scopedSlots:_u([" + generatedSlots + "]" + (needsForceUpdate ? ",null,true" : "") + (!needsForceUpdate && needsKey ? (",null,false," + (hash(generatedSlots))) : "") + ")")
|
11573 |
-
}
|
11574 |
-
|
11575 |
-
function hash(str) {
|
11576 |
-
var hash = 5381;
|
11577 |
-
var i = str.length;
|
11578 |
-
while(i) {
|
11579 |
-
hash = (hash * 33) ^ str.charCodeAt(--i);
|
11580 |
-
}
|
11581 |
-
return hash >>> 0
|
11582 |
-
}
|
11583 |
-
|
11584 |
-
function containsSlotChild (el) {
|
11585 |
-
if (el.type === 1) {
|
11586 |
-
if (el.tag === 'slot') {
|
11587 |
-
return true
|
11588 |
-
}
|
11589 |
-
return el.children.some(containsSlotChild)
|
11590 |
-
}
|
11591 |
-
return false
|
11592 |
-
}
|
11593 |
-
|
11594 |
-
function genScopedSlot (
|
11595 |
-
el,
|
11596 |
-
state
|
11597 |
-
) {
|
11598 |
-
var isLegacySyntax = el.attrsMap['slot-scope'];
|
11599 |
-
if (el.if && !el.ifProcessed && !isLegacySyntax) {
|
11600 |
-
return genIf(el, state, genScopedSlot, "null")
|
11601 |
-
}
|
11602 |
-
if (el.for && !el.forProcessed) {
|
11603 |
-
return genFor(el, state, genScopedSlot)
|
11604 |
-
}
|
11605 |
-
var slotScope = el.slotScope === emptySlotScopeToken
|
11606 |
-
? ""
|
11607 |
-
: String(el.slotScope);
|
11608 |
-
var fn = "function(" + slotScope + "){" +
|
11609 |
-
"return " + (el.tag === 'template'
|
11610 |
-
? el.if && isLegacySyntax
|
11611 |
-
? ("(" + (el.if) + ")?" + (genChildren(el, state) || 'undefined') + ":undefined")
|
11612 |
-
: genChildren(el, state) || 'undefined'
|
11613 |
-
: genElement(el, state)) + "}";
|
11614 |
-
// reverse proxy v-slot without scope on this.$slots
|
11615 |
-
var reverseProxy = slotScope ? "" : ",proxy:true";
|
11616 |
-
return ("{key:" + (el.slotTarget || "\"default\"") + ",fn:" + fn + reverseProxy + "}")
|
11617 |
-
}
|
11618 |
-
|
11619 |
-
function genChildren (
|
11620 |
-
el,
|
11621 |
-
state,
|
11622 |
-
checkSkip,
|
11623 |
-
altGenElement,
|
11624 |
-
altGenNode
|
11625 |
-
) {
|
11626 |
-
var children = el.children;
|
11627 |
-
if (children.length) {
|
11628 |
-
var el$1 = children[0];
|
11629 |
-
// optimize single v-for
|
11630 |
-
if (children.length === 1 &&
|
11631 |
-
el$1.for &&
|
11632 |
-
el$1.tag !== 'template' &&
|
11633 |
-
el$1.tag !== 'slot'
|
11634 |
-
) {
|
11635 |
-
var normalizationType = checkSkip
|
11636 |
-
? state.maybeComponent(el$1) ? ",1" : ",0"
|
11637 |
-
: "";
|
11638 |
-
return ("" + ((altGenElement || genElement)(el$1, state)) + normalizationType)
|
11639 |
-
}
|
11640 |
-
var normalizationType$1 = checkSkip
|
11641 |
-
? getNormalizationType(children, state.maybeComponent)
|
11642 |
-
: 0;
|
11643 |
-
var gen = altGenNode || genNode;
|
11644 |
-
return ("[" + (children.map(function (c) { return gen(c, state); }).join(',')) + "]" + (normalizationType$1 ? ("," + normalizationType$1) : ''))
|
11645 |
-
}
|
11646 |
-
}
|
11647 |
-
|
11648 |
-
// determine the normalization needed for the children array.
|
11649 |
-
// 0: no normalization needed
|
11650 |
-
// 1: simple normalization needed (possible 1-level deep nested array)
|
11651 |
-
// 2: full normalization needed
|
11652 |
-
function getNormalizationType (
|
11653 |
-
children,
|
11654 |
-
maybeComponent
|
11655 |
-
) {
|
11656 |
-
var res = 0;
|
11657 |
-
for (var i = 0; i < children.length; i++) {
|
11658 |
-
var el = children[i];
|
11659 |
-
if (el.type !== 1) {
|
11660 |
-
continue
|
11661 |
-
}
|
11662 |
-
if (needsNormalization(el) ||
|
11663 |
-
(el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {
|
11664 |
-
res = 2;
|
11665 |
-
break
|
11666 |
-
}
|
11667 |
-
if (maybeComponent(el) ||
|
11668 |
-
(el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {
|
11669 |
-
res = 1;
|
11670 |
-
}
|
11671 |
-
}
|
11672 |
-
return res
|
11673 |
-
}
|
11674 |
-
|
11675 |
-
function needsNormalization (el) {
|
11676 |
-
return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'
|
11677 |
-
}
|
11678 |
-
|
11679 |
-
function genNode (node, state) {
|
11680 |
-
if (node.type === 1) {
|
11681 |
-
return genElement(node, state)
|
11682 |
-
} else if (node.type === 3 && node.isComment) {
|
11683 |
-
return genComment(node)
|
11684 |
-
} else {
|
11685 |
-
return genText(node)
|
11686 |
-
}
|
11687 |
-
}
|
11688 |
-
|
11689 |
-
function genText (text) {
|
11690 |
-
return ("_v(" + (text.type === 2
|
11691 |
-
? text.expression // no need for () because already wrapped in _s()
|
11692 |
-
: transformSpecialNewlines(JSON.stringify(text.text))) + ")")
|
11693 |
-
}
|
11694 |
-
|
11695 |
-
function genComment (comment) {
|
11696 |
-
return ("_e(" + (JSON.stringify(comment.text)) + ")")
|
11697 |
-
}
|
11698 |
-
|
11699 |
-
function genSlot (el, state) {
|
11700 |
-
var slotName = el.slotName || '"default"';
|
11701 |
-
var children = genChildren(el, state);
|
11702 |
-
var res = "_t(" + slotName + (children ? (",function(){return " + children + "}") : '');
|
11703 |
-
var attrs = el.attrs || el.dynamicAttrs
|
11704 |
-
? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({
|
11705 |
-
// slot props are camelized
|
11706 |
-
name: camelize(attr.name),
|
11707 |
-
value: attr.value,
|
11708 |
-
dynamic: attr.dynamic
|
11709 |
-
}); }))
|
11710 |
-
: null;
|
11711 |
-
var bind$$1 = el.attrsMap['v-bind'];
|
11712 |
-
if ((attrs || bind$$1) && !children) {
|
11713 |
-
res += ",null";
|
11714 |
-
}
|
11715 |
-
if (attrs) {
|
11716 |
-
res += "," + attrs;
|
11717 |
-
}
|
11718 |
-
if (bind$$1) {
|
11719 |
-
res += (attrs ? '' : ',null') + "," + bind$$1;
|
11720 |
-
}
|
11721 |
-
return res + ')'
|
11722 |
-
}
|
11723 |
-
|
11724 |
-
// componentName is el.component, take it as argument to shun flow's pessimistic refinement
|
11725 |
-
function genComponent (
|
11726 |
-
componentName,
|
11727 |
-
el,
|
11728 |
-
state
|
11729 |
-
) {
|
11730 |
-
var children = el.inlineTemplate ? null : genChildren(el, state, true);
|
11731 |
-
return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")")
|
11732 |
-
}
|
11733 |
-
|
11734 |
-
function genProps (props) {
|
11735 |
-
var staticProps = "";
|
11736 |
-
var dynamicProps = "";
|
11737 |
-
for (var i = 0; i < props.length; i++) {
|
11738 |
-
var prop = props[i];
|
11739 |
-
var value = transformSpecialNewlines(prop.value);
|
11740 |
-
if (prop.dynamic) {
|
11741 |
-
dynamicProps += (prop.name) + "," + value + ",";
|
11742 |
-
} else {
|
11743 |
-
staticProps += "\"" + (prop.name) + "\":" + value + ",";
|
11744 |
-
}
|
11745 |
-
}
|
11746 |
-
staticProps = "{" + (staticProps.slice(0, -1)) + "}";
|
11747 |
-
if (dynamicProps) {
|
11748 |
-
return ("_d(" + staticProps + ",[" + (dynamicProps.slice(0, -1)) + "])")
|
11749 |
-
} else {
|
11750 |
-
return staticProps
|
11751 |
-
}
|
11752 |
-
}
|
11753 |
-
|
11754 |
-
// #3895, #4268
|
11755 |
-
function transformSpecialNewlines (text) {
|
11756 |
-
return text
|
11757 |
-
.replace(/\u2028/g, '\\u2028')
|
11758 |
-
.replace(/\u2029/g, '\\u2029')
|
11759 |
-
}
|
11760 |
-
|
11761 |
-
/* */
|
11762 |
-
|
11763 |
-
|
11764 |
-
|
11765 |
-
// these keywords should not appear inside expressions, but operators like
|
11766 |
-
// typeof, instanceof and in are allowed
|
11767 |
-
var prohibitedKeywordRE = new RegExp('\\b' + (
|
11768 |
-
'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
|
11769 |
-
'super,throw,while,yield,delete,export,import,return,switch,default,' +
|
11770 |
-
'extends,finally,continue,debugger,function,arguments'
|
11771 |
-
).split(',').join('\\b|\\b') + '\\b');
|
11772 |
-
|
11773 |
-
// these unary operators should not be used as property/method names
|
11774 |
-
var unaryOperatorsRE = new RegExp('\\b' + (
|
11775 |
-
'delete,typeof,void'
|
11776 |
-
).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)');
|
11777 |
-
|
11778 |
-
// strip strings in expressions
|
11779 |
-
var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
|
11780 |
-
|
11781 |
-
// detect problematic expressions in a template
|
11782 |
-
function detectErrors (ast, warn) {
|
11783 |
-
if (ast) {
|
11784 |
-
checkNode(ast, warn);
|
11785 |
-
}
|
11786 |
-
}
|
11787 |
-
|
11788 |
-
function checkNode (node, warn) {
|
11789 |
-
if (node.type === 1) {
|
11790 |
-
for (var name in node.attrsMap) {
|
11791 |
-
if (dirRE.test(name)) {
|
11792 |
-
var value = node.attrsMap[name];
|
11793 |
-
if (value) {
|
11794 |
-
var range = node.rawAttrsMap[name];
|
11795 |
-
if (name === 'v-for') {
|
11796 |
-
checkFor(node, ("v-for=\"" + value + "\""), warn, range);
|
11797 |
-
} else if (name === 'v-slot' || name[0] === '#') {
|
11798 |
-
checkFunctionParameterExpression(value, (name + "=\"" + value + "\""), warn, range);
|
11799 |
-
} else if (onRE.test(name)) {
|
11800 |
-
checkEvent(value, (name + "=\"" + value + "\""), warn, range);
|
11801 |
-
} else {
|
11802 |
-
checkExpression(value, (name + "=\"" + value + "\""), warn, range);
|
11803 |
-
}
|
11804 |
-
}
|
11805 |
-
}
|
11806 |
-
}
|
11807 |
-
if (node.children) {
|
11808 |
-
for (var i = 0; i < node.children.length; i++) {
|
11809 |
-
checkNode(node.children[i], warn);
|
11810 |
-
}
|
11811 |
-
}
|
11812 |
-
} else if (node.type === 2) {
|
11813 |
-
checkExpression(node.expression, node.text, warn, node);
|
11814 |
-
}
|
11815 |
-
}
|
11816 |
-
|
11817 |
-
function checkEvent (exp, text, warn, range) {
|
11818 |
-
var stripped = exp.replace(stripStringRE, '');
|
11819 |
-
var keywordMatch = stripped.match(unaryOperatorsRE);
|
11820 |
-
if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {
|
11821 |
-
warn(
|
11822 |
-
"avoid using JavaScript unary operator as property name: " +
|
11823 |
-
"\"" + (keywordMatch[0]) + "\" in expression " + (text.trim()),
|
11824 |
-
range
|
11825 |
-
);
|
11826 |
-
}
|
11827 |
-
checkExpression(exp, text, warn, range);
|
11828 |
-
}
|
11829 |
-
|
11830 |
-
function checkFor (node, text, warn, range) {
|
11831 |
-
checkExpression(node.for || '', text, warn, range);
|
11832 |
-
checkIdentifier(node.alias, 'v-for alias', text, warn, range);
|
11833 |
-
checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);
|
11834 |
-
checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);
|
11835 |
-
}
|
11836 |
-
|
11837 |
-
function checkIdentifier (
|
11838 |
-
ident,
|
11839 |
-
type,
|
11840 |
-
text,
|
11841 |
-
warn,
|
11842 |
-
range
|
11843 |
-
) {
|
11844 |
-
if (typeof ident === 'string') {
|
11845 |
-
try {
|
11846 |
-
new Function(("var " + ident + "=_"));
|
11847 |
-
} catch (e) {
|
11848 |
-
warn(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())), range);
|
11849 |
-
}
|
11850 |
-
}
|
11851 |
-
}
|
11852 |
-
|
11853 |
-
function checkExpression (exp, text, warn, range) {
|
11854 |
-
try {
|
11855 |
-
new Function(("return " + exp));
|
11856 |
-
} catch (e) {
|
11857 |
-
var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);
|
11858 |
-
if (keywordMatch) {
|
11859 |
-
warn(
|
11860 |
-
"avoid using JavaScript keyword as property name: " +
|
11861 |
-
"\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim()),
|
11862 |
-
range
|
11863 |
-
);
|
11864 |
-
} else {
|
11865 |
-
warn(
|
11866 |
-
"invalid expression: " + (e.message) + " in\n\n" +
|
11867 |
-
" " + exp + "\n\n" +
|
11868 |
-
" Raw expression: " + (text.trim()) + "\n",
|
11869 |
-
range
|
11870 |
-
);
|
11871 |
-
}
|
11872 |
-
}
|
11873 |
-
}
|
11874 |
-
|
11875 |
-
function checkFunctionParameterExpression (exp, text, warn, range) {
|
11876 |
-
try {
|
11877 |
-
new Function(exp, '');
|
11878 |
-
} catch (e) {
|
11879 |
-
warn(
|
11880 |
-
"invalid function parameter expression: " + (e.message) + " in\n\n" +
|
11881 |
-
" " + exp + "\n\n" +
|
11882 |
-
" Raw expression: " + (text.trim()) + "\n",
|
11883 |
-
range
|
11884 |
-
);
|
11885 |
-
}
|
11886 |
-
}
|
11887 |
-
|
11888 |
-
/* */
|
11889 |
-
|
11890 |
-
var range = 2;
|
11891 |
-
|
11892 |
-
function generateCodeFrame (
|
11893 |
-
source,
|
11894 |
-
start,
|
11895 |
-
end
|
11896 |
-
) {
|
11897 |
-
if ( start === void 0 ) start = 0;
|
11898 |
-
if ( end === void 0 ) end = source.length;
|
11899 |
-
|
11900 |
-
var lines = source.split(/\r?\n/);
|
11901 |
-
var count = 0;
|
11902 |
-
var res = [];
|
11903 |
-
for (var i = 0; i < lines.length; i++) {
|
11904 |
-
count += lines[i].length + 1;
|
11905 |
-
if (count >= start) {
|
11906 |
-
for (var j = i - range; j <= i + range || end > count; j++) {
|
11907 |
-
if (j < 0 || j >= lines.length) { continue }
|
11908 |
-
res.push(("" + (j + 1) + (repeat$1(" ", 3 - String(j + 1).length)) + "| " + (lines[j])));
|
11909 |
-
var lineLength = lines[j].length;
|
11910 |
-
if (j === i) {
|
11911 |
-
// push underline
|
11912 |
-
var pad = start - (count - lineLength) + 1;
|
11913 |
-
var length = end > count ? lineLength - pad : end - start;
|
11914 |
-
res.push(" | " + repeat$1(" ", pad) + repeat$1("^", length));
|
11915 |
-
} else if (j > i) {
|
11916 |
-
if (end > count) {
|
11917 |
-
var length$1 = Math.min(end - count, lineLength);
|
11918 |
-
res.push(" | " + repeat$1("^", length$1));
|
11919 |
-
}
|
11920 |
-
count += lineLength + 1;
|
11921 |
-
}
|
11922 |
-
}
|
11923 |
-
break
|
11924 |
-
}
|
11925 |
-
}
|
11926 |
-
return res.join('\n')
|
11927 |
-
}
|
11928 |
-
|
11929 |
-
function repeat$1 (str, n) {
|
11930 |
-
var result = '';
|
11931 |
-
if (n > 0) {
|
11932 |
-
while (true) { // eslint-disable-line
|
11933 |
-
if (n & 1) { result += str; }
|
11934 |
-
n >>>= 1;
|
11935 |
-
if (n <= 0) { break }
|
11936 |
-
str += str;
|
11937 |
-
}
|
11938 |
-
}
|
11939 |
-
return result
|
11940 |
-
}
|
11941 |
-
|
11942 |
-
/* */
|
11943 |
-
|
11944 |
-
|
11945 |
-
|
11946 |
-
function createFunction (code, errors) {
|
11947 |
-
try {
|
11948 |
-
return new Function(code)
|
11949 |
-
} catch (err) {
|
11950 |
-
errors.push({ err: err, code: code });
|
11951 |
-
return noop
|
11952 |
-
}
|
11953 |
}
|
11954 |
|
11955 |
-
function
|
11956 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11957 |
|
11958 |
-
|
11959 |
-
|
11960 |
-
|
11961 |
-
|
11962 |
-
|
11963 |
-
|
11964 |
-
|
11965 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11966 |
|
11967 |
-
|
11968 |
-
|
11969 |
-
|
11970 |
-
try {
|
11971 |
-
new Function('return 1');
|
11972 |
-
} catch (e) {
|
11973 |
-
if (e.toString().match(/unsafe-eval|CSP/)) {
|
11974 |
-
warn$$1(
|
11975 |
-
'It seems you are using the standalone build of Vue.js in an ' +
|
11976 |
-
'environment with Content Security Policy that prohibits unsafe-eval. ' +
|
11977 |
-
'The template compiler cannot work in this environment. Consider ' +
|
11978 |
-
'relaxing the policy to allow unsafe-eval or pre-compiling your ' +
|
11979 |
-
'templates into render functions.'
|
11980 |
-
);
|
11981 |
-
}
|
11982 |
-
}
|
11983 |
-
}
|
11984 |
|
11985 |
-
|
11986 |
-
|
11987 |
-
|
11988 |
-
|
11989 |
-
if (
|
11990 |
-
|
11991 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11992 |
|
11993 |
-
|
11994 |
-
var
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11995 |
|
11996 |
-
|
11997 |
-
|
11998 |
-
|
11999 |
-
|
12000 |
-
|
12001 |
-
|
12002 |
-
|
12003 |
-
|
12004 |
-
|
12005 |
-
|
12006 |
-
|
12007 |
-
|
12008 |
-
|
12009 |
-
|
12010 |
-
|
12011 |
-
|
12012 |
-
|
12013 |
-
|
12014 |
-
|
12015 |
-
|
12016 |
-
|
12017 |
-
|
12018 |
-
|
12019 |
-
|
12020 |
-
|
12021 |
-
|
12022 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12023 |
|
12024 |
-
|
12025 |
-
|
12026 |
-
|
12027 |
-
|
12028 |
-
|
12029 |
-
|
12030 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12031 |
|
12032 |
-
|
12033 |
-
|
12034 |
-
|
12035 |
-
|
12036 |
-
|
12037 |
-
|
12038 |
-
|
12039 |
-
|
12040 |
-
|
12041 |
-
|
12042 |
-
|
12043 |
-
|
12044 |
-
|
12045 |
-
|
12046 |
-
|
12047 |
-
|
12048 |
-
|
12049 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12050 |
|
12051 |
-
|
12052 |
-
|
12053 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12054 |
|
12055 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12056 |
|
12057 |
-
|
12058 |
-
|
12059 |
-
|
12060 |
-
|
12061 |
-
|
12062 |
-
|
12063 |
-
|
12064 |
-
|
12065 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12066 |
|
12067 |
-
|
12068 |
-
|
12069 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12070 |
|
12071 |
-
|
12072 |
-
|
12073 |
-
|
12074 |
-
|
12075 |
-
|
12076 |
-
|
12077 |
-
|
12078 |
-
|
12079 |
-
|
12080 |
-
|
12081 |
-
|
12082 |
-
|
12083 |
-
|
12084 |
-
|
12085 |
-
|
12086 |
-
|
12087 |
-
|
12088 |
-
}
|
12089 |
-
|
12090 |
-
|
12091 |
-
|
12092 |
-
|
12093 |
-
|
12094 |
-
|
12095 |
-
|
12096 |
-
|
12097 |
-
|
12098 |
-
|
12099 |
-
|
12100 |
-
|
12101 |
-
|
12102 |
-
|
12103 |
-
|
12104 |
-
|
12105 |
-
|
12106 |
-
|
12107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12108 |
|
12109 |
-
|
|
|
|
|
|
|
12110 |
|
12111 |
-
|
12112 |
-
|
12113 |
-
|
12114 |
-
|
12115 |
-
|
12116 |
-
|
12117 |
-
|
12118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12119 |
|
12120 |
-
|
12121 |
-
|
12122 |
-
|
12123 |
-
|
12124 |
-
|
12125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12126 |
|
12127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12128 |
|
12129 |
-
|
12130 |
-
|
12131 |
-
|
12132 |
-
|
12133 |
-
|
12134 |
-
|
12135 |
-
)
|
12136 |
-
|
12137 |
-
|
12138 |
-
|
12139 |
-
|
12140 |
-
|
12141 |
-
|
12142 |
-
|
12143 |
-
|
12144 |
-
|
12145 |
-
|
12146 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12147 |
|
12148 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12149 |
|
12150 |
-
var
|
12151 |
-
|
12152 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12153 |
|
12154 |
-
|
12155 |
|
12156 |
-
|
12157 |
-
|
12158 |
-
|
12159 |
-
|
12160 |
-
div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>";
|
12161 |
-
return div.innerHTML.indexOf(' ') > 0
|
12162 |
}
|
12163 |
|
12164 |
-
|
12165 |
-
|
12166 |
-
|
12167 |
-
|
12168 |
-
|
12169 |
-
/* */
|
12170 |
-
|
12171 |
-
var idToTemplate = cached(function (id) {
|
12172 |
-
var el = query(id);
|
12173 |
-
return el && el.innerHTML
|
12174 |
-
});
|
12175 |
-
|
12176 |
-
var mount = Vue.prototype.$mount;
|
12177 |
-
Vue.prototype.$mount = function (
|
12178 |
-
el,
|
12179 |
-
hydrating
|
12180 |
-
) {
|
12181 |
-
el = el && query(el);
|
12182 |
|
12183 |
-
|
12184 |
-
|
12185 |
-
|
12186 |
-
|
12187 |
-
|
12188 |
-
return this
|
12189 |
-
}
|
12190 |
|
12191 |
-
|
12192 |
-
|
12193 |
-
|
12194 |
-
|
12195 |
-
|
12196 |
-
|
12197 |
-
|
12198 |
-
|
12199 |
-
|
12200 |
-
|
12201 |
-
|
12202 |
-
|
12203 |
-
this
|
12204 |
-
);
|
12205 |
-
}
|
12206 |
-
}
|
12207 |
-
} else if (template.nodeType) {
|
12208 |
-
template = template.innerHTML;
|
12209 |
-
} else {
|
12210 |
-
if (process.env.NODE_ENV !== 'production') {
|
12211 |
-
warn('invalid template option:' + template, this);
|
12212 |
-
}
|
12213 |
-
return this
|
12214 |
-
}
|
12215 |
-
} else if (el) {
|
12216 |
-
template = getOuterHTML(el);
|
12217 |
-
}
|
12218 |
-
if (template) {
|
12219 |
-
/* istanbul ignore if */
|
12220 |
-
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
12221 |
-
mark('compile');
|
12222 |
-
}
|
12223 |
|
12224 |
-
|
12225 |
-
|
12226 |
-
|
12227 |
-
|
12228 |
-
|
12229 |
-
|
12230 |
-
|
12231 |
-
|
12232 |
-
|
12233 |
-
|
12234 |
-
|
12235 |
-
|
12236 |
-
|
12237 |
-
|
12238 |
-
|
12239 |
-
|
12240 |
-
|
12241 |
-
|
12242 |
-
|
12243 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12244 |
};
|
12245 |
|
12246 |
-
/**
|
12247 |
-
|
12248 |
-
|
12249 |
-
|
12250 |
-
|
12251 |
-
|
12252 |
-
|
12253 |
-
|
12254 |
-
|
12255 |
-
|
12256 |
-
|
12257 |
-
|
12258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12259 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12260 |
Vue.compile = compileToFunctions;
|
12261 |
|
12262 |
-
|
12263 |
|
12264 |
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18), __webpack_require__(7), __webpack_require__(111).setImmediate))
|
12265 |
|
@@ -13216,9 +13081,16 @@ function validateHookName(hookName) {
|
|
13216 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
13217 |
|
13218 |
"use strict";
|
13219 |
-
/* WEBPACK VAR INJECTION */(function(process) {
|
13220 |
-
|
13221 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13222 |
* @license MIT
|
13223 |
*/
|
13224 |
/* */
|
@@ -13736,7 +13608,7 @@ function parsePath (path) {
|
|
13736 |
}
|
13737 |
|
13738 |
function cleanPath (path) {
|
13739 |
-
return path.replace(
|
13740 |
}
|
13741 |
|
13742 |
var isarray = Array.isArray || function (arr) {
|
@@ -14308,7 +14180,7 @@ var Link = {
|
|
14308 |
}
|
14309 |
},
|
14310 |
render: function render (h) {
|
14311 |
-
var this$1 = this;
|
14312 |
|
14313 |
var router = this.$router;
|
14314 |
var current = this.$route;
|
@@ -14351,7 +14223,7 @@ var Link = {
|
|
14351 |
|
14352 |
var handler = function (e) {
|
14353 |
if (guardEvent(e)) {
|
14354 |
-
if (this$1.replace) {
|
14355 |
router.replace(location, noop);
|
14356 |
} else {
|
14357 |
router.push(location, noop);
|
@@ -14667,7 +14539,7 @@ function addRouteRecord (
|
|
14667 |
warn(
|
14668 |
false,
|
14669 |
"Named Route '" + (route.name) + "' has a default child route. " +
|
14670 |
-
"When navigating to this named route (:to=\"{name: '" + (route.name) + "'\"), " +
|
14671 |
"the default child route will not be rendered. Remove the name from " +
|
14672 |
"this route and use the name of the default child route for named " +
|
14673 |
"links instead."
|
@@ -15211,25 +15083,6 @@ function replaceState (url) {
|
|
15211 |
pushState(url, true);
|
15212 |
}
|
15213 |
|
15214 |
-
/* */
|
15215 |
-
|
15216 |
-
function runQueue (queue, fn, cb) {
|
15217 |
-
var step = function (index) {
|
15218 |
-
if (index >= queue.length) {
|
15219 |
-
cb();
|
15220 |
-
} else {
|
15221 |
-
if (queue[index]) {
|
15222 |
-
fn(queue[index], function () {
|
15223 |
-
step(index + 1);
|
15224 |
-
});
|
15225 |
-
} else {
|
15226 |
-
step(index + 1);
|
15227 |
-
}
|
15228 |
-
}
|
15229 |
-
};
|
15230 |
-
step(0);
|
15231 |
-
}
|
15232 |
-
|
15233 |
// When changing thing, also edit router.d.ts
|
15234 |
var NavigationFailureType = {
|
15235 |
redirected: 2,
|
@@ -15315,6 +15168,25 @@ function isNavigationFailure (err, errorType) {
|
|
15315 |
|
15316 |
/* */
|
15317 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15318 |
function resolveAsyncComponents (matched) {
|
15319 |
return function (to, from, next) {
|
15320 |
var hasAsync = false;
|
@@ -15461,7 +15333,7 @@ History.prototype.transitionTo = function transitionTo (
|
|
15461 |
onComplete,
|
15462 |
onAbort
|
15463 |
) {
|
15464 |
-
var this$1 = this;
|
15465 |
|
15466 |
var route;
|
15467 |
// catch redirect option https://github.com/vuejs/vue-router/issues/3201
|
@@ -15478,17 +15350,17 @@ History.prototype.transitionTo = function transitionTo (
|
|
15478 |
this.confirmTransition(
|
15479 |
route,
|
15480 |
function () {
|
15481 |
-
this$1.updateRoute(route);
|
15482 |
onComplete && onComplete(route);
|
15483 |
-
this$1.ensureURL();
|
15484 |
-
this$1.router.afterHooks.forEach(function (hook) {
|
15485 |
hook && hook(route, prev);
|
15486 |
});
|
15487 |
|
15488 |
// fire ready cbs once
|
15489 |
-
if (!this$1.ready) {
|
15490 |
-
this$1.ready = true;
|
15491 |
-
this$1.readyCbs.forEach(function (cb) {
|
15492 |
cb(route);
|
15493 |
});
|
15494 |
}
|
@@ -15497,14 +15369,14 @@ History.prototype.transitionTo = function transitionTo (
|
|
15497 |
if (onAbort) {
|
15498 |
onAbort(err);
|
15499 |
}
|
15500 |
-
if (err && !this$1.ready) {
|
15501 |
// Initial redirection should not mark the history as ready yet
|
15502 |
// because it's triggered by the redirection instead
|
15503 |
// https://github.com/vuejs/vue-router/issues/3225
|
15504 |
// https://github.com/vuejs/vue-router/issues/3331
|
15505 |
if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {
|
15506 |
-
this$1.ready = true;
|
15507 |
-
this$1.readyErrorCbs.forEach(function (cb) {
|
15508 |
cb(err);
|
15509 |
});
|
15510 |
}
|
@@ -15514,7 +15386,7 @@ History.prototype.transitionTo = function transitionTo (
|
|
15514 |
};
|
15515 |
|
15516 |
History.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {
|
15517 |
-
var this$1 = this;
|
15518 |
|
15519 |
var current = this.current;
|
15520 |
this.pending = route;
|
@@ -15523,8 +15395,8 @@ History.prototype.confirmTransition = function confirmTransition (route, onCompl
|
|
15523 |
// https://github.com/vuejs/vue-router/pull/3047 before that change,
|
15524 |
// redirect and aborted navigation would produce an err == null
|
15525 |
if (!isNavigationFailure(err) && isError(err)) {
|
15526 |
-
if (this$1.errorCbs.length) {
|
15527 |
-
this$1.errorCbs.forEach(function (cb) {
|
15528 |
cb(err);
|
15529 |
});
|
15530 |
} else {
|
@@ -15573,17 +15445,17 @@ History.prototype.confirmTransition = function confirmTransition (route, onCompl
|
|
15573 |
);
|
15574 |
|
15575 |
var iterator = function (hook, next) {
|
15576 |
-
if (this$1.pending !== route) {
|
15577 |
return abort(createNavigationCancelledError(current, route))
|
15578 |
}
|
15579 |
try {
|
15580 |
hook(route, current, function (to) {
|
15581 |
if (to === false) {
|
15582 |
// next(false) -> abort navigation, ensure current URL
|
15583 |
-
this$1.ensureURL(true);
|
15584 |
abort(createNavigationAbortedError(current, route));
|
15585 |
} else if (isError(to)) {
|
15586 |
-
this$1.ensureURL(true);
|
15587 |
abort(to);
|
15588 |
} else if (
|
15589 |
typeof to === 'string' ||
|
@@ -15593,9 +15465,9 @@ History.prototype.confirmTransition = function confirmTransition (route, onCompl
|
|
15593 |
// next('/') or next({ path: '/' }) -> redirect
|
15594 |
abort(createNavigationRedirectedError(current, route));
|
15595 |
if (typeof to === 'object' && to.replace) {
|
15596 |
-
this$1.replace(to);
|
15597 |
} else {
|
15598 |
-
this$1.push(to);
|
15599 |
}
|
15600 |
} else {
|
15601 |
// confirm transition and pass on the value
|
@@ -15611,15 +15483,15 @@ History.prototype.confirmTransition = function confirmTransition (route, onCompl
|
|
15611 |
// wait until async components are resolved before
|
15612 |
// extracting in-component enter guards
|
15613 |
var enterGuards = extractEnterGuards(activated);
|
15614 |
-
var queue = enterGuards.concat(this$1.router.resolveHooks);
|
15615 |
runQueue(queue, iterator, function () {
|
15616 |
-
if (this$1.pending !== route) {
|
15617 |
return abort(createNavigationCancelledError(current, route))
|
15618 |
}
|
15619 |
-
this$1.pending = null;
|
15620 |
onComplete(route);
|
15621 |
-
if (this$1.router.app) {
|
15622 |
-
this$1.router.app.$nextTick(function () {
|
15623 |
handleRouteEntered(route);
|
15624 |
});
|
15625 |
}
|
@@ -15776,7 +15648,7 @@ var HTML5History = /*@__PURE__*/(function (History) {
|
|
15776 |
HTML5History.prototype.constructor = HTML5History;
|
15777 |
|
15778 |
HTML5History.prototype.setupListeners = function setupListeners () {
|
15779 |
-
var this$1 = this;
|
15780 |
|
15781 |
if (this.listeners.length > 0) {
|
15782 |
return
|
@@ -15791,16 +15663,16 @@ var HTML5History = /*@__PURE__*/(function (History) {
|
|
15791 |
}
|
15792 |
|
15793 |
var handleRoutingEvent = function () {
|
15794 |
-
var current = this$1.current;
|
15795 |
|
15796 |
// Avoiding first `popstate` event dispatched in some browsers but first
|
15797 |
// history route not updated since async guard at the same time.
|
15798 |
-
var location = getLocation(this$1.base);
|
15799 |
-
if (this$1.current === START && location === this$1._startLocation) {
|
15800 |
return
|
15801 |
}
|
15802 |
|
15803 |
-
this$1.transitionTo(location, function (route) {
|
15804 |
if (supportsScroll) {
|
15805 |
handleScroll(router, route, current, true);
|
15806 |
}
|
@@ -15817,25 +15689,25 @@ var HTML5History = /*@__PURE__*/(function (History) {
|
|
15817 |
};
|
15818 |
|
15819 |
HTML5History.prototype.push = function push (location, onComplete, onAbort) {
|
15820 |
-
var this$1 = this;
|
15821 |
|
15822 |
var ref = this;
|
15823 |
var fromRoute = ref.current;
|
15824 |
this.transitionTo(location, function (route) {
|
15825 |
-
pushState(cleanPath(this$1.base + route.fullPath));
|
15826 |
-
handleScroll(this$1.router, route, fromRoute, false);
|
15827 |
onComplete && onComplete(route);
|
15828 |
}, onAbort);
|
15829 |
};
|
15830 |
|
15831 |
HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {
|
15832 |
-
var this$1 = this;
|
15833 |
|
15834 |
var ref = this;
|
15835 |
var fromRoute = ref.current;
|
15836 |
this.transitionTo(location, function (route) {
|
15837 |
-
replaceState(cleanPath(this$1.base + route.fullPath));
|
15838 |
-
handleScroll(this$1.router, route, fromRoute, false);
|
15839 |
onComplete && onComplete(route);
|
15840 |
}, onAbort);
|
15841 |
};
|
@@ -15887,7 +15759,7 @@ var HashHistory = /*@__PURE__*/(function (History) {
|
|
15887 |
// this is delayed until the app mounts
|
15888 |
// to avoid the hashchange listener being fired too early
|
15889 |
HashHistory.prototype.setupListeners = function setupListeners () {
|
15890 |
-
var this$1 = this;
|
15891 |
|
15892 |
if (this.listeners.length > 0) {
|
15893 |
return
|
@@ -15902,13 +15774,13 @@ var HashHistory = /*@__PURE__*/(function (History) {
|
|
15902 |
}
|
15903 |
|
15904 |
var handleRoutingEvent = function () {
|
15905 |
-
var current = this$1.current;
|
15906 |
if (!ensureSlash()) {
|
15907 |
return
|
15908 |
}
|
15909 |
-
this$1.transitionTo(getHash(), function (route) {
|
15910 |
if (supportsScroll) {
|
15911 |
-
handleScroll(this$1.router, route, current, true);
|
15912 |
}
|
15913 |
if (!supportsPushState) {
|
15914 |
replaceHash(route.fullPath);
|
@@ -15926,7 +15798,7 @@ var HashHistory = /*@__PURE__*/(function (History) {
|
|
15926 |
};
|
15927 |
|
15928 |
HashHistory.prototype.push = function push (location, onComplete, onAbort) {
|
15929 |
-
var this$1 = this;
|
15930 |
|
15931 |
var ref = this;
|
15932 |
var fromRoute = ref.current;
|
@@ -15934,7 +15806,7 @@ var HashHistory = /*@__PURE__*/(function (History) {
|
|
15934 |
location,
|
15935 |
function (route) {
|
15936 |
pushHash(route.fullPath);
|
15937 |
-
handleScroll(this$1.router, route, fromRoute, false);
|
15938 |
onComplete && onComplete(route);
|
15939 |
},
|
15940 |
onAbort
|
@@ -15942,7 +15814,7 @@ var HashHistory = /*@__PURE__*/(function (History) {
|
|
15942 |
};
|
15943 |
|
15944 |
HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {
|
15945 |
-
var this$1 = this;
|
15946 |
|
15947 |
var ref = this;
|
15948 |
var fromRoute = ref.current;
|
@@ -15950,7 +15822,7 @@ var HashHistory = /*@__PURE__*/(function (History) {
|
|
15950 |
location,
|
15951 |
function (route) {
|
15952 |
replaceHash(route.fullPath);
|
15953 |
-
handleScroll(this$1.router, route, fromRoute, false);
|
15954 |
onComplete && onComplete(route);
|
15955 |
},
|
15956 |
onAbort
|
@@ -16042,13 +15914,13 @@ var AbstractHistory = /*@__PURE__*/(function (History) {
|
|
16042 |
AbstractHistory.prototype.constructor = AbstractHistory;
|
16043 |
|
16044 |
AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {
|
16045 |
-
var this$1 = this;
|
16046 |
|
16047 |
this.transitionTo(
|
16048 |
location,
|
16049 |
function (route) {
|
16050 |
-
this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);
|
16051 |
-
this$1.index++;
|
16052 |
onComplete && onComplete(route);
|
16053 |
},
|
16054 |
onAbort
|
@@ -16056,12 +15928,12 @@ var AbstractHistory = /*@__PURE__*/(function (History) {
|
|
16056 |
};
|
16057 |
|
16058 |
AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {
|
16059 |
-
var this$1 = this;
|
16060 |
|
16061 |
this.transitionTo(
|
16062 |
location,
|
16063 |
function (route) {
|
16064 |
-
this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);
|
16065 |
onComplete && onComplete(route);
|
16066 |
},
|
16067 |
onAbort
|
@@ -16069,7 +15941,7 @@ var AbstractHistory = /*@__PURE__*/(function (History) {
|
|
16069 |
};
|
16070 |
|
16071 |
AbstractHistory.prototype.go = function go (n) {
|
16072 |
-
var this$1 = this;
|
16073 |
|
16074 |
var targetIndex = this.index + n;
|
16075 |
if (targetIndex < 0 || targetIndex >= this.stack.length) {
|
@@ -16079,16 +15951,16 @@ var AbstractHistory = /*@__PURE__*/(function (History) {
|
|
16079 |
this.confirmTransition(
|
16080 |
route,
|
16081 |
function () {
|
16082 |
-
var prev = this$1.current;
|
16083 |
-
this$1.index = targetIndex;
|
16084 |
-
this$1.updateRoute(route);
|
16085 |
-
this$1.router.afterHooks.forEach(function (hook) {
|
16086 |
hook && hook(route, prev);
|
16087 |
});
|
16088 |
},
|
16089 |
function (err) {
|
16090 |
if (isNavigationFailure(err, NavigationFailureType.duplicated)) {
|
16091 |
-
this$1.index = targetIndex;
|
16092 |
}
|
16093 |
}
|
16094 |
);
|
@@ -16108,6 +15980,8 @@ var AbstractHistory = /*@__PURE__*/(function (History) {
|
|
16108 |
|
16109 |
/* */
|
16110 |
|
|
|
|
|
16111 |
var VueRouter = function VueRouter (options) {
|
16112 |
if ( options === void 0 ) options = {};
|
16113 |
|
@@ -16161,7 +16035,7 @@ prototypeAccessors.currentRoute.get = function () {
|
|
16161 |
};
|
16162 |
|
16163 |
VueRouter.prototype.init = function init (app /* Vue component instance */) {
|
16164 |
-
var this$1 = this;
|
16165 |
|
16166 |
process.env.NODE_ENV !== 'production' &&
|
16167 |
assert(
|
@@ -16176,13 +16050,13 @@ VueRouter.prototype.init = function init (app /* Vue component instance */) {
|
|
16176 |
// https://github.com/vuejs/vue-router/issues/2639
|
16177 |
app.$once('hook:destroyed', function () {
|
16178 |
// clean out app from this.apps array once destroyed
|
16179 |
-
var index = this$1.apps.indexOf(app);
|
16180 |
-
if (index > -1) { this$1.apps.splice(index, 1); }
|
16181 |
// ensure we still have a main app or null if no apps
|
16182 |
// we do not release the router so it can be reused
|
16183 |
-
if (this$1.app === app) { this$1.app = this$1.apps[0] || null; }
|
16184 |
|
16185 |
-
if (!this$1.app) { this$1.history.teardown(); }
|
16186 |
});
|
16187 |
|
16188 |
// main app previously initialized
|
@@ -16198,11 +16072,11 @@ VueRouter.prototype.init = function init (app /* Vue component instance */) {
|
|
16198 |
if (history instanceof HTML5History || history instanceof HashHistory) {
|
16199 |
var handleInitialScroll = function (routeOrError) {
|
16200 |
var from = history.current;
|
16201 |
-
var expectScroll = this$1.options.scrollBehavior;
|
16202 |
var supportsScroll = supportsPushState && expectScroll;
|
16203 |
|
16204 |
if (supportsScroll && 'fullPath' in routeOrError) {
|
16205 |
-
handleScroll(this$1, routeOrError, from, false);
|
16206 |
}
|
16207 |
};
|
16208 |
var setupListeners = function (routeOrError) {
|
@@ -16217,7 +16091,7 @@ VueRouter.prototype.init = function init (app /* Vue component instance */) {
|
|
16217 |
}
|
16218 |
|
16219 |
history.listen(function (route) {
|
16220 |
-
this$1.apps.forEach(function (app) {
|
16221 |
app._route = route;
|
16222 |
});
|
16223 |
});
|
@@ -16244,12 +16118,12 @@ VueRouter.prototype.onError = function onError (errorCb) {
|
|
16244 |
};
|
16245 |
|
16246 |
VueRouter.prototype.push = function push (location, onComplete, onAbort) {
|
16247 |
-
var this$1 = this;
|
16248 |
|
16249 |
// $flow-disable-line
|
16250 |
if (!onComplete && !onAbort && typeof Promise !== 'undefined') {
|
16251 |
return new Promise(function (resolve, reject) {
|
16252 |
-
this$1.history.push(location, resolve, reject);
|
16253 |
})
|
16254 |
} else {
|
16255 |
this.history.push(location, onComplete, onAbort);
|
@@ -16257,12 +16131,12 @@ VueRouter.prototype.push = function push (location, onComplete, onAbort) {
|
|
16257 |
};
|
16258 |
|
16259 |
VueRouter.prototype.replace = function replace (location, onComplete, onAbort) {
|
16260 |
-
var this$1 = this;
|
16261 |
|
16262 |
// $flow-disable-line
|
16263 |
if (!onComplete && !onAbort && typeof Promise !== 'undefined') {
|
16264 |
return new Promise(function (resolve, reject) {
|
16265 |
-
this$1.history.replace(location, resolve, reject);
|
16266 |
})
|
16267 |
} else {
|
16268 |
this.history.replace(location, onComplete, onAbort);
|
@@ -16344,6 +16218,8 @@ VueRouter.prototype.addRoutes = function addRoutes (routes) {
|
|
16344 |
|
16345 |
Object.defineProperties( VueRouter.prototype, prototypeAccessors );
|
16346 |
|
|
|
|
|
16347 |
function registerHook (list, fn) {
|
16348 |
list.push(fn);
|
16349 |
return function () {
|
@@ -16357,17 +16233,20 @@ function createHref (base, fullPath, mode) {
|
|
16357 |
return base ? cleanPath(base + '/' + path) : path
|
16358 |
}
|
16359 |
|
|
|
|
|
|
|
|
|
|
|
16360 |
VueRouter.install = install;
|
16361 |
-
VueRouter.version = '3.
|
16362 |
VueRouter.isNavigationFailure = isNavigationFailure;
|
16363 |
VueRouter.NavigationFailureType = NavigationFailureType;
|
16364 |
VueRouter.START_LOCATION = START;
|
16365 |
|
16366 |
-
|
16367 |
-
|
16368 |
-
}
|
16369 |
|
16370 |
-
/* harmony default export */ __webpack_exports__["a"] = (VueRouter);
|
16371 |
|
16372 |
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18)))
|
16373 |
|
@@ -19741,169 +19620,169 @@ module.exports = function (css) {
|
|
19741 |
|
19742 |
|
19743 |
//
|
19744 |
-
|
19745 |
-
// Check if the request came from the browser and is not server rendered
|
19746 |
-
if (typeof window !== 'undefined') {
|
19747 |
-
Promise.resolve().then(function () { return slick$1; });
|
19748 |
-
}
|
19749 |
-
|
19750 |
-
var script = {
|
19751 |
-
props: {
|
19752 |
-
options: {
|
19753 |
-
type: Object,
|
19754 |
-
default: function() {
|
19755 |
-
return {};
|
19756 |
-
},
|
19757 |
-
},
|
19758 |
-
},
|
19759 |
-
|
19760 |
-
mounted: function() {
|
19761 |
-
this.create();
|
19762 |
-
},
|
19763 |
-
|
19764 |
-
destroyed: function() {
|
19765 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('unslick');
|
19766 |
-
},
|
19767 |
-
|
19768 |
-
methods: {
|
19769 |
-
create: function() {
|
19770 |
-
var $slick = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el);
|
19771 |
-
|
19772 |
-
$slick.on('afterChange', this.onAfterChange);
|
19773 |
-
$slick.on('beforeChange', this.onBeforeChange);
|
19774 |
-
$slick.on('breakpoint', this.onBreakpoint);
|
19775 |
-
$slick.on('destroy', this.onDestroy);
|
19776 |
-
$slick.on('edge', this.onEdge);
|
19777 |
-
$slick.on('init', this.onInit);
|
19778 |
-
$slick.on('reInit', this.onReInit);
|
19779 |
-
$slick.on('setPosition', this.onSetPosition);
|
19780 |
-
$slick.on('swipe', this.onSwipe);
|
19781 |
-
$slick.on('lazyLoaded', this.onLazyLoaded);
|
19782 |
-
$slick.on('lazyLoadError', this.onLazyLoadError);
|
19783 |
-
|
19784 |
-
$slick.slick(this.options);
|
19785 |
-
},
|
19786 |
-
|
19787 |
-
destroy: function() {
|
19788 |
-
var $slick = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el);
|
19789 |
-
|
19790 |
-
$slick.off('afterChange', this.onAfterChange);
|
19791 |
-
$slick.off('beforeChange', this.onBeforeChange);
|
19792 |
-
$slick.off('breakpoint', this.onBreakpoint);
|
19793 |
-
$slick.off('destroy', this.onDestroy);
|
19794 |
-
$slick.off('edge', this.onEdge);
|
19795 |
-
$slick.off('init', this.onInit);
|
19796 |
-
$slick.off('reInit', this.onReInit);
|
19797 |
-
$slick.off('setPosition', this.onSetPosition);
|
19798 |
-
$slick.off('swipe', this.onSwipe);
|
19799 |
-
$slick.off('lazyLoaded', this.onLazyLoaded);
|
19800 |
-
$slick.off('lazyLoadError', this.onLazyLoadError);
|
19801 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('unslick');
|
19802 |
-
},
|
19803 |
-
|
19804 |
-
reSlick: function() {
|
19805 |
-
this.destroy();
|
19806 |
-
this.create();
|
19807 |
-
},
|
19808 |
-
|
19809 |
-
next: function() {
|
19810 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickNext');
|
19811 |
-
},
|
19812 |
-
|
19813 |
-
prev: function() {
|
19814 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickPrev');
|
19815 |
-
},
|
19816 |
-
|
19817 |
-
pause: function() {
|
19818 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickPause');
|
19819 |
-
},
|
19820 |
-
|
19821 |
-
play: function() {
|
19822 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickPlay');
|
19823 |
-
},
|
19824 |
-
|
19825 |
-
goTo: function(index, dontAnimate) {
|
19826 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickGoTo', index, dontAnimate);
|
19827 |
-
},
|
19828 |
-
|
19829 |
-
currentSlide: function() {
|
19830 |
-
return __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickCurrentSlide');
|
19831 |
-
},
|
19832 |
-
|
19833 |
-
add: function(element, index, addBefore) {
|
19834 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickAdd', element, index, addBefore);
|
19835 |
-
},
|
19836 |
-
|
19837 |
-
remove: function(index, removeBefore) {
|
19838 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickRemove', index, removeBefore);
|
19839 |
-
},
|
19840 |
-
|
19841 |
-
filter: function(filterData) {
|
19842 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickFilter', filterData);
|
19843 |
-
},
|
19844 |
-
|
19845 |
-
unfilter: function() {
|
19846 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickUnfilter');
|
19847 |
-
},
|
19848 |
-
|
19849 |
-
getOption: function(option) {
|
19850 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickGetOption', option);
|
19851 |
-
},
|
19852 |
-
|
19853 |
-
setOption: function(option, value, refresh) {
|
19854 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickSetOption', option, value, refresh);
|
19855 |
-
},
|
19856 |
-
|
19857 |
-
setPosition: function() {
|
19858 |
-
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('setPosition');
|
19859 |
-
},
|
19860 |
-
|
19861 |
-
// Events
|
19862 |
-
onAfterChange: function(event, slick, currentSlide) {
|
19863 |
-
this.$emit('afterChange', event, slick, currentSlide);
|
19864 |
-
},
|
19865 |
-
|
19866 |
-
onBeforeChange: function(event, slick, currentSlide, nextSlide) {
|
19867 |
-
this.$emit('beforeChange', event, slick, currentSlide, nextSlide);
|
19868 |
-
},
|
19869 |
-
|
19870 |
-
onBreakpoint: function(event, slick, breakpoint) {
|
19871 |
-
this.$emit('breakpoint', event, slick, breakpoint);
|
19872 |
-
},
|
19873 |
-
|
19874 |
-
onDestroy: function(event, slick) {
|
19875 |
-
this.$emit('destroy', event, slick);
|
19876 |
-
},
|
19877 |
-
|
19878 |
-
onEdge: function(event, slick, direction) {
|
19879 |
-
this.$emit('edge', event, slick, direction);
|
19880 |
-
},
|
19881 |
-
|
19882 |
-
onInit: function(event, slick) {
|
19883 |
-
this.$emit('init', event, slick);
|
19884 |
-
},
|
19885 |
-
|
19886 |
-
onReInit: function(event, slick) {
|
19887 |
-
this.$emit('reInit', event, slick);
|
19888 |
-
},
|
19889 |
-
|
19890 |
-
onSetPosition: function(event, slick) {
|
19891 |
-
this.$emit('setPosition', event, slick);
|
19892 |
-
},
|
19893 |
-
|
19894 |
-
onSwipe: function(event, slick, direction) {
|
19895 |
-
this.$emit('swipe', event, slick, direction);
|
19896 |
-
},
|
19897 |
-
|
19898 |
-
onLazyLoaded: function(event, slick, image, imageSource) {
|
19899 |
-
this.$emit('lazyLoaded', event, slick, image, imageSource);
|
19900 |
-
},
|
19901 |
-
|
19902 |
-
onLazyLoadError: function(event, slick, image, imageSource) {
|
19903 |
-
this.$emit('lazyLoadError', event, slick, image, imageSource);
|
19904 |
-
},
|
19905 |
-
},
|
19906 |
-
|
19907 |
};
|
19908 |
|
19909 |
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier
|
@@ -20029,16 +19908,16 @@ __vue_render__._withStripped = true;
|
|
20029 |
undefined
|
20030 |
);
|
20031 |
|
20032 |
-
var install = function installMyComponent(Vue, opt) {
|
20033 |
-
// Don't install if already installed, or SSR
|
20034 |
-
if (install.installed || Vue.prototype.$isServer) { return }
|
20035 |
-
install.installed = true;
|
20036 |
-
|
20037 |
-
Vue.component('slick', Slick);
|
20038 |
-
};
|
20039 |
-
|
20040 |
-
// Inject install function into component - allows component
|
20041 |
-
// to be registered via Vue.use() as well as Vue.component()
|
20042 |
Slick.install = install;
|
20043 |
|
20044 |
function createCommonjsModule(fn, module) {
|
218 |
|
219 |
"use strict";
|
220 |
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
221 |
+
/* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EffectScope", function() { return EffectScope; });
|
222 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computed", function() { return computed; });
|
223 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "customRef", function() { return customRef; });
|
224 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Vue; });
|
225 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defineAsyncComponent", function() { return defineAsyncComponent; });
|
226 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defineComponent", function() { return defineComponent; });
|
227 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "del", function() { return del; });
|
228 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "effectScope", function() { return effectScope; });
|
229 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCurrentInstance", function() { return getCurrentInstance; });
|
230 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCurrentScope", function() { return getCurrentScope; });
|
231 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return h; });
|
232 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inject", function() { return inject; });
|
233 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isProxy", function() { return isProxy; });
|
234 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isReactive", function() { return isReactive; });
|
235 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isReadonly", function() { return isReadonly; });
|
236 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isRef", function() { return isRef; });
|
237 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isShallow", function() { return isShallow; });
|
238 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "markRaw", function() { return markRaw; });
|
239 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeDefaults", function() { return mergeDefaults; });
|
240 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "nextTick", function() { return nextTick; });
|
241 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onActivated", function() { return onActivated; });
|
242 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onBeforeMount", function() { return onBeforeMount; });
|
243 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onBeforeUnmount", function() { return onBeforeUnmount; });
|
244 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onBeforeUpdate", function() { return onBeforeUpdate; });
|
245 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onDeactivated", function() { return onDeactivated; });
|
246 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorCaptured", function() { return onErrorCaptured; });
|
247 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onMounted", function() { return onMounted; });
|
248 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onRenderTracked", function() { return onRenderTracked; });
|
249 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onRenderTriggered", function() { return onRenderTriggered; });
|
250 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onScopeDispose", function() { return onScopeDispose; });
|
251 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onServerPrefetch", function() { return onServerPrefetch; });
|
252 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onUnmounted", function() { return onUnmounted; });
|
253 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onUpdated", function() { return onUpdated; });
|
254 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "provide", function() { return provide; });
|
255 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "proxyRefs", function() { return proxyRefs; });
|
256 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactive", function() { return reactive; });
|
257 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "readonly", function() { return readonly; });
|
258 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ref", function() { return ref$1; });
|
259 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "set", function() { return set; });
|
260 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shallowReactive", function() { return shallowReactive; });
|
261 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shallowReadonly", function() { return shallowReadonly; });
|
262 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shallowRef", function() { return shallowRef; });
|
263 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toRaw", function() { return toRaw; });
|
264 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toRef", function() { return toRef; });
|
265 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toRefs", function() { return toRefs; });
|
266 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "triggerRef", function() { return triggerRef; });
|
267 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unref", function() { return unref; });
|
268 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useAttrs", function() { return useAttrs; });
|
269 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useCssModule", function() { return useCssModule; });
|
270 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useCssVars", function() { return useCssVars; });
|
271 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useListeners", function() { return useListeners; });
|
272 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSlots", function() { return useSlots; });
|
273 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "version", function() { return version; });
|
274 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "watch", function() { return watch; });
|
275 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "watchEffect", function() { return watchEffect; });
|
276 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "watchPostEffect", function() { return watchPostEffect; });
|
277 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "watchSyncEffect", function() { return watchSyncEffect; });
|
278 |
+
/*!
|
279 |
+
* Vue.js v2.7.10
|
280 |
+
* (c) 2014-2022 Evan You
|
281 |
* Released under the MIT License.
|
282 |
*/
|
283 |
+
var emptyObject = Object.freeze({});
|
284 |
+
var isArray = Array.isArray;
|
285 |
+
// These helpers produce better VM code in JS engines due to their
|
286 |
+
// explicitness and function inlining.
|
287 |
+
function isUndef(v) {
|
288 |
+
return v === undefined || v === null;
|
289 |
+
}
|
290 |
+
function isDef(v) {
|
291 |
+
return v !== undefined && v !== null;
|
292 |
+
}
|
293 |
+
function isTrue(v) {
|
294 |
+
return v === true;
|
295 |
+
}
|
296 |
+
function isFalse(v) {
|
297 |
+
return v === false;
|
298 |
+
}
|
299 |
+
/**
|
300 |
+
* Check if value is primitive.
|
301 |
+
*/
|
302 |
+
function isPrimitive(value) {
|
303 |
+
return (typeof value === 'string' ||
|
304 |
+
typeof value === 'number' ||
|
305 |
+
// $flow-disable-line
|
306 |
+
typeof value === 'symbol' ||
|
307 |
+
typeof value === 'boolean');
|
308 |
+
}
|
309 |
+
function isFunction(value) {
|
310 |
+
return typeof value === 'function';
|
311 |
+
}
|
312 |
+
/**
|
313 |
+
* Quick object check - this is primarily used to tell
|
314 |
+
* objects from primitive values when we know the value
|
315 |
+
* is a JSON-compliant type.
|
316 |
+
*/
|
317 |
+
function isObject(obj) {
|
318 |
+
return obj !== null && typeof obj === 'object';
|
319 |
+
}
|
320 |
+
/**
|
321 |
+
* Get the raw type string of a value, e.g., [object Object].
|
322 |
+
*/
|
323 |
+
var _toString = Object.prototype.toString;
|
324 |
+
function toRawType(value) {
|
325 |
+
return _toString.call(value).slice(8, -1);
|
326 |
+
}
|
327 |
+
/**
|
328 |
+
* Strict object type check. Only returns true
|
329 |
+
* for plain JavaScript objects.
|
330 |
+
*/
|
331 |
+
function isPlainObject(obj) {
|
332 |
+
return _toString.call(obj) === '[object Object]';
|
333 |
+
}
|
334 |
+
function isRegExp(v) {
|
335 |
+
return _toString.call(v) === '[object RegExp]';
|
336 |
+
}
|
337 |
+
/**
|
338 |
+
* Check if val is a valid array index.
|
339 |
+
*/
|
340 |
+
function isValidArrayIndex(val) {
|
341 |
+
var n = parseFloat(String(val));
|
342 |
+
return n >= 0 && Math.floor(n) === n && isFinite(val);
|
343 |
+
}
|
344 |
+
function isPromise(val) {
|
345 |
+
return (isDef(val) &&
|
346 |
+
typeof val.then === 'function' &&
|
347 |
+
typeof val.catch === 'function');
|
348 |
+
}
|
349 |
+
/**
|
350 |
+
* Convert a value to a string that is actually rendered.
|
351 |
+
*/
|
352 |
+
function toString(val) {
|
353 |
+
return val == null
|
354 |
+
? ''
|
355 |
+
: Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)
|
356 |
+
? JSON.stringify(val, null, 2)
|
357 |
+
: String(val);
|
358 |
+
}
|
359 |
+
/**
|
360 |
+
* Convert an input value to a number for persistence.
|
361 |
+
* If the conversion fails, return original string.
|
362 |
+
*/
|
363 |
+
function toNumber(val) {
|
364 |
+
var n = parseFloat(val);
|
365 |
+
return isNaN(n) ? val : n;
|
366 |
+
}
|
367 |
+
/**
|
368 |
+
* Make a map and return a function for checking if a key
|
369 |
+
* is in that map.
|
370 |
+
*/
|
371 |
+
function makeMap(str, expectsLowerCase) {
|
372 |
+
var map = Object.create(null);
|
373 |
+
var list = str.split(',');
|
374 |
+
for (var i = 0; i < list.length; i++) {
|
375 |
+
map[list[i]] = true;
|
376 |
+
}
|
377 |
+
return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };
|
378 |
+
}
|
379 |
+
/**
|
380 |
+
* Check if a tag is a built-in tag.
|
381 |
+
*/
|
382 |
+
var isBuiltInTag = makeMap('slot,component', true);
|
383 |
+
/**
|
384 |
+
* Check if an attribute is a reserved attribute.
|
385 |
+
*/
|
386 |
+
var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');
|
387 |
+
/**
|
388 |
+
* Remove an item from an array.
|
389 |
+
*/
|
390 |
+
function remove$2(arr, item) {
|
391 |
+
if (arr.length) {
|
392 |
+
var index = arr.indexOf(item);
|
393 |
+
if (index > -1) {
|
394 |
+
return arr.splice(index, 1);
|
395 |
+
}
|
396 |
+
}
|
397 |
+
}
|
398 |
+
/**
|
399 |
+
* Check whether an object has the property.
|
400 |
+
*/
|
401 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
402 |
+
function hasOwn(obj, key) {
|
403 |
+
return hasOwnProperty.call(obj, key);
|
404 |
+
}
|
405 |
+
/**
|
406 |
+
* Create a cached version of a pure function.
|
407 |
+
*/
|
408 |
+
function cached(fn) {
|
409 |
+
var cache = Object.create(null);
|
410 |
+
return function cachedFn(str) {
|
411 |
+
var hit = cache[str];
|
412 |
+
return hit || (cache[str] = fn(str));
|
413 |
+
};
|
414 |
+
}
|
415 |
+
/**
|
416 |
+
* Camelize a hyphen-delimited string.
|
417 |
+
*/
|
418 |
+
var camelizeRE = /-(\w)/g;
|
419 |
+
var camelize = cached(function (str) {
|
420 |
+
return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });
|
421 |
+
});
|
422 |
+
/**
|
423 |
+
* Capitalize a string.
|
424 |
+
*/
|
425 |
+
var capitalize = cached(function (str) {
|
426 |
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
427 |
+
});
|
428 |
+
/**
|
429 |
+
* Hyphenate a camelCase string.
|
430 |
+
*/
|
431 |
+
var hyphenateRE = /\B([A-Z])/g;
|
432 |
+
var hyphenate = cached(function (str) {
|
433 |
+
return str.replace(hyphenateRE, '-$1').toLowerCase();
|
434 |
+
});
|
435 |
+
/**
|
436 |
+
* Simple bind polyfill for environments that do not support it,
|
437 |
+
* e.g., PhantomJS 1.x. Technically, we don't need this anymore
|
438 |
+
* since native bind is now performant enough in most browsers.
|
439 |
+
* But removing it would mean breaking code that was able to run in
|
440 |
+
* PhantomJS 1.x, so this must be kept for backward compatibility.
|
441 |
+
*/
|
442 |
+
/* istanbul ignore next */
|
443 |
+
function polyfillBind(fn, ctx) {
|
444 |
+
function boundFn(a) {
|
445 |
+
var l = arguments.length;
|
446 |
+
return l
|
447 |
+
? l > 1
|
448 |
+
? fn.apply(ctx, arguments)
|
449 |
+
: fn.call(ctx, a)
|
450 |
+
: fn.call(ctx);
|
451 |
+
}
|
452 |
+
boundFn._length = fn.length;
|
453 |
+
return boundFn;
|
454 |
+
}
|
455 |
+
function nativeBind(fn, ctx) {
|
456 |
+
return fn.bind(ctx);
|
457 |
+
}
|
458 |
+
// @ts-expect-error bind cannot be `undefined`
|
459 |
+
var bind$1 = Function.prototype.bind ? nativeBind : polyfillBind;
|
460 |
+
/**
|
461 |
+
* Convert an Array-like object to a real Array.
|
462 |
+
*/
|
463 |
+
function toArray(list, start) {
|
464 |
+
start = start || 0;
|
465 |
+
var i = list.length - start;
|
466 |
+
var ret = new Array(i);
|
467 |
+
while (i--) {
|
468 |
+
ret[i] = list[i + start];
|
469 |
+
}
|
470 |
+
return ret;
|
471 |
+
}
|
472 |
+
/**
|
473 |
+
* Mix properties into target object.
|
474 |
+
*/
|
475 |
+
function extend(to, _from) {
|
476 |
+
for (var key in _from) {
|
477 |
+
to[key] = _from[key];
|
478 |
+
}
|
479 |
+
return to;
|
480 |
+
}
|
481 |
+
/**
|
482 |
+
* Merge an Array of Objects into a single Object.
|
483 |
+
*/
|
484 |
+
function toObject(arr) {
|
485 |
+
var res = {};
|
486 |
+
for (var i = 0; i < arr.length; i++) {
|
487 |
+
if (arr[i]) {
|
488 |
+
extend(res, arr[i]);
|
489 |
+
}
|
490 |
+
}
|
491 |
+
return res;
|
492 |
+
}
|
493 |
+
/* eslint-disable no-unused-vars */
|
494 |
+
/**
|
495 |
+
* Perform no operation.
|
496 |
+
* Stubbing args to make Flow happy without leaving useless transpiled code
|
497 |
+
* with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).
|
498 |
+
*/
|
499 |
+
function noop(a, b, c) { }
|
500 |
+
/**
|
501 |
+
* Always return false.
|
502 |
+
*/
|
503 |
+
var no = function (a, b, c) { return false; };
|
504 |
+
/* eslint-enable no-unused-vars */
|
505 |
+
/**
|
506 |
+
* Return the same value.
|
507 |
+
*/
|
508 |
+
var identity = function (_) { return _; };
|
509 |
+
/**
|
510 |
+
* Generate a string containing static keys from compiler modules.
|
511 |
+
*/
|
512 |
+
function genStaticKeys$1(modules) {
|
513 |
+
return modules
|
514 |
+
.reduce(function (keys, m) {
|
515 |
+
return keys.concat(m.staticKeys || []);
|
516 |
+
}, [])
|
517 |
+
.join(',');
|
518 |
+
}
|
519 |
+
/**
|
520 |
+
* Check if two values are loosely equal - that is,
|
521 |
+
* if they are plain objects, do they have the same shape?
|
522 |
+
*/
|
523 |
+
function looseEqual(a, b) {
|
524 |
+
if (a === b)
|
525 |
+
return true;
|
526 |
+
var isObjectA = isObject(a);
|
527 |
+
var isObjectB = isObject(b);
|
528 |
+
if (isObjectA && isObjectB) {
|
529 |
+
try {
|
530 |
+
var isArrayA = Array.isArray(a);
|
531 |
+
var isArrayB = Array.isArray(b);
|
532 |
+
if (isArrayA && isArrayB) {
|
533 |
+
return (a.length === b.length &&
|
534 |
+
a.every(function (e, i) {
|
535 |
+
return looseEqual(e, b[i]);
|
536 |
+
}));
|
537 |
+
}
|
538 |
+
else if (a instanceof Date && b instanceof Date) {
|
539 |
+
return a.getTime() === b.getTime();
|
540 |
+
}
|
541 |
+
else if (!isArrayA && !isArrayB) {
|
542 |
+
var keysA = Object.keys(a);
|
543 |
+
var keysB = Object.keys(b);
|
544 |
+
return (keysA.length === keysB.length &&
|
545 |
+
keysA.every(function (key) {
|
546 |
+
return looseEqual(a[key], b[key]);
|
547 |
+
}));
|
548 |
+
}
|
549 |
+
else {
|
550 |
+
/* istanbul ignore next */
|
551 |
+
return false;
|
552 |
+
}
|
553 |
+
}
|
554 |
+
catch (e) {
|
555 |
+
/* istanbul ignore next */
|
556 |
+
return false;
|
557 |
+
}
|
558 |
+
}
|
559 |
+
else if (!isObjectA && !isObjectB) {
|
560 |
+
return String(a) === String(b);
|
561 |
+
}
|
562 |
+
else {
|
563 |
+
return false;
|
564 |
+
}
|
565 |
+
}
|
566 |
+
/**
|
567 |
+
* Return the first index at which a loosely equal value can be
|
568 |
+
* found in the array (if value is a plain object, the array must
|
569 |
+
* contain an object of the same shape), or -1 if it is not present.
|
570 |
+
*/
|
571 |
+
function looseIndexOf(arr, val) {
|
572 |
+
for (var i = 0; i < arr.length; i++) {
|
573 |
+
if (looseEqual(arr[i], val))
|
574 |
+
return i;
|
575 |
+
}
|
576 |
+
return -1;
|
577 |
+
}
|
578 |
+
/**
|
579 |
+
* Ensure a function is called only once.
|
580 |
+
*/
|
581 |
+
function once(fn) {
|
582 |
+
var called = false;
|
583 |
+
return function () {
|
584 |
+
if (!called) {
|
585 |
+
called = true;
|
586 |
+
fn.apply(this, arguments);
|
587 |
+
}
|
588 |
+
};
|
589 |
+
}
|
590 |
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill
|
591 |
+
function hasChanged(x, y) {
|
592 |
+
if (x === y) {
|
593 |
+
return x === 0 && 1 / x !== 1 / y;
|
594 |
+
}
|
595 |
+
else {
|
596 |
+
return x === x || y === y;
|
597 |
+
}
|
598 |
+
}
|
599 |
+
|
600 |
+
var SSR_ATTR = 'data-server-rendered';
|
601 |
+
var ASSET_TYPES = ['component', 'directive', 'filter'];
|
602 |
+
var LIFECYCLE_HOOKS = [
|
603 |
+
'beforeCreate',
|
604 |
+
'created',
|
605 |
+
'beforeMount',
|
606 |
+
'mounted',
|
607 |
+
'beforeUpdate',
|
608 |
+
'updated',
|
609 |
+
'beforeDestroy',
|
610 |
+
'destroyed',
|
611 |
+
'activated',
|
612 |
+
'deactivated',
|
613 |
+
'errorCaptured',
|
614 |
+
'serverPrefetch',
|
615 |
+
'renderTracked',
|
616 |
+
'renderTriggered'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
617 |
];
|
618 |
|
619 |
+
var config = {
|
620 |
+
/**
|
621 |
+
* Option merge strategies (used in core/util/options)
|
622 |
+
*/
|
623 |
+
// $flow-disable-line
|
624 |
+
optionMergeStrategies: Object.create(null),
|
625 |
+
/**
|
626 |
+
* Whether to suppress warnings.
|
627 |
+
*/
|
628 |
+
silent: false,
|
629 |
+
/**
|
630 |
+
* Show production mode tip message on boot?
|
631 |
+
*/
|
632 |
+
productionTip: process.env.NODE_ENV !== 'production',
|
633 |
+
/**
|
634 |
+
* Whether to enable devtools
|
635 |
+
*/
|
636 |
+
devtools: process.env.NODE_ENV !== 'production',
|
637 |
+
/**
|
638 |
+
* Whether to record perf
|
639 |
+
*/
|
640 |
+
performance: false,
|
641 |
+
/**
|
642 |
+
* Error handler for watcher errors
|
643 |
+
*/
|
644 |
+
errorHandler: null,
|
645 |
+
/**
|
646 |
+
* Warn handler for watcher warns
|
647 |
+
*/
|
648 |
+
warnHandler: null,
|
649 |
+
/**
|
650 |
+
* Ignore certain custom elements
|
651 |
+
*/
|
652 |
+
ignoredElements: [],
|
653 |
+
/**
|
654 |
+
* Custom user key aliases for v-on
|
655 |
+
*/
|
656 |
+
// $flow-disable-line
|
657 |
+
keyCodes: Object.create(null),
|
658 |
+
/**
|
659 |
+
* Check if a tag is reserved so that it cannot be registered as a
|
660 |
+
* component. This is platform-dependent and may be overwritten.
|
661 |
+
*/
|
662 |
+
isReservedTag: no,
|
663 |
+
/**
|
664 |
+
* Check if an attribute is reserved so that it cannot be used as a component
|
665 |
+
* prop. This is platform-dependent and may be overwritten.
|
666 |
+
*/
|
667 |
+
isReservedAttr: no,
|
668 |
+
/**
|
669 |
+
* Check if a tag is an unknown element.
|
670 |
+
* Platform-dependent.
|
671 |
+
*/
|
672 |
+
isUnknownElement: no,
|
673 |
+
/**
|
674 |
+
* Get the namespace of an element
|
675 |
+
*/
|
676 |
+
getTagNamespace: noop,
|
677 |
+
/**
|
678 |
+
* Parse the real tag name for the specific platform.
|
679 |
+
*/
|
680 |
+
parsePlatformTagName: identity,
|
681 |
+
/**
|
682 |
+
* Check if an attribute must be bound using property, e.g. value
|
683 |
+
* Platform-dependent.
|
684 |
+
*/
|
685 |
+
mustUseProp: no,
|
686 |
+
/**
|
687 |
+
* Perform updates asynchronously. Intended to be used by Vue Test Utils
|
688 |
+
* This will significantly reduce performance if set to false.
|
689 |
+
*/
|
690 |
+
async: true,
|
691 |
+
/**
|
692 |
+
* Exposed for legacy reasons
|
693 |
+
*/
|
694 |
+
_lifecycleHooks: LIFECYCLE_HOOKS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
695 |
};
|
696 |
|
697 |
+
/**
|
698 |
+
* unicode letters used for parsing html tags, component names and property paths.
|
699 |
+
* using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname
|
700 |
+
* skipping \u10000-\uEFFFF due to it freezing up PhantomJS
|
701 |
+
*/
|
702 |
+
var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
|
703 |
+
/**
|
704 |
+
* Check if a string starts with $ or _
|
705 |
+
*/
|
706 |
+
function isReserved(str) {
|
707 |
+
var c = (str + '').charCodeAt(0);
|
708 |
+
return c === 0x24 || c === 0x5f;
|
709 |
+
}
|
710 |
+
/**
|
711 |
+
* Define a property.
|
712 |
+
*/
|
713 |
+
function def(obj, key, val, enumerable) {
|
714 |
+
Object.defineProperty(obj, key, {
|
715 |
+
value: val,
|
716 |
+
enumerable: !!enumerable,
|
717 |
+
writable: true,
|
718 |
+
configurable: true
|
719 |
+
});
|
720 |
+
}
|
721 |
+
/**
|
722 |
+
* Parse simple path.
|
723 |
+
*/
|
724 |
+
var bailRE = new RegExp("[^".concat(unicodeRegExp.source, ".$_\\d]"));
|
725 |
+
function parsePath(path) {
|
726 |
+
if (bailRE.test(path)) {
|
727 |
+
return;
|
728 |
+
}
|
729 |
+
var segments = path.split('.');
|
730 |
+
return function (obj) {
|
731 |
+
for (var i = 0; i < segments.length; i++) {
|
732 |
+
if (!obj)
|
733 |
+
return;
|
734 |
+
obj = obj[segments[i]];
|
735 |
+
}
|
736 |
+
return obj;
|
737 |
+
};
|
738 |
+
}
|
739 |
+
|
740 |
+
// can we use __proto__?
|
741 |
+
var hasProto = '__proto__' in {};
|
742 |
+
// Browser environment sniffing
|
743 |
+
var inBrowser = typeof window !== 'undefined';
|
744 |
+
var UA = inBrowser && window.navigator.userAgent.toLowerCase();
|
745 |
+
var isIE = UA && /msie|trident/.test(UA);
|
746 |
+
var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
|
747 |
+
var isEdge = UA && UA.indexOf('edge/') > 0;
|
748 |
+
UA && UA.indexOf('android') > 0;
|
749 |
+
var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);
|
750 |
+
UA && /chrome\/\d+/.test(UA) && !isEdge;
|
751 |
+
UA && /phantomjs/.test(UA);
|
752 |
+
var isFF = UA && UA.match(/firefox\/(\d+)/);
|
753 |
+
// Firefox has a "watch" function on Object.prototype...
|
754 |
+
// @ts-expect-error firebox support
|
755 |
+
var nativeWatch = {}.watch;
|
756 |
+
var supportsPassive = false;
|
757 |
+
if (inBrowser) {
|
758 |
+
try {
|
759 |
+
var opts = {};
|
760 |
+
Object.defineProperty(opts, 'passive', {
|
761 |
+
get: function () {
|
762 |
+
/* istanbul ignore next */
|
763 |
+
supportsPassive = true;
|
764 |
+
}
|
765 |
+
}); // https://github.com/facebook/flow/issues/285
|
766 |
+
window.addEventListener('test-passive', null, opts);
|
767 |
+
}
|
768 |
+
catch (e) { }
|
769 |
+
}
|
770 |
+
// this needs to be lazy-evaled because vue may be required before
|
771 |
+
// vue-server-renderer can set VUE_ENV
|
772 |
+
var _isServer;
|
773 |
+
var isServerRendering = function () {
|
774 |
+
if (_isServer === undefined) {
|
775 |
+
/* istanbul ignore if */
|
776 |
+
if (!inBrowser && typeof global !== 'undefined') {
|
777 |
+
// detect presence of vue-server-renderer and avoid
|
778 |
+
// Webpack shimming the process
|
779 |
+
_isServer =
|
780 |
+
global['process'] && global['process'].env.VUE_ENV === 'server';
|
781 |
+
}
|
782 |
+
else {
|
783 |
+
_isServer = false;
|
784 |
+
}
|
785 |
+
}
|
786 |
+
return _isServer;
|
787 |
+
};
|
788 |
+
// detect devtools
|
789 |
+
var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
790 |
+
/* istanbul ignore next */
|
791 |
+
function isNative(Ctor) {
|
792 |
+
return typeof Ctor === 'function' && /native code/.test(Ctor.toString());
|
793 |
+
}
|
794 |
+
var hasSymbol = typeof Symbol !== 'undefined' &&
|
795 |
+
isNative(Symbol) &&
|
796 |
+
typeof Reflect !== 'undefined' &&
|
797 |
+
isNative(Reflect.ownKeys);
|
798 |
+
var _Set; // $flow-disable-line
|
799 |
+
/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {
|
800 |
+
// use native Set when available.
|
801 |
+
_Set = Set;
|
802 |
+
}
|
803 |
+
else {
|
804 |
+
// a non-standard Set polyfill that only works with primitive keys.
|
805 |
+
_Set = /** @class */ (function () {
|
806 |
+
function Set() {
|
807 |
+
this.set = Object.create(null);
|
808 |
+
}
|
809 |
+
Set.prototype.has = function (key) {
|
810 |
+
return this.set[key] === true;
|
811 |
+
};
|
812 |
+
Set.prototype.add = function (key) {
|
813 |
+
this.set[key] = true;
|
814 |
+
};
|
815 |
+
Set.prototype.clear = function () {
|
816 |
+
this.set = Object.create(null);
|
817 |
+
};
|
818 |
+
return Set;
|
819 |
+
}());
|
820 |
+
}
|
821 |
+
|
822 |
+
var currentInstance = null;
|
823 |
+
/**
|
824 |
+
* This is exposed for compatibility with v3 (e.g. some functions in VueUse
|
825 |
+
* relies on it). Do not use this internally, just use `currentInstance`.
|
826 |
+
*
|
827 |
+
* @internal this function needs manual type declaration because it relies
|
828 |
+
* on previously manually authored types from Vue 2
|
829 |
+
*/
|
830 |
+
function getCurrentInstance() {
|
831 |
+
return currentInstance && { proxy: currentInstance };
|
832 |
+
}
|
833 |
+
/**
|
834 |
+
* @internal
|
835 |
+
*/
|
836 |
+
function setCurrentInstance(vm) {
|
837 |
+
if (vm === void 0) { vm = null; }
|
838 |
+
if (!vm)
|
839 |
+
currentInstance && currentInstance._scope.off();
|
840 |
+
currentInstance = vm;
|
841 |
+
vm && vm._scope.on();
|
842 |
+
}
|
843 |
+
|
844 |
+
/**
|
845 |
+
* @internal
|
846 |
+
*/
|
847 |
+
var VNode = /** @class */ (function () {
|
848 |
+
function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {
|
849 |
+
this.tag = tag;
|
850 |
+
this.data = data;
|
851 |
+
this.children = children;
|
852 |
+
this.text = text;
|
853 |
+
this.elm = elm;
|
854 |
+
this.ns = undefined;
|
855 |
+
this.context = context;
|
856 |
+
this.fnContext = undefined;
|
857 |
+
this.fnOptions = undefined;
|
858 |
+
this.fnScopeId = undefined;
|
859 |
+
this.key = data && data.key;
|
860 |
+
this.componentOptions = componentOptions;
|
861 |
+
this.componentInstance = undefined;
|
862 |
+
this.parent = undefined;
|
863 |
+
this.raw = false;
|
864 |
+
this.isStatic = false;
|
865 |
+
this.isRootInsert = true;
|
866 |
+
this.isComment = false;
|
867 |
+
this.isCloned = false;
|
868 |
+
this.isOnce = false;
|
869 |
+
this.asyncFactory = asyncFactory;
|
870 |
+
this.asyncMeta = undefined;
|
871 |
+
this.isAsyncPlaceholder = false;
|
872 |
+
}
|
873 |
+
Object.defineProperty(VNode.prototype, "child", {
|
874 |
+
// DEPRECATED: alias for componentInstance for backwards compat.
|
875 |
+
/* istanbul ignore next */
|
876 |
+
get: function () {
|
877 |
+
return this.componentInstance;
|
878 |
+
},
|
879 |
+
enumerable: false,
|
880 |
+
configurable: true
|
881 |
+
});
|
882 |
+
return VNode;
|
883 |
+
}());
|
884 |
+
var createEmptyVNode = function (text) {
|
885 |
+
if (text === void 0) { text = ''; }
|
886 |
+
var node = new VNode();
|
887 |
+
node.text = text;
|
888 |
+
node.isComment = true;
|
889 |
+
return node;
|
890 |
+
};
|
891 |
+
function createTextVNode(val) {
|
892 |
+
return new VNode(undefined, undefined, undefined, String(val));
|
893 |
+
}
|
894 |
+
// optimized shallow clone
|
895 |
+
// used for static nodes and slot nodes because they may be reused across
|
896 |
+
// multiple renders, cloning them avoids errors when DOM manipulations rely
|
897 |
+
// on their elm reference.
|
898 |
+
function cloneVNode(vnode) {
|
899 |
+
var cloned = new VNode(vnode.tag, vnode.data,
|
900 |
+
// #7975
|
901 |
+
// clone children array to avoid mutating original in case of cloning
|
902 |
+
// a child.
|
903 |
+
vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);
|
904 |
+
cloned.ns = vnode.ns;
|
905 |
+
cloned.isStatic = vnode.isStatic;
|
906 |
+
cloned.key = vnode.key;
|
907 |
+
cloned.isComment = vnode.isComment;
|
908 |
+
cloned.fnContext = vnode.fnContext;
|
909 |
+
cloned.fnOptions = vnode.fnOptions;
|
910 |
+
cloned.fnScopeId = vnode.fnScopeId;
|
911 |
+
cloned.asyncMeta = vnode.asyncMeta;
|
912 |
+
cloned.isCloned = true;
|
913 |
+
return cloned;
|
914 |
+
}
|
915 |
+
|
916 |
+
/* not type checking this file because flow doesn't play well with Proxy */
|
917 |
+
var initProxy;
|
918 |
+
if (process.env.NODE_ENV !== 'production') {
|
919 |
+
var allowedGlobals_1 = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' +
|
920 |
+
'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
|
921 |
+
'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +
|
922 |
+
'require' // for Webpack/Browserify
|
923 |
+
);
|
924 |
+
var warnNonPresent_1 = function (target, key) {
|
925 |
+
warn$2("Property or method \"".concat(key, "\" is not defined on the instance but ") +
|
926 |
+
'referenced during render. Make sure that this property is reactive, ' +
|
927 |
+
'either in the data option, or for class-based components, by ' +
|
928 |
+
'initializing the property. ' +
|
929 |
+
'See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target);
|
930 |
+
};
|
931 |
+
var warnReservedPrefix_1 = function (target, key) {
|
932 |
+
warn$2("Property \"".concat(key, "\" must be accessed with \"$data.").concat(key, "\" because ") +
|
933 |
+
'properties starting with "$" or "_" are not proxied in the Vue instance to ' +
|
934 |
+
'prevent conflicts with Vue internals. ' +
|
935 |
+
'See: https://v2.vuejs.org/v2/api/#data', target);
|
936 |
+
};
|
937 |
+
var hasProxy_1 = typeof Proxy !== 'undefined' && isNative(Proxy);
|
938 |
+
if (hasProxy_1) {
|
939 |
+
var isBuiltInModifier_1 = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');
|
940 |
+
config.keyCodes = new Proxy(config.keyCodes, {
|
941 |
+
set: function (target, key, value) {
|
942 |
+
if (isBuiltInModifier_1(key)) {
|
943 |
+
warn$2("Avoid overwriting built-in modifier in config.keyCodes: .".concat(key));
|
944 |
+
return false;
|
945 |
+
}
|
946 |
+
else {
|
947 |
+
target[key] = value;
|
948 |
+
return true;
|
949 |
+
}
|
950 |
+
}
|
951 |
+
});
|
952 |
+
}
|
953 |
+
var hasHandler_1 = {
|
954 |
+
has: function (target, key) {
|
955 |
+
var has = key in target;
|
956 |
+
var isAllowed = allowedGlobals_1(key) ||
|
957 |
+
(typeof key === 'string' &&
|
958 |
+
key.charAt(0) === '_' &&
|
959 |
+
!(key in target.$data));
|
960 |
+
if (!has && !isAllowed) {
|
961 |
+
if (key in target.$data)
|
962 |
+
warnReservedPrefix_1(target, key);
|
963 |
+
else
|
964 |
+
warnNonPresent_1(target, key);
|
965 |
+
}
|
966 |
+
return has || !isAllowed;
|
967 |
+
}
|
968 |
+
};
|
969 |
+
var getHandler_1 = {
|
970 |
+
get: function (target, key) {
|
971 |
+
if (typeof key === 'string' && !(key in target)) {
|
972 |
+
if (key in target.$data)
|
973 |
+
warnReservedPrefix_1(target, key);
|
974 |
+
else
|
975 |
+
warnNonPresent_1(target, key);
|
976 |
+
}
|
977 |
+
return target[key];
|
978 |
+
}
|
979 |
+
};
|
980 |
+
initProxy = function initProxy(vm) {
|
981 |
+
if (hasProxy_1) {
|
982 |
+
// determine which proxy handler to use
|
983 |
+
var options = vm.$options;
|
984 |
+
var handlers = options.render && options.render._withStripped ? getHandler_1 : hasHandler_1;
|
985 |
+
vm._renderProxy = new Proxy(vm, handlers);
|
986 |
+
}
|
987 |
+
else {
|
988 |
+
vm._renderProxy = vm;
|
989 |
+
}
|
990 |
+
};
|
991 |
+
}
|
992 |
+
|
993 |
+
/******************************************************************************
|
994 |
+
Copyright (c) Microsoft Corporation.
|
995 |
+
|
996 |
+
Permission to use, copy, modify, and/or distribute this software for any
|
997 |
+
purpose with or without fee is hereby granted.
|
998 |
+
|
999 |
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
1000 |
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
1001 |
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
1002 |
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
1003 |
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
1004 |
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
1005 |
+
PERFORMANCE OF THIS SOFTWARE.
|
1006 |
+
***************************************************************************** */
|
1007 |
+
|
1008 |
+
var __assign = function() {
|
1009 |
+
__assign = Object.assign || function __assign(t) {
|
1010 |
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
1011 |
+
s = arguments[i];
|
1012 |
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
1013 |
+
}
|
1014 |
+
return t;
|
1015 |
+
};
|
1016 |
+
return __assign.apply(this, arguments);
|
1017 |
+
};
|
1018 |
|
1019 |
+
var uid$2 = 0;
|
1020 |
+
/**
|
1021 |
+
* A dep is an observable that can have multiple
|
1022 |
+
* directives subscribing to it.
|
1023 |
+
* @internal
|
1024 |
+
*/
|
1025 |
+
var Dep = /** @class */ (function () {
|
1026 |
+
function Dep() {
|
1027 |
+
this.id = uid$2++;
|
1028 |
+
this.subs = [];
|
1029 |
+
}
|
1030 |
+
Dep.prototype.addSub = function (sub) {
|
1031 |
+
this.subs.push(sub);
|
1032 |
+
};
|
1033 |
+
Dep.prototype.removeSub = function (sub) {
|
1034 |
+
remove$2(this.subs, sub);
|
1035 |
+
};
|
1036 |
+
Dep.prototype.depend = function (info) {
|
1037 |
+
if (Dep.target) {
|
1038 |
+
Dep.target.addDep(this);
|
1039 |
+
if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {
|
1040 |
+
Dep.target.onTrack(__assign({ effect: Dep.target }, info));
|
1041 |
+
}
|
1042 |
+
}
|
1043 |
+
};
|
1044 |
+
Dep.prototype.notify = function (info) {
|
1045 |
+
// stabilize the subscriber list first
|
1046 |
+
var subs = this.subs.slice();
|
1047 |
+
if (process.env.NODE_ENV !== 'production' && !config.async) {
|
1048 |
+
// subs aren't sorted in scheduler if not running async
|
1049 |
+
// we need to sort them now to make sure they fire in correct
|
1050 |
+
// order
|
1051 |
+
subs.sort(function (a, b) { return a.id - b.id; });
|
1052 |
+
}
|
1053 |
+
for (var i = 0, l = subs.length; i < l; i++) {
|
1054 |
+
if (process.env.NODE_ENV !== 'production' && info) {
|
1055 |
+
var sub = subs[i];
|
1056 |
+
sub.onTrigger &&
|
1057 |
+
sub.onTrigger(__assign({ effect: subs[i] }, info));
|
1058 |
+
}
|
1059 |
+
subs[i].update();
|
1060 |
+
}
|
1061 |
+
};
|
1062 |
+
return Dep;
|
1063 |
+
}());
|
1064 |
+
// The current target watcher being evaluated.
|
1065 |
+
// This is globally unique because only one watcher
|
1066 |
+
// can be evaluated at a time.
|
1067 |
+
Dep.target = null;
|
1068 |
+
var targetStack = [];
|
1069 |
+
function pushTarget(target) {
|
1070 |
+
targetStack.push(target);
|
1071 |
+
Dep.target = target;
|
1072 |
+
}
|
1073 |
+
function popTarget() {
|
1074 |
+
targetStack.pop();
|
1075 |
+
Dep.target = targetStack[targetStack.length - 1];
|
1076 |
}
|
1077 |
|
1078 |
+
/*
|
1079 |
+
* not type checking this file because flow doesn't play well with
|
1080 |
+
* dynamically accessing methods on Array prototype
|
1081 |
+
*/
|
1082 |
+
var arrayProto = Array.prototype;
|
1083 |
+
var arrayMethods = Object.create(arrayProto);
|
1084 |
+
var methodsToPatch = [
|
1085 |
+
'push',
|
1086 |
+
'pop',
|
1087 |
+
'shift',
|
1088 |
+
'unshift',
|
1089 |
+
'splice',
|
1090 |
+
'sort',
|
1091 |
+
'reverse'
|
1092 |
+
];
|
1093 |
+
/**
|
1094 |
+
* Intercept mutating methods and emit events
|
1095 |
+
*/
|
1096 |
+
methodsToPatch.forEach(function (method) {
|
1097 |
+
// cache original method
|
1098 |
+
var original = arrayProto[method];
|
1099 |
+
def(arrayMethods, method, function mutator() {
|
1100 |
+
var args = [];
|
1101 |
+
for (var _i = 0; _i < arguments.length; _i++) {
|
1102 |
+
args[_i] = arguments[_i];
|
1103 |
+
}
|
1104 |
+
var result = original.apply(this, args);
|
1105 |
+
var ob = this.__ob__;
|
1106 |
+
var inserted;
|
1107 |
+
switch (method) {
|
1108 |
+
case 'push':
|
1109 |
+
case 'unshift':
|
1110 |
+
inserted = args;
|
1111 |
+
break;
|
1112 |
+
case 'splice':
|
1113 |
+
inserted = args.slice(2);
|
1114 |
+
break;
|
1115 |
+
}
|
1116 |
+
if (inserted)
|
1117 |
+
ob.observeArray(inserted);
|
1118 |
+
// notify change
|
1119 |
+
if (process.env.NODE_ENV !== 'production') {
|
1120 |
+
ob.dep.notify({
|
1121 |
+
type: "array mutation" /* TriggerOpTypes.ARRAY_MUTATION */,
|
1122 |
+
target: this,
|
1123 |
+
key: method
|
1124 |
+
});
|
1125 |
+
}
|
1126 |
+
else {
|
1127 |
+
ob.dep.notify();
|
1128 |
+
}
|
1129 |
+
return result;
|
1130 |
+
});
|
1131 |
+
});
|
1132 |
|
1133 |
+
var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
|
1134 |
+
var NO_INIITIAL_VALUE = {};
|
1135 |
+
/**
|
1136 |
+
* In some cases we may want to disable observation inside a component's
|
1137 |
+
* update computation.
|
1138 |
+
*/
|
1139 |
+
var shouldObserve = true;
|
1140 |
+
function toggleObserving(value) {
|
1141 |
+
shouldObserve = value;
|
1142 |
+
}
|
1143 |
+
// ssr mock dep
|
1144 |
+
var mockDep = {
|
1145 |
+
notify: noop,
|
1146 |
+
depend: noop,
|
1147 |
+
addSub: noop,
|
1148 |
+
removeSub: noop
|
1149 |
+
};
|
1150 |
+
/**
|
1151 |
+
* Observer class that is attached to each observed
|
1152 |
+
* object. Once attached, the observer converts the target
|
1153 |
+
* object's property keys into getter/setters that
|
1154 |
+
* collect dependencies and dispatch updates.
|
1155 |
+
*/
|
1156 |
+
var Observer = /** @class */ (function () {
|
1157 |
+
function Observer(value, shallow, mock) {
|
1158 |
+
if (shallow === void 0) { shallow = false; }
|
1159 |
+
if (mock === void 0) { mock = false; }
|
1160 |
+
this.value = value;
|
1161 |
+
this.shallow = shallow;
|
1162 |
+
this.mock = mock;
|
1163 |
+
// this.value = value
|
1164 |
+
this.dep = mock ? mockDep : new Dep();
|
1165 |
+
this.vmCount = 0;
|
1166 |
+
def(value, '__ob__', this);
|
1167 |
+
if (isArray(value)) {
|
1168 |
+
if (!mock) {
|
1169 |
+
if (hasProto) {
|
1170 |
+
value.__proto__ = arrayMethods;
|
1171 |
+
/* eslint-enable no-proto */
|
1172 |
+
}
|
1173 |
+
else {
|
1174 |
+
for (var i = 0, l = arrayKeys.length; i < l; i++) {
|
1175 |
+
var key = arrayKeys[i];
|
1176 |
+
def(value, key, arrayMethods[key]);
|
1177 |
+
}
|
1178 |
+
}
|
1179 |
+
}
|
1180 |
+
if (!shallow) {
|
1181 |
+
this.observeArray(value);
|
1182 |
+
}
|
1183 |
+
}
|
1184 |
+
else {
|
1185 |
+
/**
|
1186 |
+
* Walk through all properties and convert them into
|
1187 |
+
* getter/setters. This method should only be called when
|
1188 |
+
* value type is Object.
|
1189 |
+
*/
|
1190 |
+
var keys = Object.keys(value);
|
1191 |
+
for (var i = 0; i < keys.length; i++) {
|
1192 |
+
var key = keys[i];
|
1193 |
+
defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
|
1194 |
+
}
|
1195 |
+
}
|
1196 |
+
}
|
1197 |
+
/**
|
1198 |
+
* Observe a list of Array items.
|
1199 |
+
*/
|
1200 |
+
Observer.prototype.observeArray = function (value) {
|
1201 |
+
for (var i = 0, l = value.length; i < l; i++) {
|
1202 |
+
observe(value[i], false, this.mock);
|
1203 |
+
}
|
1204 |
+
};
|
1205 |
+
return Observer;
|
1206 |
+
}());
|
1207 |
+
// helpers
|
1208 |
+
/**
|
1209 |
+
* Attempt to create an observer instance for a value,
|
1210 |
+
* returns the new observer if successfully observed,
|
1211 |
+
* or the existing observer if the value already has one.
|
1212 |
+
*/
|
1213 |
+
function observe(value, shallow, ssrMockReactivity) {
|
1214 |
+
if (!isObject(value) || isRef(value) || value instanceof VNode) {
|
1215 |
+
return;
|
1216 |
+
}
|
1217 |
+
var ob;
|
1218 |
+
if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
|
1219 |
+
ob = value.__ob__;
|
1220 |
+
}
|
1221 |
+
else if (shouldObserve &&
|
1222 |
+
(ssrMockReactivity || !isServerRendering()) &&
|
1223 |
+
(isArray(value) || isPlainObject(value)) &&
|
1224 |
+
Object.isExtensible(value) &&
|
1225 |
+
!value.__v_skip /* ReactiveFlags.SKIP */) {
|
1226 |
+
ob = new Observer(value, shallow, ssrMockReactivity);
|
1227 |
+
}
|
1228 |
+
return ob;
|
1229 |
+
}
|
1230 |
+
/**
|
1231 |
+
* Define a reactive property on an Object.
|
1232 |
+
*/
|
1233 |
+
function defineReactive(obj, key, val, customSetter, shallow, mock) {
|
1234 |
+
var dep = new Dep();
|
1235 |
+
var property = Object.getOwnPropertyDescriptor(obj, key);
|
1236 |
+
if (property && property.configurable === false) {
|
1237 |
+
return;
|
1238 |
+
}
|
1239 |
+
// cater for pre-defined getter/setters
|
1240 |
+
var getter = property && property.get;
|
1241 |
+
var setter = property && property.set;
|
1242 |
+
if ((!getter || setter) &&
|
1243 |
+
(val === NO_INIITIAL_VALUE || arguments.length === 2)) {
|
1244 |
+
val = obj[key];
|
1245 |
+
}
|
1246 |
+
var childOb = !shallow && observe(val, false, mock);
|
1247 |
+
Object.defineProperty(obj, key, {
|
1248 |
+
enumerable: true,
|
1249 |
+
configurable: true,
|
1250 |
+
get: function reactiveGetter() {
|
1251 |
+
var value = getter ? getter.call(obj) : val;
|
1252 |
+
if (Dep.target) {
|
1253 |
+
if (process.env.NODE_ENV !== 'production') {
|
1254 |
+
dep.depend({
|
1255 |
+
target: obj,
|
1256 |
+
type: "get" /* TrackOpTypes.GET */,
|
1257 |
+
key: key
|
1258 |
+
});
|
1259 |
+
}
|
1260 |
+
else {
|
1261 |
+
dep.depend();
|
1262 |
+
}
|
1263 |
+
if (childOb) {
|
1264 |
+
childOb.dep.depend();
|
1265 |
+
if (isArray(value)) {
|
1266 |
+
dependArray(value);
|
1267 |
+
}
|
1268 |
+
}
|
1269 |
+
}
|
1270 |
+
return isRef(value) && !shallow ? value.value : value;
|
1271 |
+
},
|
1272 |
+
set: function reactiveSetter(newVal) {
|
1273 |
+
var value = getter ? getter.call(obj) : val;
|
1274 |
+
if (!hasChanged(value, newVal)) {
|
1275 |
+
return;
|
1276 |
+
}
|
1277 |
+
if (process.env.NODE_ENV !== 'production' && customSetter) {
|
1278 |
+
customSetter();
|
1279 |
+
}
|
1280 |
+
if (setter) {
|
1281 |
+
setter.call(obj, newVal);
|
1282 |
+
}
|
1283 |
+
else if (getter) {
|
1284 |
+
// #7981: for accessor properties without setter
|
1285 |
+
return;
|
1286 |
+
}
|
1287 |
+
else if (!shallow && isRef(value) && !isRef(newVal)) {
|
1288 |
+
value.value = newVal;
|
1289 |
+
return;
|
1290 |
+
}
|
1291 |
+
else {
|
1292 |
+
val = newVal;
|
1293 |
+
}
|
1294 |
+
childOb = !shallow && observe(newVal, false, mock);
|
1295 |
+
if (process.env.NODE_ENV !== 'production') {
|
1296 |
+
dep.notify({
|
1297 |
+
type: "set" /* TriggerOpTypes.SET */,
|
1298 |
+
target: obj,
|
1299 |
+
key: key,
|
1300 |
+
newValue: newVal,
|
1301 |
+
oldValue: value
|
1302 |
+
});
|
1303 |
+
}
|
1304 |
+
else {
|
1305 |
+
dep.notify();
|
1306 |
+
}
|
1307 |
+
}
|
1308 |
+
});
|
1309 |
+
return dep;
|
1310 |
+
}
|
1311 |
+
function set(target, key, val) {
|
1312 |
+
if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {
|
1313 |
+
warn$2("Cannot set reactive property on undefined, null, or primitive value: ".concat(target));
|
1314 |
+
}
|
1315 |
+
if (isReadonly(target)) {
|
1316 |
+
process.env.NODE_ENV !== 'production' && warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly."));
|
1317 |
+
return;
|
1318 |
+
}
|
1319 |
+
var ob = target.__ob__;
|
1320 |
+
if (isArray(target) && isValidArrayIndex(key)) {
|
1321 |
+
target.length = Math.max(target.length, key);
|
1322 |
+
target.splice(key, 1, val);
|
1323 |
+
// when mocking for SSR, array methods are not hijacked
|
1324 |
+
if (ob && !ob.shallow && ob.mock) {
|
1325 |
+
observe(val, false, true);
|
1326 |
+
}
|
1327 |
+
return val;
|
1328 |
+
}
|
1329 |
+
if (key in target && !(key in Object.prototype)) {
|
1330 |
+
target[key] = val;
|
1331 |
+
return val;
|
1332 |
+
}
|
1333 |
+
if (target._isVue || (ob && ob.vmCount)) {
|
1334 |
+
process.env.NODE_ENV !== 'production' &&
|
1335 |
+
warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' +
|
1336 |
+
'at runtime - declare it upfront in the data option.');
|
1337 |
+
return val;
|
1338 |
+
}
|
1339 |
+
if (!ob) {
|
1340 |
+
target[key] = val;
|
1341 |
+
return val;
|
1342 |
+
}
|
1343 |
+
defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
|
1344 |
+
if (process.env.NODE_ENV !== 'production') {
|
1345 |
+
ob.dep.notify({
|
1346 |
+
type: "add" /* TriggerOpTypes.ADD */,
|
1347 |
+
target: target,
|
1348 |
+
key: key,
|
1349 |
+
newValue: val,
|
1350 |
+
oldValue: undefined
|
1351 |
+
});
|
1352 |
+
}
|
1353 |
+
else {
|
1354 |
+
ob.dep.notify();
|
1355 |
+
}
|
1356 |
+
return val;
|
1357 |
+
}
|
1358 |
+
function del(target, key) {
|
1359 |
+
if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {
|
1360 |
+
warn$2("Cannot delete reactive property on undefined, null, or primitive value: ".concat(target));
|
1361 |
+
}
|
1362 |
+
if (isArray(target) && isValidArrayIndex(key)) {
|
1363 |
+
target.splice(key, 1);
|
1364 |
+
return;
|
1365 |
+
}
|
1366 |
+
var ob = target.__ob__;
|
1367 |
+
if (target._isVue || (ob && ob.vmCount)) {
|
1368 |
+
process.env.NODE_ENV !== 'production' &&
|
1369 |
+
warn$2('Avoid deleting properties on a Vue instance or its root $data ' +
|
1370 |
+
'- just set it to null.');
|
1371 |
+
return;
|
1372 |
+
}
|
1373 |
+
if (isReadonly(target)) {
|
1374 |
+
process.env.NODE_ENV !== 'production' &&
|
1375 |
+
warn$2("Delete operation on key \"".concat(key, "\" failed: target is readonly."));
|
1376 |
+
return;
|
1377 |
+
}
|
1378 |
+
if (!hasOwn(target, key)) {
|
1379 |
+
return;
|
1380 |
+
}
|
1381 |
+
delete target[key];
|
1382 |
+
if (!ob) {
|
1383 |
+
return;
|
1384 |
+
}
|
1385 |
+
if (process.env.NODE_ENV !== 'production') {
|
1386 |
+
ob.dep.notify({
|
1387 |
+
type: "delete" /* TriggerOpTypes.DELETE */,
|
1388 |
+
target: target,
|
1389 |
+
key: key
|
1390 |
+
});
|
1391 |
+
}
|
1392 |
+
else {
|
1393 |
+
ob.dep.notify();
|
1394 |
+
}
|
1395 |
+
}
|
1396 |
+
/**
|
1397 |
+
* Collect dependencies on array elements when the array is touched, since
|
1398 |
+
* we cannot intercept array element access like property getters.
|
1399 |
+
*/
|
1400 |
+
function dependArray(value) {
|
1401 |
+
for (var e = void 0, i = 0, l = value.length; i < l; i++) {
|
1402 |
+
e = value[i];
|
1403 |
+
if (e && e.__ob__) {
|
1404 |
+
e.__ob__.dep.depend();
|
1405 |
+
}
|
1406 |
+
if (isArray(e)) {
|
1407 |
+
dependArray(e);
|
1408 |
+
}
|
1409 |
+
}
|
1410 |
+
}
|
1411 |
+
|
1412 |
+
function reactive(target) {
|
1413 |
+
makeReactive(target, false);
|
1414 |
+
return target;
|
1415 |
+
}
|
1416 |
+
/**
|
1417 |
+
* Return a shallowly-reactive copy of the original object, where only the root
|
1418 |
+
* level properties are reactive. It also does not auto-unwrap refs (even at the
|
1419 |
+
* root level).
|
1420 |
+
*/
|
1421 |
+
function shallowReactive(target) {
|
1422 |
+
makeReactive(target, true);
|
1423 |
+
def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
|
1424 |
+
return target;
|
1425 |
+
}
|
1426 |
+
function makeReactive(target, shallow) {
|
1427 |
+
// if trying to observe a readonly proxy, return the readonly version.
|
1428 |
+
if (!isReadonly(target)) {
|
1429 |
+
if (process.env.NODE_ENV !== 'production') {
|
1430 |
+
if (isArray(target)) {
|
1431 |
+
warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
|
1432 |
+
}
|
1433 |
+
var existingOb = target && target.__ob__;
|
1434 |
+
if (existingOb && existingOb.shallow !== shallow) {
|
1435 |
+
warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
|
1436 |
+
}
|
1437 |
+
}
|
1438 |
+
var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
|
1439 |
+
if (process.env.NODE_ENV !== 'production' && !ob) {
|
1440 |
+
if (target == null || isPrimitive(target)) {
|
1441 |
+
warn$2("value cannot be made reactive: ".concat(String(target)));
|
1442 |
+
}
|
1443 |
+
if (isCollectionType(target)) {
|
1444 |
+
warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
|
1445 |
+
}
|
1446 |
+
}
|
1447 |
+
}
|
1448 |
+
}
|
1449 |
+
function isReactive(value) {
|
1450 |
+
if (isReadonly(value)) {
|
1451 |
+
return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
|
1452 |
+
}
|
1453 |
+
return !!(value && value.__ob__);
|
1454 |
+
}
|
1455 |
+
function isShallow(value) {
|
1456 |
+
return !!(value && value.__v_isShallow);
|
1457 |
+
}
|
1458 |
+
function isReadonly(value) {
|
1459 |
+
return !!(value && value.__v_isReadonly);
|
1460 |
+
}
|
1461 |
+
function isProxy(value) {
|
1462 |
+
return isReactive(value) || isReadonly(value);
|
1463 |
+
}
|
1464 |
+
function toRaw(observed) {
|
1465 |
+
var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
|
1466 |
+
return raw ? toRaw(raw) : observed;
|
1467 |
+
}
|
1468 |
+
function markRaw(value) {
|
1469 |
+
def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
|
1470 |
+
return value;
|
1471 |
+
}
|
1472 |
+
/**
|
1473 |
+
* @internal
|
1474 |
+
*/
|
1475 |
+
function isCollectionType(value) {
|
1476 |
+
var type = toRawType(value);
|
1477 |
+
return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
|
1478 |
+
}
|
1479 |
+
|
1480 |
+
/**
|
1481 |
+
* @internal
|
1482 |
+
*/
|
1483 |
+
var RefFlag = "__v_isRef";
|
1484 |
+
function isRef(r) {
|
1485 |
+
return !!(r && r.__v_isRef === true);
|
1486 |
+
}
|
1487 |
+
function ref$1(value) {
|
1488 |
+
return createRef(value, false);
|
1489 |
+
}
|
1490 |
+
function shallowRef(value) {
|
1491 |
+
return createRef(value, true);
|
1492 |
+
}
|
1493 |
+
function createRef(rawValue, shallow) {
|
1494 |
+
if (isRef(rawValue)) {
|
1495 |
+
return rawValue;
|
1496 |
+
}
|
1497 |
+
var ref = {};
|
1498 |
+
def(ref, RefFlag, true);
|
1499 |
+
def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, shallow);
|
1500 |
+
def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
|
1501 |
+
return ref;
|
1502 |
+
}
|
1503 |
+
function triggerRef(ref) {
|
1504 |
+
if (process.env.NODE_ENV !== 'production' && !ref.dep) {
|
1505 |
+
warn$2("received object is not a triggerable ref.");
|
1506 |
+
}
|
1507 |
+
if (process.env.NODE_ENV !== 'production') {
|
1508 |
+
ref.dep &&
|
1509 |
+
ref.dep.notify({
|
1510 |
+
type: "set" /* TriggerOpTypes.SET */,
|
1511 |
+
target: ref,
|
1512 |
+
key: 'value'
|
1513 |
+
});
|
1514 |
+
}
|
1515 |
+
else {
|
1516 |
+
ref.dep && ref.dep.notify();
|
1517 |
+
}
|
1518 |
+
}
|
1519 |
+
function unref(ref) {
|
1520 |
+
return isRef(ref) ? ref.value : ref;
|
1521 |
+
}
|
1522 |
+
function proxyRefs(objectWithRefs) {
|
1523 |
+
if (isReactive(objectWithRefs)) {
|
1524 |
+
return objectWithRefs;
|
1525 |
+
}
|
1526 |
+
var proxy = {};
|
1527 |
+
var keys = Object.keys(objectWithRefs);
|
1528 |
+
for (var i = 0; i < keys.length; i++) {
|
1529 |
+
proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);
|
1530 |
+
}
|
1531 |
+
return proxy;
|
1532 |
+
}
|
1533 |
+
function proxyWithRefUnwrap(target, source, key) {
|
1534 |
+
Object.defineProperty(target, key, {
|
1535 |
+
enumerable: true,
|
1536 |
+
configurable: true,
|
1537 |
+
get: function () {
|
1538 |
+
var val = source[key];
|
1539 |
+
if (isRef(val)) {
|
1540 |
+
return val.value;
|
1541 |
+
}
|
1542 |
+
else {
|
1543 |
+
var ob = val && val.__ob__;
|
1544 |
+
if (ob)
|
1545 |
+
ob.dep.depend();
|
1546 |
+
return val;
|
1547 |
+
}
|
1548 |
+
},
|
1549 |
+
set: function (value) {
|
1550 |
+
var oldValue = source[key];
|
1551 |
+
if (isRef(oldValue) && !isRef(value)) {
|
1552 |
+
oldValue.value = value;
|
1553 |
+
}
|
1554 |
+
else {
|
1555 |
+
source[key] = value;
|
1556 |
+
}
|
1557 |
+
}
|
1558 |
+
});
|
1559 |
+
}
|
1560 |
+
function customRef(factory) {
|
1561 |
+
var dep = new Dep();
|
1562 |
+
var _a = factory(function () {
|
1563 |
+
if (process.env.NODE_ENV !== 'production') {
|
1564 |
+
dep.depend({
|
1565 |
+
target: ref,
|
1566 |
+
type: "get" /* TrackOpTypes.GET */,
|
1567 |
+
key: 'value'
|
1568 |
+
});
|
1569 |
+
}
|
1570 |
+
else {
|
1571 |
+
dep.depend();
|
1572 |
+
}
|
1573 |
+
}, function () {
|
1574 |
+
if (process.env.NODE_ENV !== 'production') {
|
1575 |
+
dep.notify({
|
1576 |
+
target: ref,
|
1577 |
+
type: "set" /* TriggerOpTypes.SET */,
|
1578 |
+
key: 'value'
|
1579 |
+
});
|
1580 |
+
}
|
1581 |
+
else {
|
1582 |
+
dep.notify();
|
1583 |
+
}
|
1584 |
+
}), get = _a.get, set = _a.set;
|
1585 |
+
var ref = {
|
1586 |
+
get value() {
|
1587 |
+
return get();
|
1588 |
+
},
|
1589 |
+
set value(newVal) {
|
1590 |
+
set(newVal);
|
1591 |
+
}
|
1592 |
+
};
|
1593 |
+
def(ref, RefFlag, true);
|
1594 |
+
return ref;
|
1595 |
+
}
|
1596 |
+
function toRefs(object) {
|
1597 |
+
if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {
|
1598 |
+
warn$2("toRefs() expects a reactive object but received a plain one.");
|
1599 |
+
}
|
1600 |
+
var ret = isArray(object) ? new Array(object.length) : {};
|
1601 |
+
for (var key in object) {
|
1602 |
+
ret[key] = toRef(object, key);
|
1603 |
+
}
|
1604 |
+
return ret;
|
1605 |
+
}
|
1606 |
+
function toRef(object, key, defaultValue) {
|
1607 |
+
var val = object[key];
|
1608 |
+
if (isRef(val)) {
|
1609 |
+
return val;
|
1610 |
+
}
|
1611 |
+
var ref = {
|
1612 |
+
get value() {
|
1613 |
+
var val = object[key];
|
1614 |
+
return val === undefined ? defaultValue : val;
|
1615 |
+
},
|
1616 |
+
set value(newVal) {
|
1617 |
+
object[key] = newVal;
|
1618 |
+
}
|
1619 |
+
};
|
1620 |
+
def(ref, RefFlag, true);
|
1621 |
+
return ref;
|
1622 |
+
}
|
1623 |
+
|
1624 |
+
var rawToReadonlyFlag = "__v_rawToReadonly";
|
1625 |
+
var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly";
|
1626 |
+
function readonly(target) {
|
1627 |
+
return createReadonly(target, false);
|
1628 |
+
}
|
1629 |
+
function createReadonly(target, shallow) {
|
1630 |
+
if (!isPlainObject(target)) {
|
1631 |
+
if (process.env.NODE_ENV !== 'production') {
|
1632 |
+
if (isArray(target)) {
|
1633 |
+
warn$2("Vue 2 does not support readonly arrays.");
|
1634 |
+
}
|
1635 |
+
else if (isCollectionType(target)) {
|
1636 |
+
warn$2("Vue 2 does not support readonly collection types such as Map or Set.");
|
1637 |
+
}
|
1638 |
+
else {
|
1639 |
+
warn$2("value cannot be made readonly: ".concat(typeof target));
|
1640 |
+
}
|
1641 |
+
}
|
1642 |
+
return target;
|
1643 |
+
}
|
1644 |
+
// already a readonly object
|
1645 |
+
if (isReadonly(target)) {
|
1646 |
+
return target;
|
1647 |
+
}
|
1648 |
+
// already has a readonly proxy
|
1649 |
+
var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;
|
1650 |
+
var existingProxy = target[existingFlag];
|
1651 |
+
if (existingProxy) {
|
1652 |
+
return existingProxy;
|
1653 |
+
}
|
1654 |
+
var proxy = Object.create(Object.getPrototypeOf(target));
|
1655 |
+
def(target, existingFlag, proxy);
|
1656 |
+
def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true);
|
1657 |
+
def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target);
|
1658 |
+
if (isRef(target)) {
|
1659 |
+
def(proxy, RefFlag, true);
|
1660 |
+
}
|
1661 |
+
if (shallow || isShallow(target)) {
|
1662 |
+
def(proxy, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
|
1663 |
+
}
|
1664 |
+
var keys = Object.keys(target);
|
1665 |
+
for (var i = 0; i < keys.length; i++) {
|
1666 |
+
defineReadonlyProperty(proxy, target, keys[i], shallow);
|
1667 |
+
}
|
1668 |
+
return proxy;
|
1669 |
+
}
|
1670 |
+
function defineReadonlyProperty(proxy, target, key, shallow) {
|
1671 |
+
Object.defineProperty(proxy, key, {
|
1672 |
+
enumerable: true,
|
1673 |
+
configurable: true,
|
1674 |
+
get: function () {
|
1675 |
+
var val = target[key];
|
1676 |
+
return shallow || !isPlainObject(val) ? val : readonly(val);
|
1677 |
+
},
|
1678 |
+
set: function () {
|
1679 |
+
process.env.NODE_ENV !== 'production' &&
|
1680 |
+
warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly."));
|
1681 |
+
}
|
1682 |
+
});
|
1683 |
+
}
|
1684 |
+
/**
|
1685 |
+
* Returns a reactive-copy of the original object, where only the root level
|
1686 |
+
* properties are readonly, and does NOT unwrap refs nor recursively convert
|
1687 |
+
* returned properties.
|
1688 |
+
* This is used for creating the props proxy object for stateful components.
|
1689 |
+
*/
|
1690 |
+
function shallowReadonly(target) {
|
1691 |
+
return createReadonly(target, true);
|
1692 |
+
}
|
1693 |
+
|
1694 |
+
function computed(getterOrOptions, debugOptions) {
|
1695 |
+
var getter;
|
1696 |
+
var setter;
|
1697 |
+
var onlyGetter = isFunction(getterOrOptions);
|
1698 |
+
if (onlyGetter) {
|
1699 |
+
getter = getterOrOptions;
|
1700 |
+
setter = process.env.NODE_ENV !== 'production'
|
1701 |
+
? function () {
|
1702 |
+
warn$2('Write operation failed: computed value is readonly');
|
1703 |
+
}
|
1704 |
+
: noop;
|
1705 |
+
}
|
1706 |
+
else {
|
1707 |
+
getter = getterOrOptions.get;
|
1708 |
+
setter = getterOrOptions.set;
|
1709 |
+
}
|
1710 |
+
var watcher = isServerRendering()
|
1711 |
+
? null
|
1712 |
+
: new Watcher(currentInstance, getter, noop, { lazy: true });
|
1713 |
+
if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {
|
1714 |
+
watcher.onTrack = debugOptions.onTrack;
|
1715 |
+
watcher.onTrigger = debugOptions.onTrigger;
|
1716 |
+
}
|
1717 |
+
var ref = {
|
1718 |
+
// some libs rely on the presence effect for checking computed refs
|
1719 |
+
// from normal refs, but the implementation doesn't matter
|
1720 |
+
effect: watcher,
|
1721 |
+
get value() {
|
1722 |
+
if (watcher) {
|
1723 |
+
if (watcher.dirty) {
|
1724 |
+
watcher.evaluate();
|
1725 |
+
}
|
1726 |
+
if (Dep.target) {
|
1727 |
+
if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {
|
1728 |
+
Dep.target.onTrack({
|
1729 |
+
effect: Dep.target,
|
1730 |
+
target: ref,
|
1731 |
+
type: "get" /* TrackOpTypes.GET */,
|
1732 |
+
key: 'value'
|
1733 |
+
});
|
1734 |
+
}
|
1735 |
+
watcher.depend();
|
1736 |
+
}
|
1737 |
+
return watcher.value;
|
1738 |
+
}
|
1739 |
+
else {
|
1740 |
+
return getter();
|
1741 |
+
}
|
1742 |
+
},
|
1743 |
+
set value(newVal) {
|
1744 |
+
setter(newVal);
|
1745 |
+
}
|
1746 |
+
};
|
1747 |
+
def(ref, RefFlag, true);
|
1748 |
+
def(ref, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, onlyGetter);
|
1749 |
+
return ref;
|
1750 |
+
}
|
1751 |
+
|
1752 |
+
var mark;
|
1753 |
+
var measure;
|
1754 |
+
if (process.env.NODE_ENV !== 'production') {
|
1755 |
+
var perf_1 = inBrowser && window.performance;
|
1756 |
+
/* istanbul ignore if */
|
1757 |
+
if (perf_1 &&
|
1758 |
+
// @ts-ignore
|
1759 |
+
perf_1.mark &&
|
1760 |
+
// @ts-ignore
|
1761 |
+
perf_1.measure &&
|
1762 |
+
// @ts-ignore
|
1763 |
+
perf_1.clearMarks &&
|
1764 |
+
// @ts-ignore
|
1765 |
+
perf_1.clearMeasures) {
|
1766 |
+
mark = function (tag) { return perf_1.mark(tag); };
|
1767 |
+
measure = function (name, startTag, endTag) {
|
1768 |
+
perf_1.measure(name, startTag, endTag);
|
1769 |
+
perf_1.clearMarks(startTag);
|
1770 |
+
perf_1.clearMarks(endTag);
|
1771 |
+
// perf.clearMeasures(name)
|
1772 |
+
};
|
1773 |
+
}
|
1774 |
+
}
|
1775 |
+
|
1776 |
+
var normalizeEvent = cached(function (name) {
|
1777 |
+
var passive = name.charAt(0) === '&';
|
1778 |
+
name = passive ? name.slice(1) : name;
|
1779 |
+
var once = name.charAt(0) === '~'; // Prefixed last, checked first
|
1780 |
+
name = once ? name.slice(1) : name;
|
1781 |
+
var capture = name.charAt(0) === '!';
|
1782 |
+
name = capture ? name.slice(1) : name;
|
1783 |
+
return {
|
1784 |
+
name: name,
|
1785 |
+
once: once,
|
1786 |
+
capture: capture,
|
1787 |
+
passive: passive
|
1788 |
+
};
|
1789 |
+
});
|
1790 |
+
function createFnInvoker(fns, vm) {
|
1791 |
+
function invoker() {
|
1792 |
+
var fns = invoker.fns;
|
1793 |
+
if (isArray(fns)) {
|
1794 |
+
var cloned = fns.slice();
|
1795 |
+
for (var i = 0; i < cloned.length; i++) {
|
1796 |
+
invokeWithErrorHandling(cloned[i], null, arguments, vm, "v-on handler");
|
1797 |
+
}
|
1798 |
+
}
|
1799 |
+
else {
|
1800 |
+
// return handler return value for single handlers
|
1801 |
+
return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler");
|
1802 |
+
}
|
1803 |
+
}
|
1804 |
+
invoker.fns = fns;
|
1805 |
+
return invoker;
|
1806 |
+
}
|
1807 |
+
function updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {
|
1808 |
+
var name, cur, old, event;
|
1809 |
+
for (name in on) {
|
1810 |
+
cur = on[name];
|
1811 |
+
old = oldOn[name];
|
1812 |
+
event = normalizeEvent(name);
|
1813 |
+
if (isUndef(cur)) {
|
1814 |
+
process.env.NODE_ENV !== 'production' &&
|
1815 |
+
warn$2("Invalid handler for event \"".concat(event.name, "\": got ") + String(cur), vm);
|
1816 |
+
}
|
1817 |
+
else if (isUndef(old)) {
|
1818 |
+
if (isUndef(cur.fns)) {
|
1819 |
+
cur = on[name] = createFnInvoker(cur, vm);
|
1820 |
+
}
|
1821 |
+
if (isTrue(event.once)) {
|
1822 |
+
cur = on[name] = createOnceHandler(event.name, cur, event.capture);
|
1823 |
+
}
|
1824 |
+
add(event.name, cur, event.capture, event.passive, event.params);
|
1825 |
+
}
|
1826 |
+
else if (cur !== old) {
|
1827 |
+
old.fns = cur;
|
1828 |
+
on[name] = old;
|
1829 |
+
}
|
1830 |
+
}
|
1831 |
+
for (name in oldOn) {
|
1832 |
+
if (isUndef(on[name])) {
|
1833 |
+
event = normalizeEvent(name);
|
1834 |
+
remove(event.name, oldOn[name], event.capture);
|
1835 |
+
}
|
1836 |
+
}
|
1837 |
+
}
|
1838 |
+
|
1839 |
+
function mergeVNodeHook(def, hookKey, hook) {
|
1840 |
+
if (def instanceof VNode) {
|
1841 |
+
def = def.data.hook || (def.data.hook = {});
|
1842 |
+
}
|
1843 |
+
var invoker;
|
1844 |
+
var oldHook = def[hookKey];
|
1845 |
+
function wrappedHook() {
|
1846 |
+
hook.apply(this, arguments);
|
1847 |
+
// important: remove merged hook to ensure it's called only once
|
1848 |
+
// and prevent memory leak
|
1849 |
+
remove$2(invoker.fns, wrappedHook);
|
1850 |
+
}
|
1851 |
+
if (isUndef(oldHook)) {
|
1852 |
+
// no existing hook
|
1853 |
+
invoker = createFnInvoker([wrappedHook]);
|
1854 |
+
}
|
1855 |
+
else {
|
1856 |
+
/* istanbul ignore if */
|
1857 |
+
if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {
|
1858 |
+
// already a merged invoker
|
1859 |
+
invoker = oldHook;
|
1860 |
+
invoker.fns.push(wrappedHook);
|
1861 |
+
}
|
1862 |
+
else {
|
1863 |
+
// existing plain hook
|
1864 |
+
invoker = createFnInvoker([oldHook, wrappedHook]);
|
1865 |
+
}
|
1866 |
+
}
|
1867 |
+
invoker.merged = true;
|
1868 |
+
def[hookKey] = invoker;
|
1869 |
+
}
|
1870 |
+
|
1871 |
+
function extractPropsFromVNodeData(data, Ctor, tag) {
|
1872 |
+
// we are only extracting raw values here.
|
1873 |
+
// validation and default values are handled in the child
|
1874 |
+
// component itself.
|
1875 |
+
var propOptions = Ctor.options.props;
|
1876 |
+
if (isUndef(propOptions)) {
|
1877 |
+
return;
|
1878 |
+
}
|
1879 |
+
var res = {};
|
1880 |
+
var attrs = data.attrs, props = data.props;
|
1881 |
+
if (isDef(attrs) || isDef(props)) {
|
1882 |
+
for (var key in propOptions) {
|
1883 |
+
var altKey = hyphenate(key);
|
1884 |
+
if (process.env.NODE_ENV !== 'production') {
|
1885 |
+
var keyInLowerCase = key.toLowerCase();
|
1886 |
+
if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {
|
1887 |
+
tip("Prop \"".concat(keyInLowerCase, "\" is passed to component ") +
|
1888 |
+
"".concat(formatComponentName(
|
1889 |
+
// @ts-expect-error tag is string
|
1890 |
+
tag || Ctor), ", but the declared prop name is") +
|
1891 |
+
" \"".concat(key, "\". ") +
|
1892 |
+
"Note that HTML attributes are case-insensitive and camelCased " +
|
1893 |
+
"props need to use their kebab-case equivalents when using in-DOM " +
|
1894 |
+
"templates. You should probably use \"".concat(altKey, "\" instead of \"").concat(key, "\"."));
|
1895 |
+
}
|
1896 |
+
}
|
1897 |
+
checkProp(res, props, key, altKey, true) ||
|
1898 |
+
checkProp(res, attrs, key, altKey, false);
|
1899 |
+
}
|
1900 |
+
}
|
1901 |
+
return res;
|
1902 |
+
}
|
1903 |
+
function checkProp(res, hash, key, altKey, preserve) {
|
1904 |
+
if (isDef(hash)) {
|
1905 |
+
if (hasOwn(hash, key)) {
|
1906 |
+
res[key] = hash[key];
|
1907 |
+
if (!preserve) {
|
1908 |
+
delete hash[key];
|
1909 |
+
}
|
1910 |
+
return true;
|
1911 |
+
}
|
1912 |
+
else if (hasOwn(hash, altKey)) {
|
1913 |
+
res[key] = hash[altKey];
|
1914 |
+
if (!preserve) {
|
1915 |
+
delete hash[altKey];
|
1916 |
+
}
|
1917 |
+
return true;
|
1918 |
+
}
|
1919 |
+
}
|
1920 |
+
return false;
|
1921 |
+
}
|
1922 |
+
|
1923 |
+
// The template compiler attempts to minimize the need for normalization by
|
1924 |
+
// statically analyzing the template at compile time.
|
1925 |
+
//
|
1926 |
+
// For plain HTML markup, normalization can be completely skipped because the
|
1927 |
+
// generated render function is guaranteed to return Array<VNode>. There are
|
1928 |
+
// two cases where extra normalization is needed:
|
1929 |
+
// 1. When the children contains components - because a functional component
|
1930 |
+
// may return an Array instead of a single root. In this case, just a simple
|
1931 |
+
// normalization is needed - if any child is an Array, we flatten the whole
|
1932 |
+
// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
|
1933 |
+
// because functional components already normalize their own children.
|
1934 |
+
function simpleNormalizeChildren(children) {
|
1935 |
+
for (var i = 0; i < children.length; i++) {
|
1936 |
+
if (isArray(children[i])) {
|
1937 |
+
return Array.prototype.concat.apply([], children);
|
1938 |
+
}
|
1939 |
+
}
|
1940 |
+
return children;
|
1941 |
+
}
|
1942 |
+
// 2. When the children contains constructs that always generated nested Arrays,
|
1943 |
+
// e.g. <template>, <slot>, v-for, or when the children is provided by user
|
1944 |
+
// with hand-written render functions / JSX. In such cases a full normalization
|
1945 |
+
// is needed to cater to all possible types of children values.
|
1946 |
+
function normalizeChildren(children) {
|
1947 |
+
return isPrimitive(children)
|
1948 |
+
? [createTextVNode(children)]
|
1949 |
+
: isArray(children)
|
1950 |
+
? normalizeArrayChildren(children)
|
1951 |
+
: undefined;
|
1952 |
+
}
|
1953 |
+
function isTextNode(node) {
|
1954 |
+
return isDef(node) && isDef(node.text) && isFalse(node.isComment);
|
1955 |
+
}
|
1956 |
+
function normalizeArrayChildren(children, nestedIndex) {
|
1957 |
+
var res = [];
|
1958 |
+
var i, c, lastIndex, last;
|
1959 |
+
for (i = 0; i < children.length; i++) {
|
1960 |
+
c = children[i];
|
1961 |
+
if (isUndef(c) || typeof c === 'boolean')
|
1962 |
+
continue;
|
1963 |
+
lastIndex = res.length - 1;
|
1964 |
+
last = res[lastIndex];
|
1965 |
+
// nested
|
1966 |
+
if (isArray(c)) {
|
1967 |
+
if (c.length > 0) {
|
1968 |
+
c = normalizeArrayChildren(c, "".concat(nestedIndex || '', "_").concat(i));
|
1969 |
+
// merge adjacent text nodes
|
1970 |
+
if (isTextNode(c[0]) && isTextNode(last)) {
|
1971 |
+
res[lastIndex] = createTextVNode(last.text + c[0].text);
|
1972 |
+
c.shift();
|
1973 |
+
}
|
1974 |
+
res.push.apply(res, c);
|
1975 |
+
}
|
1976 |
+
}
|
1977 |
+
else if (isPrimitive(c)) {
|
1978 |
+
if (isTextNode(last)) {
|
1979 |
+
// merge adjacent text nodes
|
1980 |
+
// this is necessary for SSR hydration because text nodes are
|
1981 |
+
// essentially merged when rendered to HTML strings
|
1982 |
+
res[lastIndex] = createTextVNode(last.text + c);
|
1983 |
+
}
|
1984 |
+
else if (c !== '') {
|
1985 |
+
// convert primitive to vnode
|
1986 |
+
res.push(createTextVNode(c));
|
1987 |
+
}
|
1988 |
+
}
|
1989 |
+
else {
|
1990 |
+
if (isTextNode(c) && isTextNode(last)) {
|
1991 |
+
// merge adjacent text nodes
|
1992 |
+
res[lastIndex] = createTextVNode(last.text + c.text);
|
1993 |
+
}
|
1994 |
+
else {
|
1995 |
+
// default key for nested array children (likely generated by v-for)
|
1996 |
+
if (isTrue(children._isVList) &&
|
1997 |
+
isDef(c.tag) &&
|
1998 |
+
isUndef(c.key) &&
|
1999 |
+
isDef(nestedIndex)) {
|
2000 |
+
c.key = "__vlist".concat(nestedIndex, "_").concat(i, "__");
|
2001 |
+
}
|
2002 |
+
res.push(c);
|
2003 |
+
}
|
2004 |
+
}
|
2005 |
+
}
|
2006 |
+
return res;
|
2007 |
+
}
|
2008 |
+
|
2009 |
+
var SIMPLE_NORMALIZE = 1;
|
2010 |
+
var ALWAYS_NORMALIZE = 2;
|
2011 |
+
// wrapper function for providing a more flexible interface
|
2012 |
+
// without getting yelled at by flow
|
2013 |
+
function createElement$1(context, tag, data, children, normalizationType, alwaysNormalize) {
|
2014 |
+
if (isArray(data) || isPrimitive(data)) {
|
2015 |
+
normalizationType = children;
|
2016 |
+
children = data;
|
2017 |
+
data = undefined;
|
2018 |
+
}
|
2019 |
+
if (isTrue(alwaysNormalize)) {
|
2020 |
+
normalizationType = ALWAYS_NORMALIZE;
|
2021 |
+
}
|
2022 |
+
return _createElement(context, tag, data, children, normalizationType);
|
2023 |
+
}
|
2024 |
+
function _createElement(context, tag, data, children, normalizationType) {
|
2025 |
+
if (isDef(data) && isDef(data.__ob__)) {
|
2026 |
+
process.env.NODE_ENV !== 'production' &&
|
2027 |
+
warn$2("Avoid using observed data object as vnode data: ".concat(JSON.stringify(data), "\n") + 'Always create fresh vnode data objects in each render!', context);
|
2028 |
+
return createEmptyVNode();
|
2029 |
+
}
|
2030 |
+
// object syntax in v-bind
|
2031 |
+
if (isDef(data) && isDef(data.is)) {
|
2032 |
+
tag = data.is;
|
2033 |
+
}
|
2034 |
+
if (!tag) {
|
2035 |
+
// in case of component :is set to falsy value
|
2036 |
+
return createEmptyVNode();
|
2037 |
+
}
|
2038 |
+
// warn against non-primitive key
|
2039 |
+
if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.key) && !isPrimitive(data.key)) {
|
2040 |
+
warn$2('Avoid using non-primitive value as key, ' +
|
2041 |
+
'use string/number value instead.', context);
|
2042 |
+
}
|
2043 |
+
// support single function children as default scoped slot
|
2044 |
+
if (isArray(children) && isFunction(children[0])) {
|
2045 |
+
data = data || {};
|
2046 |
+
data.scopedSlots = { default: children[0] };
|
2047 |
+
children.length = 0;
|
2048 |
+
}
|
2049 |
+
if (normalizationType === ALWAYS_NORMALIZE) {
|
2050 |
+
children = normalizeChildren(children);
|
2051 |
+
}
|
2052 |
+
else if (normalizationType === SIMPLE_NORMALIZE) {
|
2053 |
+
children = simpleNormalizeChildren(children);
|
2054 |
+
}
|
2055 |
+
var vnode, ns;
|
2056 |
+
if (typeof tag === 'string') {
|
2057 |
+
var Ctor = void 0;
|
2058 |
+
ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
|
2059 |
+
if (config.isReservedTag(tag)) {
|
2060 |
+
// platform built-in elements
|
2061 |
+
if (process.env.NODE_ENV !== 'production' &&
|
2062 |
+
isDef(data) &&
|
2063 |
+
isDef(data.nativeOn) &&
|
2064 |
+
data.tag !== 'component') {
|
2065 |
+
warn$2("The .native modifier for v-on is only valid on components but it was used on <".concat(tag, ">."), context);
|
2066 |
+
}
|
2067 |
+
vnode = new VNode(config.parsePlatformTagName(tag), data, children, undefined, undefined, context);
|
2068 |
+
}
|
2069 |
+
else if ((!data || !data.pre) &&
|
2070 |
+
isDef((Ctor = resolveAsset(context.$options, 'components', tag)))) {
|
2071 |
+
// component
|
2072 |
+
vnode = createComponent(Ctor, data, context, children, tag);
|
2073 |
+
}
|
2074 |
+
else {
|
2075 |
+
// unknown or unlisted namespaced elements
|
2076 |
+
// check at runtime because it may get assigned a namespace when its
|
2077 |
+
// parent normalizes children
|
2078 |
+
vnode = new VNode(tag, data, children, undefined, undefined, context);
|
2079 |
+
}
|
2080 |
+
}
|
2081 |
+
else {
|
2082 |
+
// direct component options / constructor
|
2083 |
+
vnode = createComponent(tag, data, context, children);
|
2084 |
+
}
|
2085 |
+
if (isArray(vnode)) {
|
2086 |
+
return vnode;
|
2087 |
+
}
|
2088 |
+
else if (isDef(vnode)) {
|
2089 |
+
if (isDef(ns))
|
2090 |
+
applyNS(vnode, ns);
|
2091 |
+
if (isDef(data))
|
2092 |
+
registerDeepBindings(data);
|
2093 |
+
return vnode;
|
2094 |
+
}
|
2095 |
+
else {
|
2096 |
+
return createEmptyVNode();
|
2097 |
+
}
|
2098 |
+
}
|
2099 |
+
function applyNS(vnode, ns, force) {
|
2100 |
+
vnode.ns = ns;
|
2101 |
+
if (vnode.tag === 'foreignObject') {
|
2102 |
+
// use default namespace inside foreignObject
|
2103 |
+
ns = undefined;
|
2104 |
+
force = true;
|
2105 |
+
}
|
2106 |
+
if (isDef(vnode.children)) {
|
2107 |
+
for (var i = 0, l = vnode.children.length; i < l; i++) {
|
2108 |
+
var child = vnode.children[i];
|
2109 |
+
if (isDef(child.tag) &&
|
2110 |
+
(isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {
|
2111 |
+
applyNS(child, ns, force);
|
2112 |
+
}
|
2113 |
+
}
|
2114 |
+
}
|
2115 |
+
}
|
2116 |
+
// ref #5318
|
2117 |
+
// necessary to ensure parent re-render when deep bindings like :style and
|
2118 |
+
// :class are used on slot nodes
|
2119 |
+
function registerDeepBindings(data) {
|
2120 |
+
if (isObject(data.style)) {
|
2121 |
+
traverse(data.style);
|
2122 |
+
}
|
2123 |
+
if (isObject(data.class)) {
|
2124 |
+
traverse(data.class);
|
2125 |
+
}
|
2126 |
+
}
|
2127 |
+
|
2128 |
+
/**
|
2129 |
+
* Runtime helper for rendering v-for lists.
|
2130 |
+
*/
|
2131 |
+
function renderList(val, render) {
|
2132 |
+
var ret = null, i, l, keys, key;
|
2133 |
+
if (isArray(val) || typeof val === 'string') {
|
2134 |
+
ret = new Array(val.length);
|
2135 |
+
for (i = 0, l = val.length; i < l; i++) {
|
2136 |
+
ret[i] = render(val[i], i);
|
2137 |
+
}
|
2138 |
+
}
|
2139 |
+
else if (typeof val === 'number') {
|
2140 |
+
ret = new Array(val);
|
2141 |
+
for (i = 0; i < val; i++) {
|
2142 |
+
ret[i] = render(i + 1, i);
|
2143 |
+
}
|
2144 |
+
}
|
2145 |
+
else if (isObject(val)) {
|
2146 |
+
if (hasSymbol && val[Symbol.iterator]) {
|
2147 |
+
ret = [];
|
2148 |
+
var iterator = val[Symbol.iterator]();
|
2149 |
+
var result = iterator.next();
|
2150 |
+
while (!result.done) {
|
2151 |
+
ret.push(render(result.value, ret.length));
|
2152 |
+
result = iterator.next();
|
2153 |
+
}
|
2154 |
+
}
|
2155 |
+
else {
|
2156 |
+
keys = Object.keys(val);
|
2157 |
+
ret = new Array(keys.length);
|
2158 |
+
for (i = 0, l = keys.length; i < l; i++) {
|
2159 |
+
key = keys[i];
|
2160 |
+
ret[i] = render(val[key], key, i);
|
2161 |
+
}
|
2162 |
+
}
|
2163 |
+
}
|
2164 |
+
if (!isDef(ret)) {
|
2165 |
+
ret = [];
|
2166 |
+
}
|
2167 |
+
ret._isVList = true;
|
2168 |
+
return ret;
|
2169 |
+
}
|
2170 |
+
|
2171 |
+
/**
|
2172 |
+
* Runtime helper for rendering <slot>
|
2173 |
+
*/
|
2174 |
+
function renderSlot(name, fallbackRender, props, bindObject) {
|
2175 |
+
var scopedSlotFn = this.$scopedSlots[name];
|
2176 |
+
var nodes;
|
2177 |
+
if (scopedSlotFn) {
|
2178 |
+
// scoped slot
|
2179 |
+
props = props || {};
|
2180 |
+
if (bindObject) {
|
2181 |
+
if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {
|
2182 |
+
warn$2('slot v-bind without argument expects an Object', this);
|
2183 |
+
}
|
2184 |
+
props = extend(extend({}, bindObject), props);
|
2185 |
+
}
|
2186 |
+
nodes =
|
2187 |
+
scopedSlotFn(props) ||
|
2188 |
+
(isFunction(fallbackRender) ? fallbackRender() : fallbackRender);
|
2189 |
+
}
|
2190 |
+
else {
|
2191 |
+
nodes =
|
2192 |
+
this.$slots[name] ||
|
2193 |
+
(isFunction(fallbackRender) ? fallbackRender() : fallbackRender);
|
2194 |
+
}
|
2195 |
+
var target = props && props.slot;
|
2196 |
+
if (target) {
|
2197 |
+
return this.$createElement('template', { slot: target }, nodes);
|
2198 |
+
}
|
2199 |
+
else {
|
2200 |
+
return nodes;
|
2201 |
+
}
|
2202 |
+
}
|
2203 |
+
|
2204 |
+
/**
|
2205 |
+
* Runtime helper for resolving filters
|
2206 |
+
*/
|
2207 |
+
function resolveFilter(id) {
|
2208 |
+
return resolveAsset(this.$options, 'filters', id, true) || identity;
|
2209 |
+
}
|
2210 |
+
|
2211 |
+
function isKeyNotMatch(expect, actual) {
|
2212 |
+
if (isArray(expect)) {
|
2213 |
+
return expect.indexOf(actual) === -1;
|
2214 |
+
}
|
2215 |
+
else {
|
2216 |
+
return expect !== actual;
|
2217 |
+
}
|
2218 |
+
}
|
2219 |
+
/**
|
2220 |
+
* Runtime helper for checking keyCodes from config.
|
2221 |
+
* exposed as Vue.prototype._k
|
2222 |
+
* passing in eventKeyName as last argument separately for backwards compat
|
2223 |
+
*/
|
2224 |
+
function checkKeyCodes(eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) {
|
2225 |
+
var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
|
2226 |
+
if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
|
2227 |
+
return isKeyNotMatch(builtInKeyName, eventKeyName);
|
2228 |
+
}
|
2229 |
+
else if (mappedKeyCode) {
|
2230 |
+
return isKeyNotMatch(mappedKeyCode, eventKeyCode);
|
2231 |
+
}
|
2232 |
+
else if (eventKeyName) {
|
2233 |
+
return hyphenate(eventKeyName) !== key;
|
2234 |
+
}
|
2235 |
+
return eventKeyCode === undefined;
|
2236 |
+
}
|
2237 |
+
|
2238 |
+
/**
|
2239 |
+
* Runtime helper for merging v-bind="object" into a VNode's data.
|
2240 |
+
*/
|
2241 |
+
function bindObjectProps(data, tag, value, asProp, isSync) {
|
2242 |
+
if (value) {
|
2243 |
+
if (!isObject(value)) {
|
2244 |
+
process.env.NODE_ENV !== 'production' &&
|
2245 |
+
warn$2('v-bind without argument expects an Object or Array value', this);
|
2246 |
+
}
|
2247 |
+
else {
|
2248 |
+
if (isArray(value)) {
|
2249 |
+
value = toObject(value);
|
2250 |
+
}
|
2251 |
+
var hash = void 0;
|
2252 |
+
var _loop_1 = function (key) {
|
2253 |
+
if (key === 'class' || key === 'style' || isReservedAttribute(key)) {
|
2254 |
+
hash = data;
|
2255 |
+
}
|
2256 |
+
else {
|
2257 |
+
var type = data.attrs && data.attrs.type;
|
2258 |
+
hash =
|
2259 |
+
asProp || config.mustUseProp(tag, type, key)
|
2260 |
+
? data.domProps || (data.domProps = {})
|
2261 |
+
: data.attrs || (data.attrs = {});
|
2262 |
+
}
|
2263 |
+
var camelizedKey = camelize(key);
|
2264 |
+
var hyphenatedKey = hyphenate(key);
|
2265 |
+
if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
|
2266 |
+
hash[key] = value[key];
|
2267 |
+
if (isSync) {
|
2268 |
+
var on = data.on || (data.on = {});
|
2269 |
+
on["update:".concat(key)] = function ($event) {
|
2270 |
+
value[key] = $event;
|
2271 |
+
};
|
2272 |
+
}
|
2273 |
+
}
|
2274 |
+
};
|
2275 |
+
for (var key in value) {
|
2276 |
+
_loop_1(key);
|
2277 |
+
}
|
2278 |
+
}
|
2279 |
+
}
|
2280 |
+
return data;
|
2281 |
+
}
|
2282 |
+
|
2283 |
+
/**
|
2284 |
+
* Runtime helper for rendering static trees.
|
2285 |
+
*/
|
2286 |
+
function renderStatic(index, isInFor) {
|
2287 |
+
var cached = this._staticTrees || (this._staticTrees = []);
|
2288 |
+
var tree = cached[index];
|
2289 |
+
// if has already-rendered static tree and not inside v-for,
|
2290 |
+
// we can reuse the same tree.
|
2291 |
+
if (tree && !isInFor) {
|
2292 |
+
return tree;
|
2293 |
+
}
|
2294 |
+
// otherwise, render a fresh tree.
|
2295 |
+
tree = cached[index] = this.$options.staticRenderFns[index].call(this._renderProxy, this._c, this // for render fns generated for functional component templates
|
2296 |
+
);
|
2297 |
+
markStatic$1(tree, "__static__".concat(index), false);
|
2298 |
+
return tree;
|
2299 |
+
}
|
2300 |
+
/**
|
2301 |
+
* Runtime helper for v-once.
|
2302 |
+
* Effectively it means marking the node as static with a unique key.
|
2303 |
+
*/
|
2304 |
+
function markOnce(tree, index, key) {
|
2305 |
+
markStatic$1(tree, "__once__".concat(index).concat(key ? "_".concat(key) : ""), true);
|
2306 |
+
return tree;
|
2307 |
+
}
|
2308 |
+
function markStatic$1(tree, key, isOnce) {
|
2309 |
+
if (isArray(tree)) {
|
2310 |
+
for (var i = 0; i < tree.length; i++) {
|
2311 |
+
if (tree[i] && typeof tree[i] !== 'string') {
|
2312 |
+
markStaticNode(tree[i], "".concat(key, "_").concat(i), isOnce);
|
2313 |
+
}
|
2314 |
+
}
|
2315 |
+
}
|
2316 |
+
else {
|
2317 |
+
markStaticNode(tree, key, isOnce);
|
2318 |
+
}
|
2319 |
+
}
|
2320 |
+
function markStaticNode(node, key, isOnce) {
|
2321 |
+
node.isStatic = true;
|
2322 |
+
node.key = key;
|
2323 |
+
node.isOnce = isOnce;
|
2324 |
+
}
|
2325 |
+
|
2326 |
+
function bindObjectListeners(data, value) {
|
2327 |
+
if (value) {
|
2328 |
+
if (!isPlainObject(value)) {
|
2329 |
+
process.env.NODE_ENV !== 'production' && warn$2('v-on without argument expects an Object value', this);
|
2330 |
+
}
|
2331 |
+
else {
|
2332 |
+
var on = (data.on = data.on ? extend({}, data.on) : {});
|
2333 |
+
for (var key in value) {
|
2334 |
+
var existing = on[key];
|
2335 |
+
var ours = value[key];
|
2336 |
+
on[key] = existing ? [].concat(existing, ours) : ours;
|
2337 |
+
}
|
2338 |
+
}
|
2339 |
+
}
|
2340 |
+
return data;
|
2341 |
+
}
|
2342 |
+
|
2343 |
+
function resolveScopedSlots(fns, res,
|
2344 |
+
// the following are added in 2.6
|
2345 |
+
hasDynamicKeys, contentHashKey) {
|
2346 |
+
res = res || { $stable: !hasDynamicKeys };
|
2347 |
+
for (var i = 0; i < fns.length; i++) {
|
2348 |
+
var slot = fns[i];
|
2349 |
+
if (isArray(slot)) {
|
2350 |
+
resolveScopedSlots(slot, res, hasDynamicKeys);
|
2351 |
+
}
|
2352 |
+
else if (slot) {
|
2353 |
+
// marker for reverse proxying v-slot without scope on this.$slots
|
2354 |
+
// @ts-expect-error
|
2355 |
+
if (slot.proxy) {
|
2356 |
+
// @ts-expect-error
|
2357 |
+
slot.fn.proxy = true;
|
2358 |
+
}
|
2359 |
+
res[slot.key] = slot.fn;
|
2360 |
+
}
|
2361 |
+
}
|
2362 |
+
if (contentHashKey) {
|
2363 |
+
res.$key = contentHashKey;
|
2364 |
+
}
|
2365 |
+
return res;
|
2366 |
+
}
|
2367 |
+
|
2368 |
+
// helper to process dynamic keys for dynamic arguments in v-bind and v-on.
|
2369 |
+
function bindDynamicKeys(baseObj, values) {
|
2370 |
+
for (var i = 0; i < values.length; i += 2) {
|
2371 |
+
var key = values[i];
|
2372 |
+
if (typeof key === 'string' && key) {
|
2373 |
+
baseObj[values[i]] = values[i + 1];
|
2374 |
+
}
|
2375 |
+
else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {
|
2376 |
+
// null is a special value for explicitly removing a binding
|
2377 |
+
warn$2("Invalid value for dynamic directive argument (expected string or null): ".concat(key), this);
|
2378 |
+
}
|
2379 |
+
}
|
2380 |
+
return baseObj;
|
2381 |
+
}
|
2382 |
+
// helper to dynamically append modifier runtime markers to event names.
|
2383 |
+
// ensure only append when value is already string, otherwise it will be cast
|
2384 |
+
// to string and cause the type check to miss.
|
2385 |
+
function prependModifier(value, symbol) {
|
2386 |
+
return typeof value === 'string' ? symbol + value : value;
|
2387 |
+
}
|
2388 |
+
|
2389 |
+
function installRenderHelpers(target) {
|
2390 |
+
target._o = markOnce;
|
2391 |
+
target._n = toNumber;
|
2392 |
+
target._s = toString;
|
2393 |
+
target._l = renderList;
|
2394 |
+
target._t = renderSlot;
|
2395 |
+
target._q = looseEqual;
|
2396 |
+
target._i = looseIndexOf;
|
2397 |
+
target._m = renderStatic;
|
2398 |
+
target._f = resolveFilter;
|
2399 |
+
target._k = checkKeyCodes;
|
2400 |
+
target._b = bindObjectProps;
|
2401 |
+
target._v = createTextVNode;
|
2402 |
+
target._e = createEmptyVNode;
|
2403 |
+
target._u = resolveScopedSlots;
|
2404 |
+
target._g = bindObjectListeners;
|
2405 |
+
target._d = bindDynamicKeys;
|
2406 |
+
target._p = prependModifier;
|
2407 |
+
}
|
2408 |
+
|
2409 |
+
/**
|
2410 |
+
* Runtime helper for resolving raw children VNodes into a slot object.
|
2411 |
+
*/
|
2412 |
+
function resolveSlots(children, context) {
|
2413 |
+
if (!children || !children.length) {
|
2414 |
+
return {};
|
2415 |
+
}
|
2416 |
+
var slots = {};
|
2417 |
+
for (var i = 0, l = children.length; i < l; i++) {
|
2418 |
+
var child = children[i];
|
2419 |
+
var data = child.data;
|
2420 |
+
// remove slot attribute if the node is resolved as a Vue slot node
|
2421 |
+
if (data && data.attrs && data.attrs.slot) {
|
2422 |
+
delete data.attrs.slot;
|
2423 |
+
}
|
2424 |
+
// named slots should only be respected if the vnode was rendered in the
|
2425 |
+
// same context.
|
2426 |
+
if ((child.context === context || child.fnContext === context) &&
|
2427 |
+
data &&
|
2428 |
+
data.slot != null) {
|
2429 |
+
var name_1 = data.slot;
|
2430 |
+
var slot = slots[name_1] || (slots[name_1] = []);
|
2431 |
+
if (child.tag === 'template') {
|
2432 |
+
slot.push.apply(slot, child.children || []);
|
2433 |
+
}
|
2434 |
+
else {
|
2435 |
+
slot.push(child);
|
2436 |
+
}
|
2437 |
+
}
|
2438 |
+
else {
|
2439 |
+
(slots.default || (slots.default = [])).push(child);
|
2440 |
+
}
|
2441 |
+
}
|
2442 |
+
// ignore slots that contains only whitespace
|
2443 |
+
for (var name_2 in slots) {
|
2444 |
+
if (slots[name_2].every(isWhitespace)) {
|
2445 |
+
delete slots[name_2];
|
2446 |
+
}
|
2447 |
+
}
|
2448 |
+
return slots;
|
2449 |
+
}
|
2450 |
+
function isWhitespace(node) {
|
2451 |
+
return (node.isComment && !node.asyncFactory) || node.text === ' ';
|
2452 |
+
}
|
2453 |
+
|
2454 |
+
function isAsyncPlaceholder(node) {
|
2455 |
+
// @ts-expect-error not really boolean type
|
2456 |
+
return node.isComment && node.asyncFactory;
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
function normalizeScopedSlots(ownerVm, scopedSlots, normalSlots, prevScopedSlots) {
|
2460 |
+
var res;
|
2461 |
+
var hasNormalSlots = Object.keys(normalSlots).length > 0;
|
2462 |
+
var isStable = scopedSlots ? !!scopedSlots.$stable : !hasNormalSlots;
|
2463 |
+
var key = scopedSlots && scopedSlots.$key;
|
2464 |
+
if (!scopedSlots) {
|
2465 |
+
res = {};
|
2466 |
+
}
|
2467 |
+
else if (scopedSlots._normalized) {
|
2468 |
+
// fast path 1: child component re-render only, parent did not change
|
2469 |
+
return scopedSlots._normalized;
|
2470 |
+
}
|
2471 |
+
else if (isStable &&
|
2472 |
+
prevScopedSlots &&
|
2473 |
+
prevScopedSlots !== emptyObject &&
|
2474 |
+
key === prevScopedSlots.$key &&
|
2475 |
+
!hasNormalSlots &&
|
2476 |
+
!prevScopedSlots.$hasNormal) {
|
2477 |
+
// fast path 2: stable scoped slots w/ no normal slots to proxy,
|
2478 |
+
// only need to normalize once
|
2479 |
+
return prevScopedSlots;
|
2480 |
+
}
|
2481 |
+
else {
|
2482 |
+
res = {};
|
2483 |
+
for (var key_1 in scopedSlots) {
|
2484 |
+
if (scopedSlots[key_1] && key_1[0] !== '$') {
|
2485 |
+
res[key_1] = normalizeScopedSlot(ownerVm, normalSlots, key_1, scopedSlots[key_1]);
|
2486 |
+
}
|
2487 |
+
}
|
2488 |
+
}
|
2489 |
+
// expose normal slots on scopedSlots
|
2490 |
+
for (var key_2 in normalSlots) {
|
2491 |
+
if (!(key_2 in res)) {
|
2492 |
+
res[key_2] = proxyNormalSlot(normalSlots, key_2);
|
2493 |
+
}
|
2494 |
+
}
|
2495 |
+
// avoriaz seems to mock a non-extensible $scopedSlots object
|
2496 |
+
// and when that is passed down this would cause an error
|
2497 |
+
if (scopedSlots && Object.isExtensible(scopedSlots)) {
|
2498 |
+
scopedSlots._normalized = res;
|
2499 |
+
}
|
2500 |
+
def(res, '$stable', isStable);
|
2501 |
+
def(res, '$key', key);
|
2502 |
+
def(res, '$hasNormal', hasNormalSlots);
|
2503 |
+
return res;
|
2504 |
+
}
|
2505 |
+
function normalizeScopedSlot(vm, normalSlots, key, fn) {
|
2506 |
+
var normalized = function () {
|
2507 |
+
var cur = currentInstance;
|
2508 |
+
setCurrentInstance(vm);
|
2509 |
+
var res = arguments.length ? fn.apply(null, arguments) : fn({});
|
2510 |
+
res =
|
2511 |
+
res && typeof res === 'object' && !isArray(res)
|
2512 |
+
? [res] // single vnode
|
2513 |
+
: normalizeChildren(res);
|
2514 |
+
var vnode = res && res[0];
|
2515 |
+
setCurrentInstance(cur);
|
2516 |
+
return res &&
|
2517 |
+
(!vnode ||
|
2518 |
+
(res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode))) // #9658, #10391
|
2519 |
+
? undefined
|
2520 |
+
: res;
|
2521 |
+
};
|
2522 |
+
// this is a slot using the new v-slot syntax without scope. although it is
|
2523 |
+
// compiled as a scoped slot, render fn users would expect it to be present
|
2524 |
+
// on this.$slots because the usage is semantically a normal slot.
|
2525 |
+
if (fn.proxy) {
|
2526 |
+
Object.defineProperty(normalSlots, key, {
|
2527 |
+
get: normalized,
|
2528 |
+
enumerable: true,
|
2529 |
+
configurable: true
|
2530 |
+
});
|
2531 |
+
}
|
2532 |
+
return normalized;
|
2533 |
+
}
|
2534 |
+
function proxyNormalSlot(slots, key) {
|
2535 |
+
return function () { return slots[key]; };
|
2536 |
+
}
|
2537 |
+
|
2538 |
+
function initSetup(vm) {
|
2539 |
+
var options = vm.$options;
|
2540 |
+
var setup = options.setup;
|
2541 |
+
if (setup) {
|
2542 |
+
var ctx = (vm._setupContext = createSetupContext(vm));
|
2543 |
+
setCurrentInstance(vm);
|
2544 |
+
pushTarget();
|
2545 |
+
var setupResult = invokeWithErrorHandling(setup, null, [vm._props || shallowReactive({}), ctx], vm, "setup");
|
2546 |
+
popTarget();
|
2547 |
+
setCurrentInstance();
|
2548 |
+
if (isFunction(setupResult)) {
|
2549 |
+
// render function
|
2550 |
+
// @ts-ignore
|
2551 |
+
options.render = setupResult;
|
2552 |
+
}
|
2553 |
+
else if (isObject(setupResult)) {
|
2554 |
+
// bindings
|
2555 |
+
if (process.env.NODE_ENV !== 'production' && setupResult instanceof VNode) {
|
2556 |
+
warn$2("setup() should not return VNodes directly - " +
|
2557 |
+
"return a render function instead.");
|
2558 |
+
}
|
2559 |
+
vm._setupState = setupResult;
|
2560 |
+
// __sfc indicates compiled bindings from <script setup>
|
2561 |
+
if (!setupResult.__sfc) {
|
2562 |
+
for (var key in setupResult) {
|
2563 |
+
if (!isReserved(key)) {
|
2564 |
+
proxyWithRefUnwrap(vm, setupResult, key);
|
2565 |
+
}
|
2566 |
+
else if (process.env.NODE_ENV !== 'production') {
|
2567 |
+
warn$2("Avoid using variables that start with _ or $ in setup().");
|
2568 |
+
}
|
2569 |
+
}
|
2570 |
+
}
|
2571 |
+
else {
|
2572 |
+
// exposed for compiled render fn
|
2573 |
+
var proxy = (vm._setupProxy = {});
|
2574 |
+
for (var key in setupResult) {
|
2575 |
+
if (key !== '__sfc') {
|
2576 |
+
proxyWithRefUnwrap(proxy, setupResult, key);
|
2577 |
+
}
|
2578 |
+
}
|
2579 |
+
}
|
2580 |
+
}
|
2581 |
+
else if (process.env.NODE_ENV !== 'production' && setupResult !== undefined) {
|
2582 |
+
warn$2("setup() should return an object. Received: ".concat(setupResult === null ? 'null' : typeof setupResult));
|
2583 |
+
}
|
2584 |
+
}
|
2585 |
+
}
|
2586 |
+
function createSetupContext(vm) {
|
2587 |
+
var exposeCalled = false;
|
2588 |
+
return {
|
2589 |
+
get attrs() {
|
2590 |
+
if (!vm._attrsProxy) {
|
2591 |
+
var proxy = (vm._attrsProxy = {});
|
2592 |
+
def(proxy, '_v_attr_proxy', true);
|
2593 |
+
syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs');
|
2594 |
+
}
|
2595 |
+
return vm._attrsProxy;
|
2596 |
+
},
|
2597 |
+
get listeners() {
|
2598 |
+
if (!vm._listenersProxy) {
|
2599 |
+
var proxy = (vm._listenersProxy = {});
|
2600 |
+
syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners');
|
2601 |
+
}
|
2602 |
+
return vm._listenersProxy;
|
2603 |
+
},
|
2604 |
+
get slots() {
|
2605 |
+
return initSlotsProxy(vm);
|
2606 |
+
},
|
2607 |
+
emit: bind$1(vm.$emit, vm),
|
2608 |
+
expose: function (exposed) {
|
2609 |
+
if (process.env.NODE_ENV !== 'production') {
|
2610 |
+
if (exposeCalled) {
|
2611 |
+
warn$2("expose() should be called only once per setup().", vm);
|
2612 |
+
}
|
2613 |
+
exposeCalled = true;
|
2614 |
+
}
|
2615 |
+
if (exposed) {
|
2616 |
+
Object.keys(exposed).forEach(function (key) {
|
2617 |
+
return proxyWithRefUnwrap(vm, exposed, key);
|
2618 |
+
});
|
2619 |
+
}
|
2620 |
+
}
|
2621 |
+
};
|
2622 |
+
}
|
2623 |
+
function syncSetupProxy(to, from, prev, instance, type) {
|
2624 |
+
var changed = false;
|
2625 |
+
for (var key in from) {
|
2626 |
+
if (!(key in to)) {
|
2627 |
+
changed = true;
|
2628 |
+
defineProxyAttr(to, key, instance, type);
|
2629 |
+
}
|
2630 |
+
else if (from[key] !== prev[key]) {
|
2631 |
+
changed = true;
|
2632 |
+
}
|
2633 |
+
}
|
2634 |
+
for (var key in to) {
|
2635 |
+
if (!(key in from)) {
|
2636 |
+
changed = true;
|
2637 |
+
delete to[key];
|
2638 |
+
}
|
2639 |
+
}
|
2640 |
+
return changed;
|
2641 |
+
}
|
2642 |
+
function defineProxyAttr(proxy, key, instance, type) {
|
2643 |
+
Object.defineProperty(proxy, key, {
|
2644 |
+
enumerable: true,
|
2645 |
+
configurable: true,
|
2646 |
+
get: function () {
|
2647 |
+
return instance[type][key];
|
2648 |
+
}
|
2649 |
+
});
|
2650 |
+
}
|
2651 |
+
function initSlotsProxy(vm) {
|
2652 |
+
if (!vm._slotsProxy) {
|
2653 |
+
syncSetupSlots((vm._slotsProxy = {}), vm.$scopedSlots);
|
2654 |
+
}
|
2655 |
+
return vm._slotsProxy;
|
2656 |
+
}
|
2657 |
+
function syncSetupSlots(to, from) {
|
2658 |
+
for (var key in from) {
|
2659 |
+
to[key] = from[key];
|
2660 |
+
}
|
2661 |
+
for (var key in to) {
|
2662 |
+
if (!(key in from)) {
|
2663 |
+
delete to[key];
|
2664 |
+
}
|
2665 |
+
}
|
2666 |
+
}
|
2667 |
+
/**
|
2668 |
+
* @internal use manual type def because public setup context type relies on
|
2669 |
+
* legacy VNode types
|
2670 |
+
*/
|
2671 |
+
function useSlots() {
|
2672 |
+
return getContext().slots;
|
2673 |
+
}
|
2674 |
+
/**
|
2675 |
+
* @internal use manual type def because public setup context type relies on
|
2676 |
+
* legacy VNode types
|
2677 |
+
*/
|
2678 |
+
function useAttrs() {
|
2679 |
+
return getContext().attrs;
|
2680 |
+
}
|
2681 |
+
/**
|
2682 |
+
* Vue 2 only
|
2683 |
+
* @internal use manual type def because public setup context type relies on
|
2684 |
+
* legacy VNode types
|
2685 |
+
*/
|
2686 |
+
function useListeners() {
|
2687 |
+
return getContext().listeners;
|
2688 |
+
}
|
2689 |
+
function getContext() {
|
2690 |
+
if (process.env.NODE_ENV !== 'production' && !currentInstance) {
|
2691 |
+
warn$2("useContext() called without active instance.");
|
2692 |
+
}
|
2693 |
+
var vm = currentInstance;
|
2694 |
+
return vm._setupContext || (vm._setupContext = createSetupContext(vm));
|
2695 |
+
}
|
2696 |
+
/**
|
2697 |
+
* Runtime helper for merging default declarations. Imported by compiled code
|
2698 |
+
* only.
|
2699 |
+
* @internal
|
2700 |
+
*/
|
2701 |
+
function mergeDefaults(raw, defaults) {
|
2702 |
+
var props = isArray(raw)
|
2703 |
+
? raw.reduce(function (normalized, p) { return ((normalized[p] = {}), normalized); }, {})
|
2704 |
+
: raw;
|
2705 |
+
for (var key in defaults) {
|
2706 |
+
var opt = props[key];
|
2707 |
+
if (opt) {
|
2708 |
+
if (isArray(opt) || isFunction(opt)) {
|
2709 |
+
props[key] = { type: opt, default: defaults[key] };
|
2710 |
+
}
|
2711 |
+
else {
|
2712 |
+
opt.default = defaults[key];
|
2713 |
+
}
|
2714 |
+
}
|
2715 |
+
else if (opt === null) {
|
2716 |
+
props[key] = { default: defaults[key] };
|
2717 |
+
}
|
2718 |
+
else if (process.env.NODE_ENV !== 'production') {
|
2719 |
+
warn$2("props default key \"".concat(key, "\" has no corresponding declaration."));
|
2720 |
+
}
|
2721 |
+
}
|
2722 |
+
return props;
|
2723 |
+
}
|
2724 |
+
|
2725 |
+
function initRender(vm) {
|
2726 |
+
vm._vnode = null; // the root of the child tree
|
2727 |
+
vm._staticTrees = null; // v-once cached trees
|
2728 |
+
var options = vm.$options;
|
2729 |
+
var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree
|
2730 |
+
var renderContext = parentVnode && parentVnode.context;
|
2731 |
+
vm.$slots = resolveSlots(options._renderChildren, renderContext);
|
2732 |
+
vm.$scopedSlots = parentVnode
|
2733 |
+
? normalizeScopedSlots(vm.$parent, parentVnode.data.scopedSlots, vm.$slots)
|
2734 |
+
: emptyObject;
|
2735 |
+
// bind the createElement fn to this instance
|
2736 |
+
// so that we get proper render context inside it.
|
2737 |
+
// args order: tag, data, children, normalizationType, alwaysNormalize
|
2738 |
+
// internal version is used by render functions compiled from templates
|
2739 |
+
// @ts-expect-error
|
2740 |
+
vm._c = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, false); };
|
2741 |
+
// normalization is always applied for the public version, used in
|
2742 |
+
// user-written render functions.
|
2743 |
+
// @ts-expect-error
|
2744 |
+
vm.$createElement = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, true); };
|
2745 |
+
// $attrs & $listeners are exposed for easier HOC creation.
|
2746 |
+
// they need to be reactive so that HOCs using them are always updated
|
2747 |
+
var parentData = parentVnode && parentVnode.data;
|
2748 |
+
/* istanbul ignore else */
|
2749 |
+
if (process.env.NODE_ENV !== 'production') {
|
2750 |
+
defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, function () {
|
2751 |
+
!isUpdatingChildComponent && warn$2("$attrs is readonly.", vm);
|
2752 |
+
}, true);
|
2753 |
+
defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {
|
2754 |
+
!isUpdatingChildComponent && warn$2("$listeners is readonly.", vm);
|
2755 |
+
}, true);
|
2756 |
+
}
|
2757 |
+
else {
|
2758 |
+
defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, null, true);
|
2759 |
+
defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);
|
2760 |
+
}
|
2761 |
+
}
|
2762 |
+
var currentRenderingInstance = null;
|
2763 |
+
function renderMixin(Vue) {
|
2764 |
+
// install runtime convenience helpers
|
2765 |
+
installRenderHelpers(Vue.prototype);
|
2766 |
+
Vue.prototype.$nextTick = function (fn) {
|
2767 |
+
return nextTick(fn, this);
|
2768 |
+
};
|
2769 |
+
Vue.prototype._render = function () {
|
2770 |
+
var vm = this;
|
2771 |
+
var _a = vm.$options, render = _a.render, _parentVnode = _a._parentVnode;
|
2772 |
+
if (_parentVnode && vm._isMounted) {
|
2773 |
+
vm.$scopedSlots = normalizeScopedSlots(vm.$parent, _parentVnode.data.scopedSlots, vm.$slots, vm.$scopedSlots);
|
2774 |
+
if (vm._slotsProxy) {
|
2775 |
+
syncSetupSlots(vm._slotsProxy, vm.$scopedSlots);
|
2776 |
+
}
|
2777 |
+
}
|
2778 |
+
// set parent vnode. this allows render functions to have access
|
2779 |
+
// to the data on the placeholder node.
|
2780 |
+
vm.$vnode = _parentVnode;
|
2781 |
+
// render self
|
2782 |
+
var vnode;
|
2783 |
+
try {
|
2784 |
+
// There's no need to maintain a stack because all render fns are called
|
2785 |
+
// separately from one another. Nested component's render fns are called
|
2786 |
+
// when parent component is patched.
|
2787 |
+
setCurrentInstance(vm);
|
2788 |
+
currentRenderingInstance = vm;
|
2789 |
+
vnode = render.call(vm._renderProxy, vm.$createElement);
|
2790 |
+
}
|
2791 |
+
catch (e) {
|
2792 |
+
handleError(e, vm, "render");
|
2793 |
+
// return error render result,
|
2794 |
+
// or previous vnode to prevent render error causing blank component
|
2795 |
+
/* istanbul ignore else */
|
2796 |
+
if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {
|
2797 |
+
try {
|
2798 |
+
vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
|
2799 |
+
}
|
2800 |
+
catch (e) {
|
2801 |
+
handleError(e, vm, "renderError");
|
2802 |
+
vnode = vm._vnode;
|
2803 |
+
}
|
2804 |
+
}
|
2805 |
+
else {
|
2806 |
+
vnode = vm._vnode;
|
2807 |
+
}
|
2808 |
+
}
|
2809 |
+
finally {
|
2810 |
+
currentRenderingInstance = null;
|
2811 |
+
setCurrentInstance();
|
2812 |
+
}
|
2813 |
+
// if the returned array contains only a single node, allow it
|
2814 |
+
if (isArray(vnode) && vnode.length === 1) {
|
2815 |
+
vnode = vnode[0];
|
2816 |
+
}
|
2817 |
+
// return empty vnode in case the render function errored out
|
2818 |
+
if (!(vnode instanceof VNode)) {
|
2819 |
+
if (process.env.NODE_ENV !== 'production' && isArray(vnode)) {
|
2820 |
+
warn$2('Multiple root nodes returned from render function. Render function ' +
|
2821 |
+
'should return a single root node.', vm);
|
2822 |
+
}
|
2823 |
+
vnode = createEmptyVNode();
|
2824 |
+
}
|
2825 |
+
// set parent
|
2826 |
+
vnode.parent = _parentVnode;
|
2827 |
+
return vnode;
|
2828 |
+
};
|
2829 |
+
}
|
2830 |
+
|
2831 |
+
function ensureCtor(comp, base) {
|
2832 |
+
if (comp.__esModule || (hasSymbol && comp[Symbol.toStringTag] === 'Module')) {
|
2833 |
+
comp = comp.default;
|
2834 |
+
}
|
2835 |
+
return isObject(comp) ? base.extend(comp) : comp;
|
2836 |
+
}
|
2837 |
+
function createAsyncPlaceholder(factory, data, context, children, tag) {
|
2838 |
+
var node = createEmptyVNode();
|
2839 |
+
node.asyncFactory = factory;
|
2840 |
+
node.asyncMeta = { data: data, context: context, children: children, tag: tag };
|
2841 |
+
return node;
|
2842 |
+
}
|
2843 |
+
function resolveAsyncComponent(factory, baseCtor) {
|
2844 |
+
if (isTrue(factory.error) && isDef(factory.errorComp)) {
|
2845 |
+
return factory.errorComp;
|
2846 |
+
}
|
2847 |
+
if (isDef(factory.resolved)) {
|
2848 |
+
return factory.resolved;
|
2849 |
+
}
|
2850 |
+
var owner = currentRenderingInstance;
|
2851 |
+
if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {
|
2852 |
+
// already pending
|
2853 |
+
factory.owners.push(owner);
|
2854 |
+
}
|
2855 |
+
if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
|
2856 |
+
return factory.loadingComp;
|
2857 |
+
}
|
2858 |
+
if (owner && !isDef(factory.owners)) {
|
2859 |
+
var owners_1 = (factory.owners = [owner]);
|
2860 |
+
var sync_1 = true;
|
2861 |
+
var timerLoading_1 = null;
|
2862 |
+
var timerTimeout_1 = null;
|
2863 |
+
owner.$on('hook:destroyed', function () { return remove$2(owners_1, owner); });
|
2864 |
+
var forceRender_1 = function (renderCompleted) {
|
2865 |
+
for (var i = 0, l = owners_1.length; i < l; i++) {
|
2866 |
+
owners_1[i].$forceUpdate();
|
2867 |
+
}
|
2868 |
+
if (renderCompleted) {
|
2869 |
+
owners_1.length = 0;
|
2870 |
+
if (timerLoading_1 !== null) {
|
2871 |
+
clearTimeout(timerLoading_1);
|
2872 |
+
timerLoading_1 = null;
|
2873 |
+
}
|
2874 |
+
if (timerTimeout_1 !== null) {
|
2875 |
+
clearTimeout(timerTimeout_1);
|
2876 |
+
timerTimeout_1 = null;
|
2877 |
+
}
|
2878 |
+
}
|
2879 |
+
};
|
2880 |
+
var resolve = once(function (res) {
|
2881 |
+
// cache resolved
|
2882 |
+
factory.resolved = ensureCtor(res, baseCtor);
|
2883 |
+
// invoke callbacks only if this is not a synchronous resolve
|
2884 |
+
// (async resolves are shimmed as synchronous during SSR)
|
2885 |
+
if (!sync_1) {
|
2886 |
+
forceRender_1(true);
|
2887 |
+
}
|
2888 |
+
else {
|
2889 |
+
owners_1.length = 0;
|
2890 |
+
}
|
2891 |
+
});
|
2892 |
+
var reject_1 = once(function (reason) {
|
2893 |
+
process.env.NODE_ENV !== 'production' &&
|
2894 |
+
warn$2("Failed to resolve async component: ".concat(String(factory)) +
|
2895 |
+
(reason ? "\nReason: ".concat(reason) : ''));
|
2896 |
+
if (isDef(factory.errorComp)) {
|
2897 |
+
factory.error = true;
|
2898 |
+
forceRender_1(true);
|
2899 |
+
}
|
2900 |
+
});
|
2901 |
+
var res_1 = factory(resolve, reject_1);
|
2902 |
+
if (isObject(res_1)) {
|
2903 |
+
if (isPromise(res_1)) {
|
2904 |
+
// () => Promise
|
2905 |
+
if (isUndef(factory.resolved)) {
|
2906 |
+
res_1.then(resolve, reject_1);
|
2907 |
+
}
|
2908 |
+
}
|
2909 |
+
else if (isPromise(res_1.component)) {
|
2910 |
+
res_1.component.then(resolve, reject_1);
|
2911 |
+
if (isDef(res_1.error)) {
|
2912 |
+
factory.errorComp = ensureCtor(res_1.error, baseCtor);
|
2913 |
+
}
|
2914 |
+
if (isDef(res_1.loading)) {
|
2915 |
+
factory.loadingComp = ensureCtor(res_1.loading, baseCtor);
|
2916 |
+
if (res_1.delay === 0) {
|
2917 |
+
factory.loading = true;
|
2918 |
+
}
|
2919 |
+
else {
|
2920 |
+
// @ts-expect-error NodeJS timeout type
|
2921 |
+
timerLoading_1 = setTimeout(function () {
|
2922 |
+
timerLoading_1 = null;
|
2923 |
+
if (isUndef(factory.resolved) && isUndef(factory.error)) {
|
2924 |
+
factory.loading = true;
|
2925 |
+
forceRender_1(false);
|
2926 |
+
}
|
2927 |
+
}, res_1.delay || 200);
|
2928 |
+
}
|
2929 |
+
}
|
2930 |
+
if (isDef(res_1.timeout)) {
|
2931 |
+
// @ts-expect-error NodeJS timeout type
|
2932 |
+
timerTimeout_1 = setTimeout(function () {
|
2933 |
+
timerTimeout_1 = null;
|
2934 |
+
if (isUndef(factory.resolved)) {
|
2935 |
+
reject_1(process.env.NODE_ENV !== 'production' ? "timeout (".concat(res_1.timeout, "ms)") : null);
|
2936 |
+
}
|
2937 |
+
}, res_1.timeout);
|
2938 |
+
}
|
2939 |
+
}
|
2940 |
+
}
|
2941 |
+
sync_1 = false;
|
2942 |
+
// return in case resolved synchronously
|
2943 |
+
return factory.loading ? factory.loadingComp : factory.resolved;
|
2944 |
+
}
|
2945 |
+
}
|
2946 |
+
|
2947 |
+
function getFirstComponentChild(children) {
|
2948 |
+
if (isArray(children)) {
|
2949 |
+
for (var i = 0; i < children.length; i++) {
|
2950 |
+
var c = children[i];
|
2951 |
+
if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
|
2952 |
+
return c;
|
2953 |
+
}
|
2954 |
+
}
|
2955 |
+
}
|
2956 |
+
}
|
2957 |
+
|
2958 |
+
function initEvents(vm) {
|
2959 |
+
vm._events = Object.create(null);
|
2960 |
+
vm._hasHookEvent = false;
|
2961 |
+
// init parent attached events
|
2962 |
+
var listeners = vm.$options._parentListeners;
|
2963 |
+
if (listeners) {
|
2964 |
+
updateComponentListeners(vm, listeners);
|
2965 |
+
}
|
2966 |
+
}
|
2967 |
+
var target$1;
|
2968 |
+
function add$1(event, fn) {
|
2969 |
+
target$1.$on(event, fn);
|
2970 |
+
}
|
2971 |
+
function remove$1(event, fn) {
|
2972 |
+
target$1.$off(event, fn);
|
2973 |
+
}
|
2974 |
+
function createOnceHandler$1(event, fn) {
|
2975 |
+
var _target = target$1;
|
2976 |
+
return function onceHandler() {
|
2977 |
+
var res = fn.apply(null, arguments);
|
2978 |
+
if (res !== null) {
|
2979 |
+
_target.$off(event, onceHandler);
|
2980 |
+
}
|
2981 |
+
};
|
2982 |
+
}
|
2983 |
+
function updateComponentListeners(vm, listeners, oldListeners) {
|
2984 |
+
target$1 = vm;
|
2985 |
+
updateListeners(listeners, oldListeners || {}, add$1, remove$1, createOnceHandler$1, vm);
|
2986 |
+
target$1 = undefined;
|
2987 |
+
}
|
2988 |
+
function eventsMixin(Vue) {
|
2989 |
+
var hookRE = /^hook:/;
|
2990 |
+
Vue.prototype.$on = function (event, fn) {
|
2991 |
+
var vm = this;
|
2992 |
+
if (isArray(event)) {
|
2993 |
+
for (var i = 0, l = event.length; i < l; i++) {
|
2994 |
+
vm.$on(event[i], fn);
|
2995 |
+
}
|
2996 |
+
}
|
2997 |
+
else {
|
2998 |
+
(vm._events[event] || (vm._events[event] = [])).push(fn);
|
2999 |
+
// optimize hook:event cost by using a boolean flag marked at registration
|
3000 |
+
// instead of a hash lookup
|
3001 |
+
if (hookRE.test(event)) {
|
3002 |
+
vm._hasHookEvent = true;
|
3003 |
+
}
|
3004 |
+
}
|
3005 |
+
return vm;
|
3006 |
+
};
|
3007 |
+
Vue.prototype.$once = function (event, fn) {
|
3008 |
+
var vm = this;
|
3009 |
+
function on() {
|
3010 |
+
vm.$off(event, on);
|
3011 |
+
fn.apply(vm, arguments);
|
3012 |
+
}
|
3013 |
+
on.fn = fn;
|
3014 |
+
vm.$on(event, on);
|
3015 |
+
return vm;
|
3016 |
+
};
|
3017 |
+
Vue.prototype.$off = function (event, fn) {
|
3018 |
+
var vm = this;
|
3019 |
+
// all
|
3020 |
+
if (!arguments.length) {
|
3021 |
+
vm._events = Object.create(null);
|
3022 |
+
return vm;
|
3023 |
+
}
|
3024 |
+
// array of events
|
3025 |
+
if (isArray(event)) {
|
3026 |
+
for (var i_1 = 0, l = event.length; i_1 < l; i_1++) {
|
3027 |
+
vm.$off(event[i_1], fn);
|
3028 |
+
}
|
3029 |
+
return vm;
|
3030 |
+
}
|
3031 |
+
// specific event
|
3032 |
+
var cbs = vm._events[event];
|
3033 |
+
if (!cbs) {
|
3034 |
+
return vm;
|
3035 |
+
}
|
3036 |
+
if (!fn) {
|
3037 |
+
vm._events[event] = null;
|
3038 |
+
return vm;
|
3039 |
+
}
|
3040 |
+
// specific handler
|
3041 |
+
var cb;
|
3042 |
+
var i = cbs.length;
|
3043 |
+
while (i--) {
|
3044 |
+
cb = cbs[i];
|
3045 |
+
if (cb === fn || cb.fn === fn) {
|
3046 |
+
cbs.splice(i, 1);
|
3047 |
+
break;
|
3048 |
+
}
|
3049 |
+
}
|
3050 |
+
return vm;
|
3051 |
+
};
|
3052 |
+
Vue.prototype.$emit = function (event) {
|
3053 |
+
var vm = this;
|
3054 |
+
if (process.env.NODE_ENV !== 'production') {
|
3055 |
+
var lowerCaseEvent = event.toLowerCase();
|
3056 |
+
if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
|
3057 |
+
tip("Event \"".concat(lowerCaseEvent, "\" is emitted in component ") +
|
3058 |
+
"".concat(formatComponentName(vm), " but the handler is registered for \"").concat(event, "\". ") +
|
3059 |
+
"Note that HTML attributes are case-insensitive and you cannot use " +
|
3060 |
+
"v-on to listen to camelCase events when using in-DOM templates. " +
|
3061 |
+
"You should probably use \"".concat(hyphenate(event), "\" instead of \"").concat(event, "\"."));
|
3062 |
+
}
|
3063 |
+
}
|
3064 |
+
var cbs = vm._events[event];
|
3065 |
+
if (cbs) {
|
3066 |
+
cbs = cbs.length > 1 ? toArray(cbs) : cbs;
|
3067 |
+
var args = toArray(arguments, 1);
|
3068 |
+
var info = "event handler for \"".concat(event, "\"");
|
3069 |
+
for (var i = 0, l = cbs.length; i < l; i++) {
|
3070 |
+
invokeWithErrorHandling(cbs[i], vm, args, vm, info);
|
3071 |
+
}
|
3072 |
+
}
|
3073 |
+
return vm;
|
3074 |
+
};
|
3075 |
+
}
|
3076 |
+
|
3077 |
+
var activeInstance = null;
|
3078 |
+
var isUpdatingChildComponent = false;
|
3079 |
+
function setActiveInstance(vm) {
|
3080 |
+
var prevActiveInstance = activeInstance;
|
3081 |
+
activeInstance = vm;
|
3082 |
+
return function () {
|
3083 |
+
activeInstance = prevActiveInstance;
|
3084 |
+
};
|
3085 |
+
}
|
3086 |
+
function initLifecycle(vm) {
|
3087 |
+
var options = vm.$options;
|
3088 |
+
// locate first non-abstract parent
|
3089 |
+
var parent = options.parent;
|
3090 |
+
if (parent && !options.abstract) {
|
3091 |
+
while (parent.$options.abstract && parent.$parent) {
|
3092 |
+
parent = parent.$parent;
|
3093 |
+
}
|
3094 |
+
parent.$children.push(vm);
|
3095 |
+
}
|
3096 |
+
vm.$parent = parent;
|
3097 |
+
vm.$root = parent ? parent.$root : vm;
|
3098 |
+
vm.$children = [];
|
3099 |
+
vm.$refs = {};
|
3100 |
+
vm._provided = parent ? parent._provided : Object.create(null);
|
3101 |
+
vm._watcher = null;
|
3102 |
+
vm._inactive = null;
|
3103 |
+
vm._directInactive = false;
|
3104 |
+
vm._isMounted = false;
|
3105 |
+
vm._isDestroyed = false;
|
3106 |
+
vm._isBeingDestroyed = false;
|
3107 |
+
}
|
3108 |
+
function lifecycleMixin(Vue) {
|
3109 |
+
Vue.prototype._update = function (vnode, hydrating) {
|
3110 |
+
var vm = this;
|
3111 |
+
var prevEl = vm.$el;
|
3112 |
+
var prevVnode = vm._vnode;
|
3113 |
+
var restoreActiveInstance = setActiveInstance(vm);
|
3114 |
+
vm._vnode = vnode;
|
3115 |
+
// Vue.prototype.__patch__ is injected in entry points
|
3116 |
+
// based on the rendering backend used.
|
3117 |
+
if (!prevVnode) {
|
3118 |
+
// initial render
|
3119 |
+
vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);
|
3120 |
+
}
|
3121 |
+
else {
|
3122 |
+
// updates
|
3123 |
+
vm.$el = vm.__patch__(prevVnode, vnode);
|
3124 |
+
}
|
3125 |
+
restoreActiveInstance();
|
3126 |
+
// update __vue__ reference
|
3127 |
+
if (prevEl) {
|
3128 |
+
prevEl.__vue__ = null;
|
3129 |
+
}
|
3130 |
+
if (vm.$el) {
|
3131 |
+
vm.$el.__vue__ = vm;
|
3132 |
+
}
|
3133 |
+
// if parent is an HOC, update its $el as well
|
3134 |
+
var wrapper = vm;
|
3135 |
+
while (wrapper &&
|
3136 |
+
wrapper.$vnode &&
|
3137 |
+
wrapper.$parent &&
|
3138 |
+
wrapper.$vnode === wrapper.$parent._vnode) {
|
3139 |
+
wrapper.$parent.$el = wrapper.$el;
|
3140 |
+
wrapper = wrapper.$parent;
|
3141 |
+
}
|
3142 |
+
// updated hook is called by the scheduler to ensure that children are
|
3143 |
+
// updated in a parent's updated hook.
|
3144 |
+
};
|
3145 |
+
Vue.prototype.$forceUpdate = function () {
|
3146 |
+
var vm = this;
|
3147 |
+
if (vm._watcher) {
|
3148 |
+
vm._watcher.update();
|
3149 |
+
}
|
3150 |
+
};
|
3151 |
+
Vue.prototype.$destroy = function () {
|
3152 |
+
var vm = this;
|
3153 |
+
if (vm._isBeingDestroyed) {
|
3154 |
+
return;
|
3155 |
+
}
|
3156 |
+
callHook$1(vm, 'beforeDestroy');
|
3157 |
+
vm._isBeingDestroyed = true;
|
3158 |
+
// remove self from parent
|
3159 |
+
var parent = vm.$parent;
|
3160 |
+
if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
|
3161 |
+
remove$2(parent.$children, vm);
|
3162 |
+
}
|
3163 |
+
// teardown scope. this includes both the render watcher and other
|
3164 |
+
// watchers created
|
3165 |
+
vm._scope.stop();
|
3166 |
+
// remove reference from data ob
|
3167 |
+
// frozen object may not have observer.
|
3168 |
+
if (vm._data.__ob__) {
|
3169 |
+
vm._data.__ob__.vmCount--;
|
3170 |
+
}
|
3171 |
+
// call the last hook...
|
3172 |
+
vm._isDestroyed = true;
|
3173 |
+
// invoke destroy hooks on current rendered tree
|
3174 |
+
vm.__patch__(vm._vnode, null);
|
3175 |
+
// fire destroyed hook
|
3176 |
+
callHook$1(vm, 'destroyed');
|
3177 |
+
// turn off all instance listeners.
|
3178 |
+
vm.$off();
|
3179 |
+
// remove __vue__ reference
|
3180 |
+
if (vm.$el) {
|
3181 |
+
vm.$el.__vue__ = null;
|
3182 |
+
}
|
3183 |
+
// release circular reference (#6759)
|
3184 |
+
if (vm.$vnode) {
|
3185 |
+
vm.$vnode.parent = null;
|
3186 |
+
}
|
3187 |
+
};
|
3188 |
+
}
|
3189 |
+
function mountComponent(vm, el, hydrating) {
|
3190 |
+
vm.$el = el;
|
3191 |
+
if (!vm.$options.render) {
|
3192 |
+
// @ts-expect-error invalid type
|
3193 |
+
vm.$options.render = createEmptyVNode;
|
3194 |
+
if (process.env.NODE_ENV !== 'production') {
|
3195 |
+
/* istanbul ignore if */
|
3196 |
+
if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
|
3197 |
+
vm.$options.el ||
|
3198 |
+
el) {
|
3199 |
+
warn$2('You are using the runtime-only build of Vue where the template ' +
|
3200 |
+
'compiler is not available. Either pre-compile the templates into ' +
|
3201 |
+
'render functions, or use the compiler-included build.', vm);
|
3202 |
+
}
|
3203 |
+
else {
|
3204 |
+
warn$2('Failed to mount component: template or render function not defined.', vm);
|
3205 |
+
}
|
3206 |
+
}
|
3207 |
+
}
|
3208 |
+
callHook$1(vm, 'beforeMount');
|
3209 |
+
var updateComponent;
|
3210 |
+
/* istanbul ignore if */
|
3211 |
+
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
3212 |
+
updateComponent = function () {
|
3213 |
+
var name = vm._name;
|
3214 |
+
var id = vm._uid;
|
3215 |
+
var startTag = "vue-perf-start:".concat(id);
|
3216 |
+
var endTag = "vue-perf-end:".concat(id);
|
3217 |
+
mark(startTag);
|
3218 |
+
var vnode = vm._render();
|
3219 |
+
mark(endTag);
|
3220 |
+
measure("vue ".concat(name, " render"), startTag, endTag);
|
3221 |
+
mark(startTag);
|
3222 |
+
vm._update(vnode, hydrating);
|
3223 |
+
mark(endTag);
|
3224 |
+
measure("vue ".concat(name, " patch"), startTag, endTag);
|
3225 |
+
};
|
3226 |
+
}
|
3227 |
+
else {
|
3228 |
+
updateComponent = function () {
|
3229 |
+
vm._update(vm._render(), hydrating);
|
3230 |
+
};
|
3231 |
+
}
|
3232 |
+
var watcherOptions = {
|
3233 |
+
before: function () {
|
3234 |
+
if (vm._isMounted && !vm._isDestroyed) {
|
3235 |
+
callHook$1(vm, 'beforeUpdate');
|
3236 |
+
}
|
3237 |
+
}
|
3238 |
+
};
|
3239 |
+
if (process.env.NODE_ENV !== 'production') {
|
3240 |
+
watcherOptions.onTrack = function (e) { return callHook$1(vm, 'renderTracked', [e]); };
|
3241 |
+
watcherOptions.onTrigger = function (e) { return callHook$1(vm, 'renderTriggered', [e]); };
|
3242 |
+
}
|
3243 |
+
// we set this to vm._watcher inside the watcher's constructor
|
3244 |
+
// since the watcher's initial patch may call $forceUpdate (e.g. inside child
|
3245 |
+
// component's mounted hook), which relies on vm._watcher being already defined
|
3246 |
+
new Watcher(vm, updateComponent, noop, watcherOptions, true /* isRenderWatcher */);
|
3247 |
+
hydrating = false;
|
3248 |
+
// flush buffer for flush: "pre" watchers queued in setup()
|
3249 |
+
var preWatchers = vm._preWatchers;
|
3250 |
+
if (preWatchers) {
|
3251 |
+
for (var i = 0; i < preWatchers.length; i++) {
|
3252 |
+
preWatchers[i].run();
|
3253 |
+
}
|
3254 |
+
}
|
3255 |
+
// manually mounted instance, call mounted on self
|
3256 |
+
// mounted is called for render-created child components in its inserted hook
|
3257 |
+
if (vm.$vnode == null) {
|
3258 |
+
vm._isMounted = true;
|
3259 |
+
callHook$1(vm, 'mounted');
|
3260 |
+
}
|
3261 |
+
return vm;
|
3262 |
+
}
|
3263 |
+
function updateChildComponent(vm, propsData, listeners, parentVnode, renderChildren) {
|
3264 |
+
if (process.env.NODE_ENV !== 'production') {
|
3265 |
+
isUpdatingChildComponent = true;
|
3266 |
+
}
|
3267 |
+
// determine whether component has slot children
|
3268 |
+
// we need to do this before overwriting $options._renderChildren.
|
3269 |
+
// check if there are dynamic scopedSlots (hand-written or compiled but with
|
3270 |
+
// dynamic slot names). Static scoped slots compiled from template has the
|
3271 |
+
// "$stable" marker.
|
3272 |
+
var newScopedSlots = parentVnode.data.scopedSlots;
|
3273 |
+
var oldScopedSlots = vm.$scopedSlots;
|
3274 |
+
var hasDynamicScopedSlot = !!((newScopedSlots && !newScopedSlots.$stable) ||
|
3275 |
+
(oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||
|
3276 |
+
(newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||
|
3277 |
+
(!newScopedSlots && vm.$scopedSlots.$key));
|
3278 |
+
// Any static slot children from the parent may have changed during parent's
|
3279 |
+
// update. Dynamic scoped slots may also have changed. In such cases, a forced
|
3280 |
+
// update is necessary to ensure correctness.
|
3281 |
+
var needsForceUpdate = !!(renderChildren || // has new static slots
|
3282 |
+
vm.$options._renderChildren || // has old static slots
|
3283 |
+
hasDynamicScopedSlot);
|
3284 |
+
var prevVNode = vm.$vnode;
|
3285 |
+
vm.$options._parentVnode = parentVnode;
|
3286 |
+
vm.$vnode = parentVnode; // update vm's placeholder node without re-render
|
3287 |
+
if (vm._vnode) {
|
3288 |
+
// update child tree's parent
|
3289 |
+
vm._vnode.parent = parentVnode;
|
3290 |
+
}
|
3291 |
+
vm.$options._renderChildren = renderChildren;
|
3292 |
+
// update $attrs and $listeners hash
|
3293 |
+
// these are also reactive so they may trigger child update if the child
|
3294 |
+
// used them during render
|
3295 |
+
var attrs = parentVnode.data.attrs || emptyObject;
|
3296 |
+
if (vm._attrsProxy) {
|
3297 |
+
// force update if attrs are accessed and has changed since it may be
|
3298 |
+
// passed to a child component.
|
3299 |
+
if (syncSetupProxy(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm, '$attrs')) {
|
3300 |
+
needsForceUpdate = true;
|
3301 |
+
}
|
3302 |
+
}
|
3303 |
+
vm.$attrs = attrs;
|
3304 |
+
// update listeners
|
3305 |
+
listeners = listeners || emptyObject;
|
3306 |
+
var prevListeners = vm.$options._parentListeners;
|
3307 |
+
if (vm._listenersProxy) {
|
3308 |
+
syncSetupProxy(vm._listenersProxy, listeners, prevListeners || emptyObject, vm, '$listeners');
|
3309 |
+
}
|
3310 |
+
vm.$listeners = vm.$options._parentListeners = listeners;
|
3311 |
+
updateComponentListeners(vm, listeners, prevListeners);
|
3312 |
+
// update props
|
3313 |
+
if (propsData && vm.$options.props) {
|
3314 |
+
toggleObserving(false);
|
3315 |
+
var props = vm._props;
|
3316 |
+
var propKeys = vm.$options._propKeys || [];
|
3317 |
+
for (var i = 0; i < propKeys.length; i++) {
|
3318 |
+
var key = propKeys[i];
|
3319 |
+
var propOptions = vm.$options.props; // wtf flow?
|
3320 |
+
props[key] = validateProp(key, propOptions, propsData, vm);
|
3321 |
+
}
|
3322 |
+
toggleObserving(true);
|
3323 |
+
// keep a copy of raw propsData
|
3324 |
+
vm.$options.propsData = propsData;
|
3325 |
+
}
|
3326 |
+
// resolve slots + force update if has children
|
3327 |
+
if (needsForceUpdate) {
|
3328 |
+
vm.$slots = resolveSlots(renderChildren, parentVnode.context);
|
3329 |
+
vm.$forceUpdate();
|
3330 |
+
}
|
3331 |
+
if (process.env.NODE_ENV !== 'production') {
|
3332 |
+
isUpdatingChildComponent = false;
|
3333 |
+
}
|
3334 |
+
}
|
3335 |
+
function isInInactiveTree(vm) {
|
3336 |
+
while (vm && (vm = vm.$parent)) {
|
3337 |
+
if (vm._inactive)
|
3338 |
+
return true;
|
3339 |
+
}
|
3340 |
+
return false;
|
3341 |
+
}
|
3342 |
+
function activateChildComponent(vm, direct) {
|
3343 |
+
if (direct) {
|
3344 |
+
vm._directInactive = false;
|
3345 |
+
if (isInInactiveTree(vm)) {
|
3346 |
+
return;
|
3347 |
+
}
|
3348 |
+
}
|
3349 |
+
else if (vm._directInactive) {
|
3350 |
+
return;
|
3351 |
+
}
|
3352 |
+
if (vm._inactive || vm._inactive === null) {
|
3353 |
+
vm._inactive = false;
|
3354 |
+
for (var i = 0; i < vm.$children.length; i++) {
|
3355 |
+
activateChildComponent(vm.$children[i]);
|
3356 |
+
}
|
3357 |
+
callHook$1(vm, 'activated');
|
3358 |
+
}
|
3359 |
+
}
|
3360 |
+
function deactivateChildComponent(vm, direct) {
|
3361 |
+
if (direct) {
|
3362 |
+
vm._directInactive = true;
|
3363 |
+
if (isInInactiveTree(vm)) {
|
3364 |
+
return;
|
3365 |
+
}
|
3366 |
+
}
|
3367 |
+
if (!vm._inactive) {
|
3368 |
+
vm._inactive = true;
|
3369 |
+
for (var i = 0; i < vm.$children.length; i++) {
|
3370 |
+
deactivateChildComponent(vm.$children[i]);
|
3371 |
+
}
|
3372 |
+
callHook$1(vm, 'deactivated');
|
3373 |
+
}
|
3374 |
+
}
|
3375 |
+
function callHook$1(vm, hook, args, setContext) {
|
3376 |
+
if (setContext === void 0) { setContext = true; }
|
3377 |
+
// #7573 disable dep collection when invoking lifecycle hooks
|
3378 |
+
pushTarget();
|
3379 |
+
var prev = currentInstance;
|
3380 |
+
setContext && setCurrentInstance(vm);
|
3381 |
+
var handlers = vm.$options[hook];
|
3382 |
+
var info = "".concat(hook, " hook");
|
3383 |
+
if (handlers) {
|
3384 |
+
for (var i = 0, j = handlers.length; i < j; i++) {
|
3385 |
+
invokeWithErrorHandling(handlers[i], vm, args || null, vm, info);
|
3386 |
+
}
|
3387 |
+
}
|
3388 |
+
if (vm._hasHookEvent) {
|
3389 |
+
vm.$emit('hook:' + hook);
|
3390 |
+
}
|
3391 |
+
setContext && setCurrentInstance(prev);
|
3392 |
+
popTarget();
|
3393 |
+
}
|
3394 |
+
|
3395 |
+
var MAX_UPDATE_COUNT = 100;
|
3396 |
+
var queue = [];
|
3397 |
+
var activatedChildren = [];
|
3398 |
+
var has = {};
|
3399 |
+
var circular = {};
|
3400 |
+
var waiting = false;
|
3401 |
+
var flushing = false;
|
3402 |
+
var index$1 = 0;
|
3403 |
+
/**
|
3404 |
+
* Reset the scheduler's state.
|
3405 |
+
*/
|
3406 |
+
function resetSchedulerState() {
|
3407 |
+
index$1 = queue.length = activatedChildren.length = 0;
|
3408 |
+
has = {};
|
3409 |
+
if (process.env.NODE_ENV !== 'production') {
|
3410 |
+
circular = {};
|
3411 |
+
}
|
3412 |
+
waiting = flushing = false;
|
3413 |
+
}
|
3414 |
+
// Async edge case #6566 requires saving the timestamp when event listeners are
|
3415 |
+
// attached. However, calling performance.now() has a perf overhead especially
|
3416 |
+
// if the page has thousands of event listeners. Instead, we take a timestamp
|
3417 |
+
// every time the scheduler flushes and use that for all event listeners
|
3418 |
+
// attached during that flush.
|
3419 |
+
var currentFlushTimestamp = 0;
|
3420 |
+
// Async edge case fix requires storing an event listener's attach timestamp.
|
3421 |
+
var getNow = Date.now;
|
3422 |
+
// Determine what event timestamp the browser is using. Annoyingly, the
|
3423 |
+
// timestamp can either be hi-res (relative to page load) or low-res
|
3424 |
+
// (relative to UNIX epoch), so in order to compare time we have to use the
|
3425 |
+
// same timestamp type when saving the flush timestamp.
|
3426 |
+
// All IE versions use low-res event timestamps, and have problematic clock
|
3427 |
+
// implementations (#9632)
|
3428 |
+
if (inBrowser && !isIE) {
|
3429 |
+
var performance_1 = window.performance;
|
3430 |
+
if (performance_1 &&
|
3431 |
+
typeof performance_1.now === 'function' &&
|
3432 |
+
getNow() > document.createEvent('Event').timeStamp) {
|
3433 |
+
// if the event timestamp, although evaluated AFTER the Date.now(), is
|
3434 |
+
// smaller than it, it means the event is using a hi-res timestamp,
|
3435 |
+
// and we need to use the hi-res version for event listener timestamps as
|
3436 |
+
// well.
|
3437 |
+
getNow = function () { return performance_1.now(); };
|
3438 |
+
}
|
3439 |
+
}
|
3440 |
+
var sortCompareFn = function (a, b) {
|
3441 |
+
if (a.post) {
|
3442 |
+
if (!b.post)
|
3443 |
+
return 1;
|
3444 |
+
}
|
3445 |
+
else if (b.post) {
|
3446 |
+
return -1;
|
3447 |
+
}
|
3448 |
+
return a.id - b.id;
|
3449 |
+
};
|
3450 |
+
/**
|
3451 |
+
* Flush both queues and run the watchers.
|
3452 |
+
*/
|
3453 |
+
function flushSchedulerQueue() {
|
3454 |
+
currentFlushTimestamp = getNow();
|
3455 |
+
flushing = true;
|
3456 |
+
var watcher, id;
|
3457 |
+
// Sort queue before flush.
|
3458 |
+
// This ensures that:
|
3459 |
+
// 1. Components are updated from parent to child. (because parent is always
|
3460 |
+
// created before the child)
|
3461 |
+
// 2. A component's user watchers are run before its render watcher (because
|
3462 |
+
// user watchers are created before the render watcher)
|
3463 |
+
// 3. If a component is destroyed during a parent component's watcher run,
|
3464 |
+
// its watchers can be skipped.
|
3465 |
+
queue.sort(sortCompareFn);
|
3466 |
+
// do not cache length because more watchers might be pushed
|
3467 |
+
// as we run existing watchers
|
3468 |
+
for (index$1 = 0; index$1 < queue.length; index$1++) {
|
3469 |
+
watcher = queue[index$1];
|
3470 |
+
if (watcher.before) {
|
3471 |
+
watcher.before();
|
3472 |
+
}
|
3473 |
+
id = watcher.id;
|
3474 |
+
has[id] = null;
|
3475 |
+
watcher.run();
|
3476 |
+
// in dev build, check and stop circular updates.
|
3477 |
+
if (process.env.NODE_ENV !== 'production' && has[id] != null) {
|
3478 |
+
circular[id] = (circular[id] || 0) + 1;
|
3479 |
+
if (circular[id] > MAX_UPDATE_COUNT) {
|
3480 |
+
warn$2('You may have an infinite update loop ' +
|
3481 |
+
(watcher.user
|
3482 |
+
? "in watcher with expression \"".concat(watcher.expression, "\"")
|
3483 |
+
: "in a component render function."), watcher.vm);
|
3484 |
+
break;
|
3485 |
+
}
|
3486 |
+
}
|
3487 |
+
}
|
3488 |
+
// keep copies of post queues before resetting state
|
3489 |
+
var activatedQueue = activatedChildren.slice();
|
3490 |
+
var updatedQueue = queue.slice();
|
3491 |
+
resetSchedulerState();
|
3492 |
+
// call component updated and activated hooks
|
3493 |
+
callActivatedHooks(activatedQueue);
|
3494 |
+
callUpdatedHooks(updatedQueue);
|
3495 |
+
// devtool hook
|
3496 |
+
/* istanbul ignore if */
|
3497 |
+
if (devtools && config.devtools) {
|
3498 |
+
devtools.emit('flush');
|
3499 |
+
}
|
3500 |
+
}
|
3501 |
+
function callUpdatedHooks(queue) {
|
3502 |
+
var i = queue.length;
|
3503 |
+
while (i--) {
|
3504 |
+
var watcher = queue[i];
|
3505 |
+
var vm = watcher.vm;
|
3506 |
+
if (vm && vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {
|
3507 |
+
callHook$1(vm, 'updated');
|
3508 |
+
}
|
3509 |
+
}
|
3510 |
+
}
|
3511 |
+
/**
|
3512 |
+
* Queue a kept-alive component that was activated during patch.
|
3513 |
+
* The queue will be processed after the entire tree has been patched.
|
3514 |
+
*/
|
3515 |
+
function queueActivatedComponent(vm) {
|
3516 |
+
// setting _inactive to false here so that a render function can
|
3517 |
+
// rely on checking whether it's in an inactive tree (e.g. router-view)
|
3518 |
+
vm._inactive = false;
|
3519 |
+
activatedChildren.push(vm);
|
3520 |
+
}
|
3521 |
+
function callActivatedHooks(queue) {
|
3522 |
+
for (var i = 0; i < queue.length; i++) {
|
3523 |
+
queue[i]._inactive = true;
|
3524 |
+
activateChildComponent(queue[i], true /* true */);
|
3525 |
+
}
|
3526 |
+
}
|
3527 |
+
/**
|
3528 |
+
* Push a watcher into the watcher queue.
|
3529 |
+
* Jobs with duplicate IDs will be skipped unless it's
|
3530 |
+
* pushed when the queue is being flushed.
|
3531 |
+
*/
|
3532 |
+
function queueWatcher(watcher) {
|
3533 |
+
var id = watcher.id;
|
3534 |
+
if (has[id] != null) {
|
3535 |
+
return;
|
3536 |
+
}
|
3537 |
+
if (watcher === Dep.target && watcher.noRecurse) {
|
3538 |
+
return;
|
3539 |
+
}
|
3540 |
+
has[id] = true;
|
3541 |
+
if (!flushing) {
|
3542 |
+
queue.push(watcher);
|
3543 |
+
}
|
3544 |
+
else {
|
3545 |
+
// if already flushing, splice the watcher based on its id
|
3546 |
+
// if already past its id, it will be run next immediately.
|
3547 |
+
var i = queue.length - 1;
|
3548 |
+
while (i > index$1 && queue[i].id > watcher.id) {
|
3549 |
+
i--;
|
3550 |
+
}
|
3551 |
+
queue.splice(i + 1, 0, watcher);
|
3552 |
+
}
|
3553 |
+
// queue the flush
|
3554 |
+
if (!waiting) {
|
3555 |
+
waiting = true;
|
3556 |
+
if (process.env.NODE_ENV !== 'production' && !config.async) {
|
3557 |
+
flushSchedulerQueue();
|
3558 |
+
return;
|
3559 |
+
}
|
3560 |
+
nextTick(flushSchedulerQueue);
|
3561 |
+
}
|
3562 |
+
}
|
3563 |
+
|
3564 |
+
var WATCHER = "watcher";
|
3565 |
+
var WATCHER_CB = "".concat(WATCHER, " callback");
|
3566 |
+
var WATCHER_GETTER = "".concat(WATCHER, " getter");
|
3567 |
+
var WATCHER_CLEANUP = "".concat(WATCHER, " cleanup");
|
3568 |
+
// Simple effect.
|
3569 |
+
function watchEffect(effect, options) {
|
3570 |
+
return doWatch(effect, null, options);
|
3571 |
+
}
|
3572 |
+
function watchPostEffect(effect, options) {
|
3573 |
+
return doWatch(effect, null, (process.env.NODE_ENV !== 'production'
|
3574 |
+
? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));
|
3575 |
+
}
|
3576 |
+
function watchSyncEffect(effect, options) {
|
3577 |
+
return doWatch(effect, null, (process.env.NODE_ENV !== 'production'
|
3578 |
+
? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));
|
3579 |
+
}
|
3580 |
+
// initial value for watchers to trigger on undefined initial values
|
3581 |
+
var INITIAL_WATCHER_VALUE = {};
|
3582 |
+
// implementation
|
3583 |
+
function watch(source, cb, options) {
|
3584 |
+
if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {
|
3585 |
+
warn$2("`watch(fn, options?)` signature has been moved to a separate API. " +
|
3586 |
+
"Use `watchEffect(fn, options?)` instead. `watch` now only " +
|
3587 |
+
"supports `watch(source, cb, options?) signature.");
|
3588 |
+
}
|
3589 |
+
return doWatch(source, cb, options);
|
3590 |
+
}
|
3591 |
+
function doWatch(source, cb, _a) {
|
3592 |
+
var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;
|
3593 |
+
if (process.env.NODE_ENV !== 'production' && !cb) {
|
3594 |
+
if (immediate !== undefined) {
|
3595 |
+
warn$2("watch() \"immediate\" option is only respected when using the " +
|
3596 |
+
"watch(source, callback, options?) signature.");
|
3597 |
+
}
|
3598 |
+
if (deep !== undefined) {
|
3599 |
+
warn$2("watch() \"deep\" option is only respected when using the " +
|
3600 |
+
"watch(source, callback, options?) signature.");
|
3601 |
+
}
|
3602 |
+
}
|
3603 |
+
var warnInvalidSource = function (s) {
|
3604 |
+
warn$2("Invalid watch source: ".concat(s, ". A watch source can only be a getter/effect ") +
|
3605 |
+
"function, a ref, a reactive object, or an array of these types.");
|
3606 |
+
};
|
3607 |
+
var instance = currentInstance;
|
3608 |
+
var call = function (fn, type, args) {
|
3609 |
+
if (args === void 0) { args = null; }
|
3610 |
+
return invokeWithErrorHandling(fn, null, args, instance, type);
|
3611 |
+
};
|
3612 |
+
var getter;
|
3613 |
+
var forceTrigger = false;
|
3614 |
+
var isMultiSource = false;
|
3615 |
+
if (isRef(source)) {
|
3616 |
+
getter = function () { return source.value; };
|
3617 |
+
forceTrigger = isShallow(source);
|
3618 |
+
}
|
3619 |
+
else if (isReactive(source)) {
|
3620 |
+
getter = function () {
|
3621 |
+
source.__ob__.dep.depend();
|
3622 |
+
return source;
|
3623 |
+
};
|
3624 |
+
deep = true;
|
3625 |
+
}
|
3626 |
+
else if (isArray(source)) {
|
3627 |
+
isMultiSource = true;
|
3628 |
+
forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });
|
3629 |
+
getter = function () {
|
3630 |
+
return source.map(function (s) {
|
3631 |
+
if (isRef(s)) {
|
3632 |
+
return s.value;
|
3633 |
+
}
|
3634 |
+
else if (isReactive(s)) {
|
3635 |
+
return traverse(s);
|
3636 |
+
}
|
3637 |
+
else if (isFunction(s)) {
|
3638 |
+
return call(s, WATCHER_GETTER);
|
3639 |
+
}
|
3640 |
+
else {
|
3641 |
+
process.env.NODE_ENV !== 'production' && warnInvalidSource(s);
|
3642 |
+
}
|
3643 |
+
});
|
3644 |
+
};
|
3645 |
+
}
|
3646 |
+
else if (isFunction(source)) {
|
3647 |
+
if (cb) {
|
3648 |
+
// getter with cb
|
3649 |
+
getter = function () { return call(source, WATCHER_GETTER); };
|
3650 |
+
}
|
3651 |
+
else {
|
3652 |
+
// no cb -> simple effect
|
3653 |
+
getter = function () {
|
3654 |
+
if (instance && instance._isDestroyed) {
|
3655 |
+
return;
|
3656 |
+
}
|
3657 |
+
if (cleanup) {
|
3658 |
+
cleanup();
|
3659 |
+
}
|
3660 |
+
return call(source, WATCHER, [onCleanup]);
|
3661 |
+
};
|
3662 |
+
}
|
3663 |
+
}
|
3664 |
+
else {
|
3665 |
+
getter = noop;
|
3666 |
+
process.env.NODE_ENV !== 'production' && warnInvalidSource(source);
|
3667 |
+
}
|
3668 |
+
if (cb && deep) {
|
3669 |
+
var baseGetter_1 = getter;
|
3670 |
+
getter = function () { return traverse(baseGetter_1()); };
|
3671 |
+
}
|
3672 |
+
var cleanup;
|
3673 |
+
var onCleanup = function (fn) {
|
3674 |
+
cleanup = watcher.onStop = function () {
|
3675 |
+
call(fn, WATCHER_CLEANUP);
|
3676 |
+
};
|
3677 |
+
};
|
3678 |
+
// in SSR there is no need to setup an actual effect, and it should be noop
|
3679 |
+
// unless it's eager
|
3680 |
+
if (isServerRendering()) {
|
3681 |
+
// we will also not call the invalidate callback (+ runner is not set up)
|
3682 |
+
onCleanup = noop;
|
3683 |
+
if (!cb) {
|
3684 |
+
getter();
|
3685 |
+
}
|
3686 |
+
else if (immediate) {
|
3687 |
+
call(cb, WATCHER_CB, [
|
3688 |
+
getter(),
|
3689 |
+
isMultiSource ? [] : undefined,
|
3690 |
+
onCleanup
|
3691 |
+
]);
|
3692 |
+
}
|
3693 |
+
return noop;
|
3694 |
+
}
|
3695 |
+
var watcher = new Watcher(currentInstance, getter, noop, {
|
3696 |
+
lazy: true
|
3697 |
+
});
|
3698 |
+
watcher.noRecurse = !cb;
|
3699 |
+
var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;
|
3700 |
+
// overwrite default run
|
3701 |
+
watcher.run = function () {
|
3702 |
+
if (!watcher.active) {
|
3703 |
+
return;
|
3704 |
+
}
|
3705 |
+
if (cb) {
|
3706 |
+
// watch(source, cb)
|
3707 |
+
var newValue = watcher.get();
|
3708 |
+
if (deep ||
|
3709 |
+
forceTrigger ||
|
3710 |
+
(isMultiSource
|
3711 |
+
? newValue.some(function (v, i) {
|
3712 |
+
return hasChanged(v, oldValue[i]);
|
3713 |
+
})
|
3714 |
+
: hasChanged(newValue, oldValue))) {
|
3715 |
+
// cleanup before running cb again
|
3716 |
+
if (cleanup) {
|
3717 |
+
cleanup();
|
3718 |
+
}
|
3719 |
+
call(cb, WATCHER_CB, [
|
3720 |
+
newValue,
|
3721 |
+
// pass undefined as the old value when it's changed for the first time
|
3722 |
+
oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,
|
3723 |
+
onCleanup
|
3724 |
+
]);
|
3725 |
+
oldValue = newValue;
|
3726 |
+
}
|
3727 |
+
}
|
3728 |
+
else {
|
3729 |
+
// watchEffect
|
3730 |
+
watcher.get();
|
3731 |
+
}
|
3732 |
+
};
|
3733 |
+
if (flush === 'sync') {
|
3734 |
+
watcher.update = watcher.run;
|
3735 |
+
}
|
3736 |
+
else if (flush === 'post') {
|
3737 |
+
watcher.post = true;
|
3738 |
+
watcher.update = function () { return queueWatcher(watcher); };
|
3739 |
+
}
|
3740 |
+
else {
|
3741 |
+
// pre
|
3742 |
+
watcher.update = function () {
|
3743 |
+
if (instance && instance === currentInstance && !instance._isMounted) {
|
3744 |
+
// pre-watcher triggered before
|
3745 |
+
var buffer = instance._preWatchers || (instance._preWatchers = []);
|
3746 |
+
if (buffer.indexOf(watcher) < 0)
|
3747 |
+
buffer.push(watcher);
|
3748 |
+
}
|
3749 |
+
else {
|
3750 |
+
queueWatcher(watcher);
|
3751 |
+
}
|
3752 |
+
};
|
3753 |
+
}
|
3754 |
+
if (process.env.NODE_ENV !== 'production') {
|
3755 |
+
watcher.onTrack = onTrack;
|
3756 |
+
watcher.onTrigger = onTrigger;
|
3757 |
+
}
|
3758 |
+
// initial run
|
3759 |
+
if (cb) {
|
3760 |
+
if (immediate) {
|
3761 |
+
watcher.run();
|
3762 |
+
}
|
3763 |
+
else {
|
3764 |
+
oldValue = watcher.get();
|
3765 |
+
}
|
3766 |
+
}
|
3767 |
+
else if (flush === 'post' && instance) {
|
3768 |
+
instance.$once('hook:mounted', function () { return watcher.get(); });
|
3769 |
+
}
|
3770 |
+
else {
|
3771 |
+
watcher.get();
|
3772 |
+
}
|
3773 |
+
return function () {
|
3774 |
+
watcher.teardown();
|
3775 |
+
};
|
3776 |
+
}
|
3777 |
+
|
3778 |
+
var activeEffectScope;
|
3779 |
+
var EffectScope = /** @class */ (function () {
|
3780 |
+
function EffectScope(detached) {
|
3781 |
+
if (detached === void 0) { detached = false; }
|
3782 |
+
/**
|
3783 |
+
* @internal
|
3784 |
+
*/
|
3785 |
+
this.active = true;
|
3786 |
+
/**
|
3787 |
+
* @internal
|
3788 |
+
*/
|
3789 |
+
this.effects = [];
|
3790 |
+
/**
|
3791 |
+
* @internal
|
3792 |
+
*/
|
3793 |
+
this.cleanups = [];
|
3794 |
+
if (!detached && activeEffectScope) {
|
3795 |
+
this.parent = activeEffectScope;
|
3796 |
+
this.index =
|
3797 |
+
(activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
|
3798 |
+
}
|
3799 |
+
}
|
3800 |
+
EffectScope.prototype.run = function (fn) {
|
3801 |
+
if (this.active) {
|
3802 |
+
var currentEffectScope = activeEffectScope;
|
3803 |
+
try {
|
3804 |
+
activeEffectScope = this;
|
3805 |
+
return fn();
|
3806 |
+
}
|
3807 |
+
finally {
|
3808 |
+
activeEffectScope = currentEffectScope;
|
3809 |
+
}
|
3810 |
+
}
|
3811 |
+
else if (process.env.NODE_ENV !== 'production') {
|
3812 |
+
warn$2("cannot run an inactive effect scope.");
|
3813 |
+
}
|
3814 |
+
};
|
3815 |
+
/**
|
3816 |
+
* This should only be called on non-detached scopes
|
3817 |
+
* @internal
|
3818 |
+
*/
|
3819 |
+
EffectScope.prototype.on = function () {
|
3820 |
+
activeEffectScope = this;
|
3821 |
+
};
|
3822 |
+
/**
|
3823 |
+
* This should only be called on non-detached scopes
|
3824 |
+
* @internal
|
3825 |
+
*/
|
3826 |
+
EffectScope.prototype.off = function () {
|
3827 |
+
activeEffectScope = this.parent;
|
3828 |
+
};
|
3829 |
+
EffectScope.prototype.stop = function (fromParent) {
|
3830 |
+
if (this.active) {
|
3831 |
+
var i = void 0, l = void 0;
|
3832 |
+
for (i = 0, l = this.effects.length; i < l; i++) {
|
3833 |
+
this.effects[i].teardown();
|
3834 |
+
}
|
3835 |
+
for (i = 0, l = this.cleanups.length; i < l; i++) {
|
3836 |
+
this.cleanups[i]();
|
3837 |
+
}
|
3838 |
+
if (this.scopes) {
|
3839 |
+
for (i = 0, l = this.scopes.length; i < l; i++) {
|
3840 |
+
this.scopes[i].stop(true);
|
3841 |
+
}
|
3842 |
+
}
|
3843 |
+
// nested scope, dereference from parent to avoid memory leaks
|
3844 |
+
if (this.parent && !fromParent) {
|
3845 |
+
// optimized O(1) removal
|
3846 |
+
var last = this.parent.scopes.pop();
|
3847 |
+
if (last && last !== this) {
|
3848 |
+
this.parent.scopes[this.index] = last;
|
3849 |
+
last.index = this.index;
|
3850 |
+
}
|
3851 |
+
}
|
3852 |
+
this.active = false;
|
3853 |
+
}
|
3854 |
+
};
|
3855 |
+
return EffectScope;
|
3856 |
+
}());
|
3857 |
+
function effectScope(detached) {
|
3858 |
+
return new EffectScope(detached);
|
3859 |
+
}
|
3860 |
+
/**
|
3861 |
+
* @internal
|
3862 |
+
*/
|
3863 |
+
function recordEffectScope(effect, scope) {
|
3864 |
+
if (scope === void 0) { scope = activeEffectScope; }
|
3865 |
+
if (scope && scope.active) {
|
3866 |
+
scope.effects.push(effect);
|
3867 |
+
}
|
3868 |
+
}
|
3869 |
+
function getCurrentScope() {
|
3870 |
+
return activeEffectScope;
|
3871 |
+
}
|
3872 |
+
function onScopeDispose(fn) {
|
3873 |
+
if (activeEffectScope) {
|
3874 |
+
activeEffectScope.cleanups.push(fn);
|
3875 |
+
}
|
3876 |
+
else if (process.env.NODE_ENV !== 'production') {
|
3877 |
+
warn$2("onScopeDispose() is called when there is no active effect scope" +
|
3878 |
+
" to be associated with.");
|
3879 |
+
}
|
3880 |
+
}
|
3881 |
+
|
3882 |
+
function provide(key, value) {
|
3883 |
+
if (!currentInstance) {
|
3884 |
+
if (process.env.NODE_ENV !== 'production') {
|
3885 |
+
warn$2("provide() can only be used inside setup().");
|
3886 |
+
}
|
3887 |
+
}
|
3888 |
+
else {
|
3889 |
+
// TS doesn't allow symbol as index type
|
3890 |
+
resolveProvided(currentInstance)[key] = value;
|
3891 |
+
}
|
3892 |
+
}
|
3893 |
+
function resolveProvided(vm) {
|
3894 |
+
// by default an instance inherits its parent's provides object
|
3895 |
+
// but when it needs to provide values of its own, it creates its
|
3896 |
+
// own provides object using parent provides object as prototype.
|
3897 |
+
// this way in `inject` we can simply look up injections from direct
|
3898 |
+
// parent and let the prototype chain do the work.
|
3899 |
+
var existing = vm._provided;
|
3900 |
+
var parentProvides = vm.$parent && vm.$parent._provided;
|
3901 |
+
if (parentProvides === existing) {
|
3902 |
+
return (vm._provided = Object.create(parentProvides));
|
3903 |
+
}
|
3904 |
+
else {
|
3905 |
+
return existing;
|
3906 |
+
}
|
3907 |
+
}
|
3908 |
+
function inject(key, defaultValue, treatDefaultAsFactory) {
|
3909 |
+
if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }
|
3910 |
+
// fallback to `currentRenderingInstance` so that this can be called in
|
3911 |
+
// a functional component
|
3912 |
+
var instance = currentInstance;
|
3913 |
+
if (instance) {
|
3914 |
+
// #2400
|
3915 |
+
// to support `app.use` plugins,
|
3916 |
+
// fallback to appContext's `provides` if the instance is at root
|
3917 |
+
var provides = instance.$parent && instance.$parent._provided;
|
3918 |
+
if (provides && key in provides) {
|
3919 |
+
// TS doesn't allow symbol as index type
|
3920 |
+
return provides[key];
|
3921 |
+
}
|
3922 |
+
else if (arguments.length > 1) {
|
3923 |
+
return treatDefaultAsFactory && isFunction(defaultValue)
|
3924 |
+
? defaultValue.call(instance)
|
3925 |
+
: defaultValue;
|
3926 |
+
}
|
3927 |
+
else if (process.env.NODE_ENV !== 'production') {
|
3928 |
+
warn$2("injection \"".concat(String(key), "\" not found."));
|
3929 |
+
}
|
3930 |
+
}
|
3931 |
+
else if (process.env.NODE_ENV !== 'production') {
|
3932 |
+
warn$2("inject() can only be used inside setup() or functional components.");
|
3933 |
+
}
|
3934 |
+
}
|
3935 |
+
|
3936 |
+
/**
|
3937 |
+
* @internal this function needs manual public type declaration because it relies
|
3938 |
+
* on previously manually authored types from Vue 2
|
3939 |
+
*/
|
3940 |
+
function h(type, props, children) {
|
3941 |
+
if (!currentInstance) {
|
3942 |
+
process.env.NODE_ENV !== 'production' &&
|
3943 |
+
warn$2("globally imported h() can only be invoked when there is an active " +
|
3944 |
+
"component instance, e.g. synchronously in a component's render or setup function.");
|
3945 |
+
}
|
3946 |
+
return createElement$1(currentInstance, type, props, children, 2, true);
|
3947 |
+
}
|
3948 |
+
|
3949 |
+
function handleError(err, vm, info) {
|
3950 |
+
// Deactivate deps tracking while processing error handler to avoid possible infinite rendering.
|
3951 |
+
// See: https://github.com/vuejs/vuex/issues/1505
|
3952 |
+
pushTarget();
|
3953 |
+
try {
|
3954 |
+
if (vm) {
|
3955 |
+
var cur = vm;
|
3956 |
+
while ((cur = cur.$parent)) {
|
3957 |
+
var hooks = cur.$options.errorCaptured;
|
3958 |
+
if (hooks) {
|
3959 |
+
for (var i = 0; i < hooks.length; i++) {
|
3960 |
+
try {
|
3961 |
+
var capture = hooks[i].call(cur, err, vm, info) === false;
|
3962 |
+
if (capture)
|
3963 |
+
return;
|
3964 |
+
}
|
3965 |
+
catch (e) {
|
3966 |
+
globalHandleError(e, cur, 'errorCaptured hook');
|
3967 |
+
}
|
3968 |
+
}
|
3969 |
+
}
|
3970 |
+
}
|
3971 |
+
}
|
3972 |
+
globalHandleError(err, vm, info);
|
3973 |
+
}
|
3974 |
+
finally {
|
3975 |
+
popTarget();
|
3976 |
+
}
|
3977 |
+
}
|
3978 |
+
function invokeWithErrorHandling(handler, context, args, vm, info) {
|
3979 |
+
var res;
|
3980 |
+
try {
|
3981 |
+
res = args ? handler.apply(context, args) : handler.call(context);
|
3982 |
+
if (res && !res._isVue && isPromise(res) && !res._handled) {
|
3983 |
+
res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });
|
3984 |
+
res._handled = true;
|
3985 |
+
}
|
3986 |
+
}
|
3987 |
+
catch (e) {
|
3988 |
+
handleError(e, vm, info);
|
3989 |
+
}
|
3990 |
+
return res;
|
3991 |
+
}
|
3992 |
+
function globalHandleError(err, vm, info) {
|
3993 |
+
if (config.errorHandler) {
|
3994 |
+
try {
|
3995 |
+
return config.errorHandler.call(null, err, vm, info);
|
3996 |
+
}
|
3997 |
+
catch (e) {
|
3998 |
+
// if the user intentionally throws the original error in the handler,
|
3999 |
+
// do not log it twice
|
4000 |
+
if (e !== err) {
|
4001 |
+
logError(e, null, 'config.errorHandler');
|
4002 |
+
}
|
4003 |
+
}
|
4004 |
+
}
|
4005 |
+
logError(err, vm, info);
|
4006 |
+
}
|
4007 |
+
function logError(err, vm, info) {
|
4008 |
+
if (process.env.NODE_ENV !== 'production') {
|
4009 |
+
warn$2("Error in ".concat(info, ": \"").concat(err.toString(), "\""), vm);
|
4010 |
+
}
|
4011 |
+
/* istanbul ignore else */
|
4012 |
+
if (inBrowser && typeof console !== 'undefined') {
|
4013 |
+
console.error(err);
|
4014 |
+
}
|
4015 |
+
else {
|
4016 |
+
throw err;
|
4017 |
+
}
|
4018 |
+
}
|
4019 |
+
|
4020 |
+
/* globals MutationObserver */
|
4021 |
+
var isUsingMicroTask = false;
|
4022 |
+
var callbacks = [];
|
4023 |
+
var pending = false;
|
4024 |
+
function flushCallbacks() {
|
4025 |
+
pending = false;
|
4026 |
+
var copies = callbacks.slice(0);
|
4027 |
+
callbacks.length = 0;
|
4028 |
+
for (var i = 0; i < copies.length; i++) {
|
4029 |
+
copies[i]();
|
4030 |
+
}
|
4031 |
+
}
|
4032 |
+
// Here we have async deferring wrappers using microtasks.
|
4033 |
+
// In 2.5 we used (macro) tasks (in combination with microtasks).
|
4034 |
+
// However, it has subtle problems when state is changed right before repaint
|
4035 |
+
// (e.g. #6813, out-in transitions).
|
4036 |
+
// Also, using (macro) tasks in event handler would cause some weird behaviors
|
4037 |
+
// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).
|
4038 |
+
// So we now use microtasks everywhere, again.
|
4039 |
+
// A major drawback of this tradeoff is that there are some scenarios
|
4040 |
+
// where microtasks have too high a priority and fire in between supposedly
|
4041 |
+
// sequential events (e.g. #4521, #6690, which have workarounds)
|
4042 |
+
// or even between bubbling of the same event (#6566).
|
4043 |
+
var timerFunc;
|
4044 |
+
// The nextTick behavior leverages the microtask queue, which can be accessed
|
4045 |
+
// via either native Promise.then or MutationObserver.
|
4046 |
+
// MutationObserver has wider support, however it is seriously bugged in
|
4047 |
+
// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
|
4048 |
+
// completely stops working after triggering a few times... so, if native
|
4049 |
+
// Promise is available, we will use it:
|
4050 |
+
/* istanbul ignore next, $flow-disable-line */
|
4051 |
+
if (typeof Promise !== 'undefined' && isNative(Promise)) {
|
4052 |
+
var p_1 = Promise.resolve();
|
4053 |
+
timerFunc = function () {
|
4054 |
+
p_1.then(flushCallbacks);
|
4055 |
+
// In problematic UIWebViews, Promise.then doesn't completely break, but
|
4056 |
+
// it can get stuck in a weird state where callbacks are pushed into the
|
4057 |
+
// microtask queue but the queue isn't being flushed, until the browser
|
4058 |
+
// needs to do some other work, e.g. handle a timer. Therefore we can
|
4059 |
+
// "force" the microtask queue to be flushed by adding an empty timer.
|
4060 |
+
if (isIOS)
|
4061 |
+
setTimeout(noop);
|
4062 |
+
};
|
4063 |
+
isUsingMicroTask = true;
|
4064 |
+
}
|
4065 |
+
else if (!isIE &&
|
4066 |
+
typeof MutationObserver !== 'undefined' &&
|
4067 |
+
(isNative(MutationObserver) ||
|
4068 |
+
// PhantomJS and iOS 7.x
|
4069 |
+
MutationObserver.toString() === '[object MutationObserverConstructor]')) {
|
4070 |
+
// Use MutationObserver where native Promise is not available,
|
4071 |
+
// e.g. PhantomJS, iOS7, Android 4.4
|
4072 |
+
// (#6466 MutationObserver is unreliable in IE11)
|
4073 |
+
var counter_1 = 1;
|
4074 |
+
var observer = new MutationObserver(flushCallbacks);
|
4075 |
+
var textNode_1 = document.createTextNode(String(counter_1));
|
4076 |
+
observer.observe(textNode_1, {
|
4077 |
+
characterData: true
|
4078 |
+
});
|
4079 |
+
timerFunc = function () {
|
4080 |
+
counter_1 = (counter_1 + 1) % 2;
|
4081 |
+
textNode_1.data = String(counter_1);
|
4082 |
+
};
|
4083 |
+
isUsingMicroTask = true;
|
4084 |
+
}
|
4085 |
+
else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
|
4086 |
+
// Fallback to setImmediate.
|
4087 |
+
// Technically it leverages the (macro) task queue,
|
4088 |
+
// but it is still a better choice than setTimeout.
|
4089 |
+
timerFunc = function () {
|
4090 |
+
setImmediate(flushCallbacks);
|
4091 |
+
};
|
4092 |
+
}
|
4093 |
+
else {
|
4094 |
+
// Fallback to setTimeout.
|
4095 |
+
timerFunc = function () {
|
4096 |
+
setTimeout(flushCallbacks, 0);
|
4097 |
+
};
|
4098 |
+
}
|
4099 |
+
/**
|
4100 |
+
* @internal
|
4101 |
+
*/
|
4102 |
+
function nextTick(cb, ctx) {
|
4103 |
+
var _resolve;
|
4104 |
+
callbacks.push(function () {
|
4105 |
+
if (cb) {
|
4106 |
+
try {
|
4107 |
+
cb.call(ctx);
|
4108 |
+
}
|
4109 |
+
catch (e) {
|
4110 |
+
handleError(e, ctx, 'nextTick');
|
4111 |
+
}
|
4112 |
+
}
|
4113 |
+
else if (_resolve) {
|
4114 |
+
_resolve(ctx);
|
4115 |
+
}
|
4116 |
+
});
|
4117 |
+
if (!pending) {
|
4118 |
+
pending = true;
|
4119 |
+
timerFunc();
|
4120 |
+
}
|
4121 |
+
// $flow-disable-line
|
4122 |
+
if (!cb && typeof Promise !== 'undefined') {
|
4123 |
+
return new Promise(function (resolve) {
|
4124 |
+
_resolve = resolve;
|
4125 |
+
});
|
4126 |
+
}
|
4127 |
+
}
|
4128 |
+
|
4129 |
+
function useCssModule(name) {
|
4130 |
+
if (name === void 0) { name = '$style'; }
|
4131 |
+
/* istanbul ignore else */
|
4132 |
+
{
|
4133 |
+
if (!currentInstance) {
|
4134 |
+
process.env.NODE_ENV !== 'production' && warn$2("useCssModule must be called inside setup()");
|
4135 |
+
return emptyObject;
|
4136 |
+
}
|
4137 |
+
var mod = currentInstance[name];
|
4138 |
+
if (!mod) {
|
4139 |
+
process.env.NODE_ENV !== 'production' &&
|
4140 |
+
warn$2("Current instance does not have CSS module named \"".concat(name, "\"."));
|
4141 |
+
return emptyObject;
|
4142 |
+
}
|
4143 |
+
return mod;
|
4144 |
+
}
|
4145 |
+
}
|
4146 |
+
|
4147 |
+
/**
|
4148 |
+
* Runtime helper for SFC's CSS variable injection feature.
|
4149 |
+
* @private
|
4150 |
+
*/
|
4151 |
+
function useCssVars(getter) {
|
4152 |
+
if (!inBrowser && !false)
|
4153 |
+
return;
|
4154 |
+
var instance = currentInstance;
|
4155 |
+
if (!instance) {
|
4156 |
+
process.env.NODE_ENV !== 'production' &&
|
4157 |
+
warn$2("useCssVars is called without current active component instance.");
|
4158 |
+
return;
|
4159 |
+
}
|
4160 |
+
watchPostEffect(function () {
|
4161 |
+
var el = instance.$el;
|
4162 |
+
var vars = getter(instance, instance._setupProxy);
|
4163 |
+
if (el && el.nodeType === 1) {
|
4164 |
+
var style = el.style;
|
4165 |
+
for (var key in vars) {
|
4166 |
+
style.setProperty("--".concat(key), vars[key]);
|
4167 |
+
}
|
4168 |
+
}
|
4169 |
+
});
|
4170 |
+
}
|
4171 |
+
|
4172 |
+
/**
|
4173 |
+
* v3-compatible async component API.
|
4174 |
+
* @internal the type is manually declared in <root>/types/v3-define-async-component.d.ts
|
4175 |
+
* because it relies on existing manual types
|
4176 |
+
*/
|
4177 |
+
function defineAsyncComponent(source) {
|
4178 |
+
if (isFunction(source)) {
|
4179 |
+
source = { loader: source };
|
4180 |
+
}
|
4181 |
+
var loader = source.loader, loadingComponent = source.loadingComponent, errorComponent = source.errorComponent, _a = source.delay, delay = _a === void 0 ? 200 : _a, timeout = source.timeout, // undefined = never times out
|
4182 |
+
_b = source.suspensible, // undefined = never times out
|
4183 |
+
suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true
|
4184 |
+
userOnError = source.onError;
|
4185 |
+
if (process.env.NODE_ENV !== 'production' && suspensible) {
|
4186 |
+
warn$2("The suspensiblbe option for async components is not supported in Vue2. It is ignored.");
|
4187 |
+
}
|
4188 |
+
var pendingRequest = null;
|
4189 |
+
var retries = 0;
|
4190 |
+
var retry = function () {
|
4191 |
+
retries++;
|
4192 |
+
pendingRequest = null;
|
4193 |
+
return load();
|
4194 |
+
};
|
4195 |
+
var load = function () {
|
4196 |
+
var thisRequest;
|
4197 |
+
return (pendingRequest ||
|
4198 |
+
(thisRequest = pendingRequest =
|
4199 |
+
loader()
|
4200 |
+
.catch(function (err) {
|
4201 |
+
err = err instanceof Error ? err : new Error(String(err));
|
4202 |
+
if (userOnError) {
|
4203 |
+
return new Promise(function (resolve, reject) {
|
4204 |
+
var userRetry = function () { return resolve(retry()); };
|
4205 |
+
var userFail = function () { return reject(err); };
|
4206 |
+
userOnError(err, userRetry, userFail, retries + 1);
|
4207 |
+
});
|
4208 |
+
}
|
4209 |
+
else {
|
4210 |
+
throw err;
|
4211 |
+
}
|
4212 |
+
})
|
4213 |
+
.then(function (comp) {
|
4214 |
+
if (thisRequest !== pendingRequest && pendingRequest) {
|
4215 |
+
return pendingRequest;
|
4216 |
+
}
|
4217 |
+
if (process.env.NODE_ENV !== 'production' && !comp) {
|
4218 |
+
warn$2("Async component loader resolved to undefined. " +
|
4219 |
+
"If you are using retry(), make sure to return its return value.");
|
4220 |
+
}
|
4221 |
+
// interop module default
|
4222 |
+
if (comp &&
|
4223 |
+
(comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {
|
4224 |
+
comp = comp.default;
|
4225 |
+
}
|
4226 |
+
if (process.env.NODE_ENV !== 'production' && comp && !isObject(comp) && !isFunction(comp)) {
|
4227 |
+
throw new Error("Invalid async component load result: ".concat(comp));
|
4228 |
+
}
|
4229 |
+
return comp;
|
4230 |
+
})));
|
4231 |
+
};
|
4232 |
+
return function () {
|
4233 |
+
var component = load();
|
4234 |
+
return {
|
4235 |
+
component: component,
|
4236 |
+
delay: delay,
|
4237 |
+
timeout: timeout,
|
4238 |
+
error: errorComponent,
|
4239 |
+
loading: loadingComponent
|
4240 |
+
};
|
4241 |
+
};
|
4242 |
+
}
|
4243 |
+
|
4244 |
+
function createLifeCycle(hookName) {
|
4245 |
+
return function (fn, target) {
|
4246 |
+
if (target === void 0) { target = currentInstance; }
|
4247 |
+
if (!target) {
|
4248 |
+
process.env.NODE_ENV !== 'production' &&
|
4249 |
+
warn$2("".concat(formatName(hookName), " is called when there is no active component instance to be ") +
|
4250 |
+
"associated with. " +
|
4251 |
+
"Lifecycle injection APIs can only be used during execution of setup().");
|
4252 |
+
return;
|
4253 |
+
}
|
4254 |
+
return injectHook(target, hookName, fn);
|
4255 |
+
};
|
4256 |
+
}
|
4257 |
+
function formatName(name) {
|
4258 |
+
if (name === 'beforeDestroy') {
|
4259 |
+
name = 'beforeUnmount';
|
4260 |
+
}
|
4261 |
+
else if (name === 'destroyed') {
|
4262 |
+
name = 'unmounted';
|
4263 |
+
}
|
4264 |
+
return "on".concat(name[0].toUpperCase() + name.slice(1));
|
4265 |
+
}
|
4266 |
+
function injectHook(instance, hookName, fn) {
|
4267 |
+
var options = instance.$options;
|
4268 |
+
options[hookName] = mergeLifecycleHook(options[hookName], fn);
|
4269 |
+
}
|
4270 |
+
var onBeforeMount = createLifeCycle('beforeMount');
|
4271 |
+
var onMounted = createLifeCycle('mounted');
|
4272 |
+
var onBeforeUpdate = createLifeCycle('beforeUpdate');
|
4273 |
+
var onUpdated = createLifeCycle('updated');
|
4274 |
+
var onBeforeUnmount = createLifeCycle('beforeDestroy');
|
4275 |
+
var onUnmounted = createLifeCycle('destroyed');
|
4276 |
+
var onActivated = createLifeCycle('activated');
|
4277 |
+
var onDeactivated = createLifeCycle('deactivated');
|
4278 |
+
var onServerPrefetch = createLifeCycle('serverPrefetch');
|
4279 |
+
var onRenderTracked = createLifeCycle('renderTracked');
|
4280 |
+
var onRenderTriggered = createLifeCycle('renderTriggered');
|
4281 |
+
var injectErrorCapturedHook = createLifeCycle('errorCaptured');
|
4282 |
+
function onErrorCaptured(hook, target) {
|
4283 |
+
if (target === void 0) { target = currentInstance; }
|
4284 |
+
injectErrorCapturedHook(hook, target);
|
4285 |
+
}
|
4286 |
+
|
4287 |
+
/**
|
4288 |
+
* Note: also update dist/vue.runtime.mjs when adding new exports to this file.
|
4289 |
+
*/
|
4290 |
+
var version = '2.7.10';
|
4291 |
+
/**
|
4292 |
+
* @internal type is manually declared in <root>/types/v3-define-component.d.ts
|
4293 |
+
*/
|
4294 |
+
function defineComponent(options) {
|
4295 |
+
return options;
|
4296 |
+
}
|
4297 |
+
|
4298 |
+
var seenObjects = new _Set();
|
4299 |
+
/**
|
4300 |
+
* Recursively traverse an object to evoke all converted
|
4301 |
+
* getters, so that every nested property inside the object
|
4302 |
+
* is collected as a "deep" dependency.
|
4303 |
+
*/
|
4304 |
+
function traverse(val) {
|
4305 |
+
_traverse(val, seenObjects);
|
4306 |
+
seenObjects.clear();
|
4307 |
+
return val;
|
4308 |
+
}
|
4309 |
+
function _traverse(val, seen) {
|
4310 |
+
var i, keys;
|
4311 |
+
var isA = isArray(val);
|
4312 |
+
if ((!isA && !isObject(val)) ||
|
4313 |
+
Object.isFrozen(val) ||
|
4314 |
+
val instanceof VNode) {
|
4315 |
+
return;
|
4316 |
+
}
|
4317 |
+
if (val.__ob__) {
|
4318 |
+
var depId = val.__ob__.dep.id;
|
4319 |
+
if (seen.has(depId)) {
|
4320 |
+
return;
|
4321 |
+
}
|
4322 |
+
seen.add(depId);
|
4323 |
+
}
|
4324 |
+
if (isA) {
|
4325 |
+
i = val.length;
|
4326 |
+
while (i--)
|
4327 |
+
_traverse(val[i], seen);
|
4328 |
+
}
|
4329 |
+
else if (isRef(val)) {
|
4330 |
+
_traverse(val.value, seen);
|
4331 |
+
}
|
4332 |
+
else {
|
4333 |
+
keys = Object.keys(val);
|
4334 |
+
i = keys.length;
|
4335 |
+
while (i--)
|
4336 |
+
_traverse(val[keys[i]], seen);
|
4337 |
+
}
|
4338 |
+
}
|
4339 |
+
|
4340 |
+
var uid$1 = 0;
|
4341 |
+
/**
|
4342 |
+
* A watcher parses an expression, collects dependencies,
|
4343 |
+
* and fires callback when the expression value changes.
|
4344 |
+
* This is used for both the $watch() api and directives.
|
4345 |
+
* @internal
|
4346 |
+
*/
|
4347 |
+
var Watcher = /** @class */ (function () {
|
4348 |
+
function Watcher(vm, expOrFn, cb, options, isRenderWatcher) {
|
4349 |
+
recordEffectScope(this,
|
4350 |
+
// if the active effect scope is manually created (not a component scope),
|
4351 |
+
// prioritize it
|
4352 |
+
activeEffectScope && !activeEffectScope._vm
|
4353 |
+
? activeEffectScope
|
4354 |
+
: vm
|
4355 |
+
? vm._scope
|
4356 |
+
: undefined);
|
4357 |
+
if ((this.vm = vm) && isRenderWatcher) {
|
4358 |
+
vm._watcher = this;
|
4359 |
+
}
|
4360 |
+
// options
|
4361 |
+
if (options) {
|
4362 |
+
this.deep = !!options.deep;
|
4363 |
+
this.user = !!options.user;
|
4364 |
+
this.lazy = !!options.lazy;
|
4365 |
+
this.sync = !!options.sync;
|
4366 |
+
this.before = options.before;
|
4367 |
+
if (process.env.NODE_ENV !== 'production') {
|
4368 |
+
this.onTrack = options.onTrack;
|
4369 |
+
this.onTrigger = options.onTrigger;
|
4370 |
+
}
|
4371 |
+
}
|
4372 |
+
else {
|
4373 |
+
this.deep = this.user = this.lazy = this.sync = false;
|
4374 |
+
}
|
4375 |
+
this.cb = cb;
|
4376 |
+
this.id = ++uid$1; // uid for batching
|
4377 |
+
this.active = true;
|
4378 |
+
this.post = false;
|
4379 |
+
this.dirty = this.lazy; // for lazy watchers
|
4380 |
+
this.deps = [];
|
4381 |
+
this.newDeps = [];
|
4382 |
+
this.depIds = new _Set();
|
4383 |
+
this.newDepIds = new _Set();
|
4384 |
+
this.expression = process.env.NODE_ENV !== 'production' ? expOrFn.toString() : '';
|
4385 |
+
// parse expression for getter
|
4386 |
+
if (isFunction(expOrFn)) {
|
4387 |
+
this.getter = expOrFn;
|
4388 |
+
}
|
4389 |
+
else {
|
4390 |
+
this.getter = parsePath(expOrFn);
|
4391 |
+
if (!this.getter) {
|
4392 |
+
this.getter = noop;
|
4393 |
+
process.env.NODE_ENV !== 'production' &&
|
4394 |
+
warn$2("Failed watching path: \"".concat(expOrFn, "\" ") +
|
4395 |
+
'Watcher only accepts simple dot-delimited paths. ' +
|
4396 |
+
'For full control, use a function instead.', vm);
|
4397 |
+
}
|
4398 |
+
}
|
4399 |
+
this.value = this.lazy ? undefined : this.get();
|
4400 |
+
}
|
4401 |
+
/**
|
4402 |
+
* Evaluate the getter, and re-collect dependencies.
|
4403 |
+
*/
|
4404 |
+
Watcher.prototype.get = function () {
|
4405 |
+
pushTarget(this);
|
4406 |
+
var value;
|
4407 |
+
var vm = this.vm;
|
4408 |
+
try {
|
4409 |
+
value = this.getter.call(vm, vm);
|
4410 |
+
}
|
4411 |
+
catch (e) {
|
4412 |
+
if (this.user) {
|
4413 |
+
handleError(e, vm, "getter for watcher \"".concat(this.expression, "\""));
|
4414 |
+
}
|
4415 |
+
else {
|
4416 |
+
throw e;
|
4417 |
+
}
|
4418 |
+
}
|
4419 |
+
finally {
|
4420 |
+
// "touch" every property so they are all tracked as
|
4421 |
+
// dependencies for deep watching
|
4422 |
+
if (this.deep) {
|
4423 |
+
traverse(value);
|
4424 |
+
}
|
4425 |
+
popTarget();
|
4426 |
+
this.cleanupDeps();
|
4427 |
+
}
|
4428 |
+
return value;
|
4429 |
+
};
|
4430 |
+
/**
|
4431 |
+
* Add a dependency to this directive.
|
4432 |
+
*/
|
4433 |
+
Watcher.prototype.addDep = function (dep) {
|
4434 |
+
var id = dep.id;
|
4435 |
+
if (!this.newDepIds.has(id)) {
|
4436 |
+
this.newDepIds.add(id);
|
4437 |
+
this.newDeps.push(dep);
|
4438 |
+
if (!this.depIds.has(id)) {
|
4439 |
+
dep.addSub(this);
|
4440 |
+
}
|
4441 |
+
}
|
4442 |
+
};
|
4443 |
+
/**
|
4444 |
+
* Clean up for dependency collection.
|
4445 |
+
*/
|
4446 |
+
Watcher.prototype.cleanupDeps = function () {
|
4447 |
+
var i = this.deps.length;
|
4448 |
+
while (i--) {
|
4449 |
+
var dep = this.deps[i];
|
4450 |
+
if (!this.newDepIds.has(dep.id)) {
|
4451 |
+
dep.removeSub(this);
|
4452 |
+
}
|
4453 |
+
}
|
4454 |
+
var tmp = this.depIds;
|
4455 |
+
this.depIds = this.newDepIds;
|
4456 |
+
this.newDepIds = tmp;
|
4457 |
+
this.newDepIds.clear();
|
4458 |
+
tmp = this.deps;
|
4459 |
+
this.deps = this.newDeps;
|
4460 |
+
this.newDeps = tmp;
|
4461 |
+
this.newDeps.length = 0;
|
4462 |
+
};
|
4463 |
+
/**
|
4464 |
+
* Subscriber interface.
|
4465 |
+
* Will be called when a dependency changes.
|
4466 |
+
*/
|
4467 |
+
Watcher.prototype.update = function () {
|
4468 |
+
/* istanbul ignore else */
|
4469 |
+
if (this.lazy) {
|
4470 |
+
this.dirty = true;
|
4471 |
+
}
|
4472 |
+
else if (this.sync) {
|
4473 |
+
this.run();
|
4474 |
+
}
|
4475 |
+
else {
|
4476 |
+
queueWatcher(this);
|
4477 |
+
}
|
4478 |
+
};
|
4479 |
+
/**
|
4480 |
+
* Scheduler job interface.
|
4481 |
+
* Will be called by the scheduler.
|
4482 |
+
*/
|
4483 |
+
Watcher.prototype.run = function () {
|
4484 |
+
if (this.active) {
|
4485 |
+
var value = this.get();
|
4486 |
+
if (value !== this.value ||
|
4487 |
+
// Deep watchers and watchers on Object/Arrays should fire even
|
4488 |
+
// when the value is the same, because the value may
|
4489 |
+
// have mutated.
|
4490 |
+
isObject(value) ||
|
4491 |
+
this.deep) {
|
4492 |
+
// set new value
|
4493 |
+
var oldValue = this.value;
|
4494 |
+
this.value = value;
|
4495 |
+
if (this.user) {
|
4496 |
+
var info = "callback for watcher \"".concat(this.expression, "\"");
|
4497 |
+
invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);
|
4498 |
+
}
|
4499 |
+
else {
|
4500 |
+
this.cb.call(this.vm, value, oldValue);
|
4501 |
+
}
|
4502 |
+
}
|
4503 |
+
}
|
4504 |
+
};
|
4505 |
+
/**
|
4506 |
+
* Evaluate the value of the watcher.
|
4507 |
+
* This only gets called for lazy watchers.
|
4508 |
+
*/
|
4509 |
+
Watcher.prototype.evaluate = function () {
|
4510 |
+
this.value = this.get();
|
4511 |
+
this.dirty = false;
|
4512 |
+
};
|
4513 |
+
/**
|
4514 |
+
* Depend on all deps collected by this watcher.
|
4515 |
+
*/
|
4516 |
+
Watcher.prototype.depend = function () {
|
4517 |
+
var i = this.deps.length;
|
4518 |
+
while (i--) {
|
4519 |
+
this.deps[i].depend();
|
4520 |
+
}
|
4521 |
+
};
|
4522 |
+
/**
|
4523 |
+
* Remove self from all dependencies' subscriber list.
|
4524 |
+
*/
|
4525 |
+
Watcher.prototype.teardown = function () {
|
4526 |
+
if (this.vm && !this.vm._isBeingDestroyed) {
|
4527 |
+
remove$2(this.vm._scope.effects, this);
|
4528 |
+
}
|
4529 |
+
if (this.active) {
|
4530 |
+
var i = this.deps.length;
|
4531 |
+
while (i--) {
|
4532 |
+
this.deps[i].removeSub(this);
|
4533 |
+
}
|
4534 |
+
this.active = false;
|
4535 |
+
if (this.onStop) {
|
4536 |
+
this.onStop();
|
4537 |
+
}
|
4538 |
+
}
|
4539 |
+
};
|
4540 |
+
return Watcher;
|
4541 |
+
}());
|
4542 |
+
|
4543 |
+
var sharedPropertyDefinition = {
|
4544 |
+
enumerable: true,
|
4545 |
+
configurable: true,
|
4546 |
+
get: noop,
|
4547 |
+
set: noop
|
4548 |
+
};
|
4549 |
+
function proxy(target, sourceKey, key) {
|
4550 |
+
sharedPropertyDefinition.get = function proxyGetter() {
|
4551 |
+
return this[sourceKey][key];
|
4552 |
+
};
|
4553 |
+
sharedPropertyDefinition.set = function proxySetter(val) {
|
4554 |
+
this[sourceKey][key] = val;
|
4555 |
+
};
|
4556 |
+
Object.defineProperty(target, key, sharedPropertyDefinition);
|
4557 |
+
}
|
4558 |
+
function initState(vm) {
|
4559 |
+
var opts = vm.$options;
|
4560 |
+
if (opts.props)
|
4561 |
+
initProps$1(vm, opts.props);
|
4562 |
+
// Composition API
|
4563 |
+
initSetup(vm);
|
4564 |
+
if (opts.methods)
|
4565 |
+
initMethods(vm, opts.methods);
|
4566 |
+
if (opts.data) {
|
4567 |
+
initData(vm);
|
4568 |
+
}
|
4569 |
+
else {
|
4570 |
+
var ob = observe((vm._data = {}));
|
4571 |
+
ob && ob.vmCount++;
|
4572 |
+
}
|
4573 |
+
if (opts.computed)
|
4574 |
+
initComputed$1(vm, opts.computed);
|
4575 |
+
if (opts.watch && opts.watch !== nativeWatch) {
|
4576 |
+
initWatch(vm, opts.watch);
|
4577 |
+
}
|
4578 |
+
}
|
4579 |
+
function initProps$1(vm, propsOptions) {
|
4580 |
+
var propsData = vm.$options.propsData || {};
|
4581 |
+
var props = (vm._props = shallowReactive({}));
|
4582 |
+
// cache prop keys so that future props updates can iterate using Array
|
4583 |
+
// instead of dynamic object key enumeration.
|
4584 |
+
var keys = (vm.$options._propKeys = []);
|
4585 |
+
var isRoot = !vm.$parent;
|
4586 |
+
// root instance props should be converted
|
4587 |
+
if (!isRoot) {
|
4588 |
+
toggleObserving(false);
|
4589 |
+
}
|
4590 |
+
var _loop_1 = function (key) {
|
4591 |
+
keys.push(key);
|
4592 |
+
var value = validateProp(key, propsOptions, propsData, vm);
|
4593 |
+
/* istanbul ignore else */
|
4594 |
+
if (process.env.NODE_ENV !== 'production') {
|
4595 |
+
var hyphenatedKey = hyphenate(key);
|
4596 |
+
if (isReservedAttribute(hyphenatedKey) ||
|
4597 |
+
config.isReservedAttr(hyphenatedKey)) {
|
4598 |
+
warn$2("\"".concat(hyphenatedKey, "\" is a reserved attribute and cannot be used as component prop."), vm);
|
4599 |
+
}
|
4600 |
+
defineReactive(props, key, value, function () {
|
4601 |
+
if (!isRoot && !isUpdatingChildComponent) {
|
4602 |
+
warn$2("Avoid mutating a prop directly since the value will be " +
|
4603 |
+
"overwritten whenever the parent component re-renders. " +
|
4604 |
+
"Instead, use a data or computed property based on the prop's " +
|
4605 |
+
"value. Prop being mutated: \"".concat(key, "\""), vm);
|
4606 |
+
}
|
4607 |
+
});
|
4608 |
+
}
|
4609 |
+
else {
|
4610 |
+
defineReactive(props, key, value);
|
4611 |
+
}
|
4612 |
+
// static props are already proxied on the component's prototype
|
4613 |
+
// during Vue.extend(). We only need to proxy props defined at
|
4614 |
+
// instantiation here.
|
4615 |
+
if (!(key in vm)) {
|
4616 |
+
proxy(vm, "_props", key);
|
4617 |
+
}
|
4618 |
+
};
|
4619 |
+
for (var key in propsOptions) {
|
4620 |
+
_loop_1(key);
|
4621 |
+
}
|
4622 |
+
toggleObserving(true);
|
4623 |
+
}
|
4624 |
+
function initData(vm) {
|
4625 |
+
var data = vm.$options.data;
|
4626 |
+
data = vm._data = isFunction(data) ? getData(data, vm) : data || {};
|
4627 |
+
if (!isPlainObject(data)) {
|
4628 |
+
data = {};
|
4629 |
+
process.env.NODE_ENV !== 'production' &&
|
4630 |
+
warn$2('data functions should return an object:\n' +
|
4631 |
+
'https://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm);
|
4632 |
+
}
|
4633 |
+
// proxy data on instance
|
4634 |
+
var keys = Object.keys(data);
|
4635 |
+
var props = vm.$options.props;
|
4636 |
+
var methods = vm.$options.methods;
|
4637 |
+
var i = keys.length;
|
4638 |
+
while (i--) {
|
4639 |
+
var key = keys[i];
|
4640 |
+
if (process.env.NODE_ENV !== 'production') {
|
4641 |
+
if (methods && hasOwn(methods, key)) {
|
4642 |
+
warn$2("Method \"".concat(key, "\" has already been defined as a data property."), vm);
|
4643 |
+
}
|
4644 |
+
}
|
4645 |
+
if (props && hasOwn(props, key)) {
|
4646 |
+
process.env.NODE_ENV !== 'production' &&
|
4647 |
+
warn$2("The data property \"".concat(key, "\" is already declared as a prop. ") +
|
4648 |
+
"Use prop default value instead.", vm);
|
4649 |
+
}
|
4650 |
+
else if (!isReserved(key)) {
|
4651 |
+
proxy(vm, "_data", key);
|
4652 |
+
}
|
4653 |
+
}
|
4654 |
+
// observe data
|
4655 |
+
var ob = observe(data);
|
4656 |
+
ob && ob.vmCount++;
|
4657 |
+
}
|
4658 |
+
function getData(data, vm) {
|
4659 |
+
// #7573 disable dep collection when invoking data getters
|
4660 |
+
pushTarget();
|
4661 |
+
try {
|
4662 |
+
return data.call(vm, vm);
|
4663 |
+
}
|
4664 |
+
catch (e) {
|
4665 |
+
handleError(e, vm, "data()");
|
4666 |
+
return {};
|
4667 |
+
}
|
4668 |
+
finally {
|
4669 |
+
popTarget();
|
4670 |
+
}
|
4671 |
+
}
|
4672 |
+
var computedWatcherOptions = { lazy: true };
|
4673 |
+
function initComputed$1(vm, computed) {
|
4674 |
+
// $flow-disable-line
|
4675 |
+
var watchers = (vm._computedWatchers = Object.create(null));
|
4676 |
+
// computed properties are just getters during SSR
|
4677 |
+
var isSSR = isServerRendering();
|
4678 |
+
for (var key in computed) {
|
4679 |
+
var userDef = computed[key];
|
4680 |
+
var getter = isFunction(userDef) ? userDef : userDef.get;
|
4681 |
+
if (process.env.NODE_ENV !== 'production' && getter == null) {
|
4682 |
+
warn$2("Getter is missing for computed property \"".concat(key, "\"."), vm);
|
4683 |
+
}
|
4684 |
+
if (!isSSR) {
|
4685 |
+
// create internal watcher for the computed property.
|
4686 |
+
watchers[key] = new Watcher(vm, getter || noop, noop, computedWatcherOptions);
|
4687 |
+
}
|
4688 |
+
// component-defined computed properties are already defined on the
|
4689 |
+
// component prototype. We only need to define computed properties defined
|
4690 |
+
// at instantiation here.
|
4691 |
+
if (!(key in vm)) {
|
4692 |
+
defineComputed(vm, key, userDef);
|
4693 |
+
}
|
4694 |
+
else if (process.env.NODE_ENV !== 'production') {
|
4695 |
+
if (key in vm.$data) {
|
4696 |
+
warn$2("The computed property \"".concat(key, "\" is already defined in data."), vm);
|
4697 |
+
}
|
4698 |
+
else if (vm.$options.props && key in vm.$options.props) {
|
4699 |
+
warn$2("The computed property \"".concat(key, "\" is already defined as a prop."), vm);
|
4700 |
+
}
|
4701 |
+
else if (vm.$options.methods && key in vm.$options.methods) {
|
4702 |
+
warn$2("The computed property \"".concat(key, "\" is already defined as a method."), vm);
|
4703 |
+
}
|
4704 |
+
}
|
4705 |
+
}
|
4706 |
+
}
|
4707 |
+
function defineComputed(target, key, userDef) {
|
4708 |
+
var shouldCache = !isServerRendering();
|
4709 |
+
if (isFunction(userDef)) {
|
4710 |
+
sharedPropertyDefinition.get = shouldCache
|
4711 |
+
? createComputedGetter(key)
|
4712 |
+
: createGetterInvoker(userDef);
|
4713 |
+
sharedPropertyDefinition.set = noop;
|
4714 |
+
}
|
4715 |
+
else {
|
4716 |
+
sharedPropertyDefinition.get = userDef.get
|
4717 |
+
? shouldCache && userDef.cache !== false
|
4718 |
+
? createComputedGetter(key)
|
4719 |
+
: createGetterInvoker(userDef.get)
|
4720 |
+
: noop;
|
4721 |
+
sharedPropertyDefinition.set = userDef.set || noop;
|
4722 |
+
}
|
4723 |
+
if (process.env.NODE_ENV !== 'production' && sharedPropertyDefinition.set === noop) {
|
4724 |
+
sharedPropertyDefinition.set = function () {
|
4725 |
+
warn$2("Computed property \"".concat(key, "\" was assigned to but it has no setter."), this);
|
4726 |
+
};
|
4727 |
+
}
|
4728 |
+
Object.defineProperty(target, key, sharedPropertyDefinition);
|
4729 |
+
}
|
4730 |
+
function createComputedGetter(key) {
|
4731 |
+
return function computedGetter() {
|
4732 |
+
var watcher = this._computedWatchers && this._computedWatchers[key];
|
4733 |
+
if (watcher) {
|
4734 |
+
if (watcher.dirty) {
|
4735 |
+
watcher.evaluate();
|
4736 |
+
}
|
4737 |
+
if (Dep.target) {
|
4738 |
+
if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {
|
4739 |
+
Dep.target.onTrack({
|
4740 |
+
effect: Dep.target,
|
4741 |
+
target: this,
|
4742 |
+
type: "get" /* TrackOpTypes.GET */,
|
4743 |
+
key: key
|
4744 |
+
});
|
4745 |
+
}
|
4746 |
+
watcher.depend();
|
4747 |
+
}
|
4748 |
+
return watcher.value;
|
4749 |
+
}
|
4750 |
+
};
|
4751 |
+
}
|
4752 |
+
function createGetterInvoker(fn) {
|
4753 |
+
return function computedGetter() {
|
4754 |
+
return fn.call(this, this);
|
4755 |
+
};
|
4756 |
+
}
|
4757 |
+
function initMethods(vm, methods) {
|
4758 |
+
var props = vm.$options.props;
|
4759 |
+
for (var key in methods) {
|
4760 |
+
if (process.env.NODE_ENV !== 'production') {
|
4761 |
+
if (typeof methods[key] !== 'function') {
|
4762 |
+
warn$2("Method \"".concat(key, "\" has type \"").concat(typeof methods[key], "\" in the component definition. ") +
|
4763 |
+
"Did you reference the function correctly?", vm);
|
4764 |
+
}
|
4765 |
+
if (props && hasOwn(props, key)) {
|
4766 |
+
warn$2("Method \"".concat(key, "\" has already been defined as a prop."), vm);
|
4767 |
+
}
|
4768 |
+
if (key in vm && isReserved(key)) {
|
4769 |
+
warn$2("Method \"".concat(key, "\" conflicts with an existing Vue instance method. ") +
|
4770 |
+
"Avoid defining component methods that start with _ or $.");
|
4771 |
+
}
|
4772 |
+
}
|
4773 |
+
vm[key] = typeof methods[key] !== 'function' ? noop : bind$1(methods[key], vm);
|
4774 |
+
}
|
4775 |
+
}
|
4776 |
+
function initWatch(vm, watch) {
|
4777 |
+
for (var key in watch) {
|
4778 |
+
var handler = watch[key];
|
4779 |
+
if (isArray(handler)) {
|
4780 |
+
for (var i = 0; i < handler.length; i++) {
|
4781 |
+
createWatcher(vm, key, handler[i]);
|
4782 |
+
}
|
4783 |
+
}
|
4784 |
+
else {
|
4785 |
+
createWatcher(vm, key, handler);
|
4786 |
+
}
|
4787 |
+
}
|
4788 |
+
}
|
4789 |
+
function createWatcher(vm, expOrFn, handler, options) {
|
4790 |
+
if (isPlainObject(handler)) {
|
4791 |
+
options = handler;
|
4792 |
+
handler = handler.handler;
|
4793 |
+
}
|
4794 |
+
if (typeof handler === 'string') {
|
4795 |
+
handler = vm[handler];
|
4796 |
+
}
|
4797 |
+
return vm.$watch(expOrFn, handler, options);
|
4798 |
+
}
|
4799 |
+
function stateMixin(Vue) {
|
4800 |
+
// flow somehow has problems with directly declared definition object
|
4801 |
+
// when using Object.defineProperty, so we have to procedurally build up
|
4802 |
+
// the object here.
|
4803 |
+
var dataDef = {};
|
4804 |
+
dataDef.get = function () {
|
4805 |
+
return this._data;
|
4806 |
+
};
|
4807 |
+
var propsDef = {};
|
4808 |
+
propsDef.get = function () {
|
4809 |
+
return this._props;
|
4810 |
+
};
|
4811 |
+
if (process.env.NODE_ENV !== 'production') {
|
4812 |
+
dataDef.set = function () {
|
4813 |
+
warn$2('Avoid replacing instance root $data. ' +
|
4814 |
+
'Use nested data properties instead.', this);
|
4815 |
+
};
|
4816 |
+
propsDef.set = function () {
|
4817 |
+
warn$2("$props is readonly.", this);
|
4818 |
+
};
|
4819 |
+
}
|
4820 |
+
Object.defineProperty(Vue.prototype, '$data', dataDef);
|
4821 |
+
Object.defineProperty(Vue.prototype, '$props', propsDef);
|
4822 |
+
Vue.prototype.$set = set;
|
4823 |
+
Vue.prototype.$delete = del;
|
4824 |
+
Vue.prototype.$watch = function (expOrFn, cb, options) {
|
4825 |
+
var vm = this;
|
4826 |
+
if (isPlainObject(cb)) {
|
4827 |
+
return createWatcher(vm, expOrFn, cb, options);
|
4828 |
+
}
|
4829 |
+
options = options || {};
|
4830 |
+
options.user = true;
|
4831 |
+
var watcher = new Watcher(vm, expOrFn, cb, options);
|
4832 |
+
if (options.immediate) {
|
4833 |
+
var info = "callback for immediate watcher \"".concat(watcher.expression, "\"");
|
4834 |
+
pushTarget();
|
4835 |
+
invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);
|
4836 |
+
popTarget();
|
4837 |
+
}
|
4838 |
+
return function unwatchFn() {
|
4839 |
+
watcher.teardown();
|
4840 |
+
};
|
4841 |
+
};
|
4842 |
+
}
|
4843 |
+
|
4844 |
+
function initProvide(vm) {
|
4845 |
+
var provideOption = vm.$options.provide;
|
4846 |
+
if (provideOption) {
|
4847 |
+
var provided = isFunction(provideOption)
|
4848 |
+
? provideOption.call(vm)
|
4849 |
+
: provideOption;
|
4850 |
+
if (!isObject(provided)) {
|
4851 |
+
return;
|
4852 |
+
}
|
4853 |
+
var source = resolveProvided(vm);
|
4854 |
+
// IE9 doesn't support Object.getOwnPropertyDescriptors so we have to
|
4855 |
+
// iterate the keys ourselves.
|
4856 |
+
var keys = hasSymbol ? Reflect.ownKeys(provided) : Object.keys(provided);
|
4857 |
+
for (var i = 0; i < keys.length; i++) {
|
4858 |
+
var key = keys[i];
|
4859 |
+
Object.defineProperty(source, key, Object.getOwnPropertyDescriptor(provided, key));
|
4860 |
+
}
|
4861 |
+
}
|
4862 |
+
}
|
4863 |
+
function initInjections(vm) {
|
4864 |
+
var result = resolveInject(vm.$options.inject, vm);
|
4865 |
+
if (result) {
|
4866 |
+
toggleObserving(false);
|
4867 |
+
Object.keys(result).forEach(function (key) {
|
4868 |
+
/* istanbul ignore else */
|
4869 |
+
if (process.env.NODE_ENV !== 'production') {
|
4870 |
+
defineReactive(vm, key, result[key], function () {
|
4871 |
+
warn$2("Avoid mutating an injected value directly since the changes will be " +
|
4872 |
+
"overwritten whenever the provided component re-renders. " +
|
4873 |
+
"injection being mutated: \"".concat(key, "\""), vm);
|
4874 |
+
});
|
4875 |
+
}
|
4876 |
+
else {
|
4877 |
+
defineReactive(vm, key, result[key]);
|
4878 |
+
}
|
4879 |
+
});
|
4880 |
+
toggleObserving(true);
|
4881 |
+
}
|
4882 |
+
}
|
4883 |
+
function resolveInject(inject, vm) {
|
4884 |
+
if (inject) {
|
4885 |
+
// inject is :any because flow is not smart enough to figure out cached
|
4886 |
+
var result = Object.create(null);
|
4887 |
+
var keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject);
|
4888 |
+
for (var i = 0; i < keys.length; i++) {
|
4889 |
+
var key = keys[i];
|
4890 |
+
// #6574 in case the inject object is observed...
|
4891 |
+
if (key === '__ob__')
|
4892 |
+
continue;
|
4893 |
+
var provideKey = inject[key].from;
|
4894 |
+
if (provideKey in vm._provided) {
|
4895 |
+
result[key] = vm._provided[provideKey];
|
4896 |
+
}
|
4897 |
+
else if ('default' in inject[key]) {
|
4898 |
+
var provideDefault = inject[key].default;
|
4899 |
+
result[key] = isFunction(provideDefault)
|
4900 |
+
? provideDefault.call(vm)
|
4901 |
+
: provideDefault;
|
4902 |
+
}
|
4903 |
+
else if (process.env.NODE_ENV !== 'production') {
|
4904 |
+
warn$2("Injection \"".concat(key, "\" not found"), vm);
|
4905 |
+
}
|
4906 |
+
}
|
4907 |
+
return result;
|
4908 |
+
}
|
4909 |
+
}
|
4910 |
+
|
4911 |
+
var uid = 0;
|
4912 |
+
function initMixin$1(Vue) {
|
4913 |
+
Vue.prototype._init = function (options) {
|
4914 |
+
var vm = this;
|
4915 |
+
// a uid
|
4916 |
+
vm._uid = uid++;
|
4917 |
+
var startTag, endTag;
|
4918 |
+
/* istanbul ignore if */
|
4919 |
+
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
4920 |
+
startTag = "vue-perf-start:".concat(vm._uid);
|
4921 |
+
endTag = "vue-perf-end:".concat(vm._uid);
|
4922 |
+
mark(startTag);
|
4923 |
+
}
|
4924 |
+
// a flag to mark this as a Vue instance without having to do instanceof
|
4925 |
+
// check
|
4926 |
+
vm._isVue = true;
|
4927 |
+
// avoid instances from being observed
|
4928 |
+
vm.__v_skip = true;
|
4929 |
+
// effect scope
|
4930 |
+
vm._scope = new EffectScope(true /* detached */);
|
4931 |
+
vm._scope._vm = true;
|
4932 |
+
// merge options
|
4933 |
+
if (options && options._isComponent) {
|
4934 |
+
// optimize internal component instantiation
|
4935 |
+
// since dynamic options merging is pretty slow, and none of the
|
4936 |
+
// internal component options needs special treatment.
|
4937 |
+
initInternalComponent(vm, options);
|
4938 |
+
}
|
4939 |
+
else {
|
4940 |
+
vm.$options = mergeOptions(resolveConstructorOptions(vm.constructor), options || {}, vm);
|
4941 |
+
}
|
4942 |
+
/* istanbul ignore else */
|
4943 |
+
if (process.env.NODE_ENV !== 'production') {
|
4944 |
+
initProxy(vm);
|
4945 |
+
}
|
4946 |
+
else {
|
4947 |
+
vm._renderProxy = vm;
|
4948 |
+
}
|
4949 |
+
// expose real self
|
4950 |
+
vm._self = vm;
|
4951 |
+
initLifecycle(vm);
|
4952 |
+
initEvents(vm);
|
4953 |
+
initRender(vm);
|
4954 |
+
callHook$1(vm, 'beforeCreate', undefined, false /* setContext */);
|
4955 |
+
initInjections(vm); // resolve injections before data/props
|
4956 |
+
initState(vm);
|
4957 |
+
initProvide(vm); // resolve provide after data/props
|
4958 |
+
callHook$1(vm, 'created');
|
4959 |
+
/* istanbul ignore if */
|
4960 |
+
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
4961 |
+
vm._name = formatComponentName(vm, false);
|
4962 |
+
mark(endTag);
|
4963 |
+
measure("vue ".concat(vm._name, " init"), startTag, endTag);
|
4964 |
+
}
|
4965 |
+
if (vm.$options.el) {
|
4966 |
+
vm.$mount(vm.$options.el);
|
4967 |
+
}
|
4968 |
+
};
|
4969 |
+
}
|
4970 |
+
function initInternalComponent(vm, options) {
|
4971 |
+
var opts = (vm.$options = Object.create(vm.constructor.options));
|
4972 |
+
// doing this because it's faster than dynamic enumeration.
|
4973 |
+
var parentVnode = options._parentVnode;
|
4974 |
+
opts.parent = options.parent;
|
4975 |
+
opts._parentVnode = parentVnode;
|
4976 |
+
var vnodeComponentOptions = parentVnode.componentOptions;
|
4977 |
+
opts.propsData = vnodeComponentOptions.propsData;
|
4978 |
+
opts._parentListeners = vnodeComponentOptions.listeners;
|
4979 |
+
opts._renderChildren = vnodeComponentOptions.children;
|
4980 |
+
opts._componentTag = vnodeComponentOptions.tag;
|
4981 |
+
if (options.render) {
|
4982 |
+
opts.render = options.render;
|
4983 |
+
opts.staticRenderFns = options.staticRenderFns;
|
4984 |
+
}
|
4985 |
+
}
|
4986 |
+
function resolveConstructorOptions(Ctor) {
|
4987 |
+
var options = Ctor.options;
|
4988 |
+
if (Ctor.super) {
|
4989 |
+
var superOptions = resolveConstructorOptions(Ctor.super);
|
4990 |
+
var cachedSuperOptions = Ctor.superOptions;
|
4991 |
+
if (superOptions !== cachedSuperOptions) {
|
4992 |
+
// super option changed,
|
4993 |
+
// need to resolve new options.
|
4994 |
+
Ctor.superOptions = superOptions;
|
4995 |
+
// check if there are any late-modified/attached options (#4976)
|
4996 |
+
var modifiedOptions = resolveModifiedOptions(Ctor);
|
4997 |
+
// update base extend options
|
4998 |
+
if (modifiedOptions) {
|
4999 |
+
extend(Ctor.extendOptions, modifiedOptions);
|
5000 |
+
}
|
5001 |
+
options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
|
5002 |
+
if (options.name) {
|
5003 |
+
options.components[options.name] = Ctor;
|
5004 |
+
}
|
5005 |
+
}
|
5006 |
+
}
|
5007 |
+
return options;
|
5008 |
+
}
|
5009 |
+
function resolveModifiedOptions(Ctor) {
|
5010 |
+
var modified;
|
5011 |
+
var latest = Ctor.options;
|
5012 |
+
var sealed = Ctor.sealedOptions;
|
5013 |
+
for (var key in latest) {
|
5014 |
+
if (latest[key] !== sealed[key]) {
|
5015 |
+
if (!modified)
|
5016 |
+
modified = {};
|
5017 |
+
modified[key] = latest[key];
|
5018 |
+
}
|
5019 |
+
}
|
5020 |
+
return modified;
|
5021 |
+
}
|
5022 |
+
|
5023 |
+
function FunctionalRenderContext(data, props, children, parent, Ctor) {
|
5024 |
+
var _this = this;
|
5025 |
+
var options = Ctor.options;
|
5026 |
+
// ensure the createElement function in functional components
|
5027 |
+
// gets a unique context - this is necessary for correct named slot check
|
5028 |
+
var contextVm;
|
5029 |
+
if (hasOwn(parent, '_uid')) {
|
5030 |
+
contextVm = Object.create(parent);
|
5031 |
+
contextVm._original = parent;
|
5032 |
+
}
|
5033 |
+
else {
|
5034 |
+
// the context vm passed in is a functional context as well.
|
5035 |
+
// in this case we want to make sure we are able to get a hold to the
|
5036 |
+
// real context instance.
|
5037 |
+
contextVm = parent;
|
5038 |
+
// @ts-ignore
|
5039 |
+
parent = parent._original;
|
5040 |
+
}
|
5041 |
+
var isCompiled = isTrue(options._compiled);
|
5042 |
+
var needNormalization = !isCompiled;
|
5043 |
+
this.data = data;
|
5044 |
+
this.props = props;
|
5045 |
+
this.children = children;
|
5046 |
+
this.parent = parent;
|
5047 |
+
this.listeners = data.on || emptyObject;
|
5048 |
+
this.injections = resolveInject(options.inject, parent);
|
5049 |
+
this.slots = function () {
|
5050 |
+
if (!_this.$slots) {
|
5051 |
+
normalizeScopedSlots(parent, data.scopedSlots, (_this.$slots = resolveSlots(children, parent)));
|
5052 |
+
}
|
5053 |
+
return _this.$slots;
|
5054 |
+
};
|
5055 |
+
Object.defineProperty(this, 'scopedSlots', {
|
5056 |
+
enumerable: true,
|
5057 |
+
get: function () {
|
5058 |
+
return normalizeScopedSlots(parent, data.scopedSlots, this.slots());
|
5059 |
+
}
|
5060 |
+
});
|
5061 |
+
// support for compiled functional template
|
5062 |
+
if (isCompiled) {
|
5063 |
+
// exposing $options for renderStatic()
|
5064 |
+
this.$options = options;
|
5065 |
+
// pre-resolve slots for renderSlot()
|
5066 |
+
this.$slots = this.slots();
|
5067 |
+
this.$scopedSlots = normalizeScopedSlots(parent, data.scopedSlots, this.$slots);
|
5068 |
+
}
|
5069 |
+
if (options._scopeId) {
|
5070 |
+
this._c = function (a, b, c, d) {
|
5071 |
+
var vnode = createElement$1(contextVm, a, b, c, d, needNormalization);
|
5072 |
+
if (vnode && !isArray(vnode)) {
|
5073 |
+
vnode.fnScopeId = options._scopeId;
|
5074 |
+
vnode.fnContext = parent;
|
5075 |
+
}
|
5076 |
+
return vnode;
|
5077 |
+
};
|
5078 |
+
}
|
5079 |
+
else {
|
5080 |
+
this._c = function (a, b, c, d) {
|
5081 |
+
return createElement$1(contextVm, a, b, c, d, needNormalization);
|
5082 |
+
};
|
5083 |
+
}
|
5084 |
+
}
|
5085 |
+
installRenderHelpers(FunctionalRenderContext.prototype);
|
5086 |
+
function createFunctionalComponent(Ctor, propsData, data, contextVm, children) {
|
5087 |
+
var options = Ctor.options;
|
5088 |
+
var props = {};
|
5089 |
+
var propOptions = options.props;
|
5090 |
+
if (isDef(propOptions)) {
|
5091 |
+
for (var key in propOptions) {
|
5092 |
+
props[key] = validateProp(key, propOptions, propsData || emptyObject);
|
5093 |
+
}
|
5094 |
+
}
|
5095 |
+
else {
|
5096 |
+
if (isDef(data.attrs))
|
5097 |
+
mergeProps(props, data.attrs);
|
5098 |
+
if (isDef(data.props))
|
5099 |
+
mergeProps(props, data.props);
|
5100 |
+
}
|
5101 |
+
var renderContext = new FunctionalRenderContext(data, props, children, contextVm, Ctor);
|
5102 |
+
var vnode = options.render.call(null, renderContext._c, renderContext);
|
5103 |
+
if (vnode instanceof VNode) {
|
5104 |
+
return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext);
|
5105 |
+
}
|
5106 |
+
else if (isArray(vnode)) {
|
5107 |
+
var vnodes = normalizeChildren(vnode) || [];
|
5108 |
+
var res = new Array(vnodes.length);
|
5109 |
+
for (var i = 0; i < vnodes.length; i++) {
|
5110 |
+
res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);
|
5111 |
+
}
|
5112 |
+
return res;
|
5113 |
+
}
|
5114 |
+
}
|
5115 |
+
function cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) {
|
5116 |
+
// #7817 clone node before setting fnContext, otherwise if the node is reused
|
5117 |
+
// (e.g. it was from a cached normal slot) the fnContext causes named slots
|
5118 |
+
// that should not be matched to match.
|
5119 |
+
var clone = cloneVNode(vnode);
|
5120 |
+
clone.fnContext = contextVm;
|
5121 |
+
clone.fnOptions = options;
|
5122 |
+
if (process.env.NODE_ENV !== 'production') {
|
5123 |
+
(clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext =
|
5124 |
+
renderContext;
|
5125 |
+
}
|
5126 |
+
if (data.slot) {
|
5127 |
+
(clone.data || (clone.data = {})).slot = data.slot;
|
5128 |
+
}
|
5129 |
+
return clone;
|
5130 |
+
}
|
5131 |
+
function mergeProps(to, from) {
|
5132 |
+
for (var key in from) {
|
5133 |
+
to[camelize(key)] = from[key];
|
5134 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5135 |
}
|
5136 |
|
5137 |
+
function getComponentName(options) {
|
5138 |
+
return options.name || options.__name || options._componentTag;
|
5139 |
+
}
|
5140 |
+
// inline hooks to be invoked on component VNodes during patch
|
5141 |
+
var componentVNodeHooks = {
|
5142 |
+
init: function (vnode, hydrating) {
|
5143 |
+
if (vnode.componentInstance &&
|
5144 |
+
!vnode.componentInstance._isDestroyed &&
|
5145 |
+
vnode.data.keepAlive) {
|
5146 |
+
// kept-alive components, treat as a patch
|
5147 |
+
var mountedNode = vnode; // work around flow
|
5148 |
+
componentVNodeHooks.prepatch(mountedNode, mountedNode);
|
5149 |
+
}
|
5150 |
+
else {
|
5151 |
+
var child = (vnode.componentInstance = createComponentInstanceForVnode(vnode, activeInstance));
|
5152 |
+
child.$mount(hydrating ? vnode.elm : undefined, hydrating);
|
5153 |
+
}
|
5154 |
+
},
|
5155 |
+
prepatch: function (oldVnode, vnode) {
|
5156 |
+
var options = vnode.componentOptions;
|
5157 |
+
var child = (vnode.componentInstance = oldVnode.componentInstance);
|
5158 |
+
updateChildComponent(child, options.propsData, // updated props
|
5159 |
+
options.listeners, // updated listeners
|
5160 |
+
vnode, // new parent vnode
|
5161 |
+
options.children // new children
|
5162 |
+
);
|
5163 |
+
},
|
5164 |
+
insert: function (vnode) {
|
5165 |
+
var context = vnode.context, componentInstance = vnode.componentInstance;
|
5166 |
+
if (!componentInstance._isMounted) {
|
5167 |
+
componentInstance._isMounted = true;
|
5168 |
+
callHook$1(componentInstance, 'mounted');
|
5169 |
+
}
|
5170 |
+
if (vnode.data.keepAlive) {
|
5171 |
+
if (context._isMounted) {
|
5172 |
+
// vue-router#1212
|
5173 |
+
// During updates, a kept-alive component's child components may
|
5174 |
+
// change, so directly walking the tree here may call activated hooks
|
5175 |
+
// on incorrect children. Instead we push them into a queue which will
|
5176 |
+
// be processed after the whole patch process ended.
|
5177 |
+
queueActivatedComponent(componentInstance);
|
5178 |
+
}
|
5179 |
+
else {
|
5180 |
+
activateChildComponent(componentInstance, true /* direct */);
|
5181 |
+
}
|
5182 |
+
}
|
5183 |
+
},
|
5184 |
+
destroy: function (vnode) {
|
5185 |
+
var componentInstance = vnode.componentInstance;
|
5186 |
+
if (!componentInstance._isDestroyed) {
|
5187 |
+
if (!vnode.data.keepAlive) {
|
5188 |
+
componentInstance.$destroy();
|
5189 |
+
}
|
5190 |
+
else {
|
5191 |
+
deactivateChildComponent(componentInstance, true /* direct */);
|
5192 |
+
}
|
5193 |
+
}
|
5194 |
+
}
|
5195 |
+
};
|
5196 |
+
var hooksToMerge = Object.keys(componentVNodeHooks);
|
5197 |
+
function createComponent(Ctor, data, context, children, tag) {
|
5198 |
+
if (isUndef(Ctor)) {
|
5199 |
+
return;
|
5200 |
+
}
|
5201 |
+
var baseCtor = context.$options._base;
|
5202 |
+
// plain options object: turn it into a constructor
|
5203 |
+
if (isObject(Ctor)) {
|
5204 |
+
Ctor = baseCtor.extend(Ctor);
|
5205 |
+
}
|
5206 |
+
// if at this stage it's not a constructor or an async component factory,
|
5207 |
+
// reject.
|
5208 |
+
if (typeof Ctor !== 'function') {
|
5209 |
+
if (process.env.NODE_ENV !== 'production') {
|
5210 |
+
warn$2("Invalid Component definition: ".concat(String(Ctor)), context);
|
5211 |
+
}
|
5212 |
+
return;
|
5213 |
+
}
|
5214 |
+
// async component
|
5215 |
+
var asyncFactory;
|
5216 |
+
// @ts-expect-error
|
5217 |
+
if (isUndef(Ctor.cid)) {
|
5218 |
+
asyncFactory = Ctor;
|
5219 |
+
Ctor = resolveAsyncComponent(asyncFactory, baseCtor);
|
5220 |
+
if (Ctor === undefined) {
|
5221 |
+
// return a placeholder node for async component, which is rendered
|
5222 |
+
// as a comment node but preserves all the raw information for the node.
|
5223 |
+
// the information will be used for async server-rendering and hydration.
|
5224 |
+
return createAsyncPlaceholder(asyncFactory, data, context, children, tag);
|
5225 |
+
}
|
5226 |
+
}
|
5227 |
+
data = data || {};
|
5228 |
+
// resolve constructor options in case global mixins are applied after
|
5229 |
+
// component constructor creation
|
5230 |
+
resolveConstructorOptions(Ctor);
|
5231 |
+
// transform component v-model data into props & events
|
5232 |
+
if (isDef(data.model)) {
|
5233 |
+
// @ts-expect-error
|
5234 |
+
transformModel(Ctor.options, data);
|
5235 |
+
}
|
5236 |
+
// extract props
|
5237 |
+
// @ts-expect-error
|
5238 |
+
var propsData = extractPropsFromVNodeData(data, Ctor, tag);
|
5239 |
+
// functional component
|
5240 |
+
// @ts-expect-error
|
5241 |
+
if (isTrue(Ctor.options.functional)) {
|
5242 |
+
return createFunctionalComponent(Ctor, propsData, data, context, children);
|
5243 |
+
}
|
5244 |
+
// extract listeners, since these needs to be treated as
|
5245 |
+
// child component listeners instead of DOM listeners
|
5246 |
+
var listeners = data.on;
|
5247 |
+
// replace with listeners with .native modifier
|
5248 |
+
// so it gets processed during parent component patch.
|
5249 |
+
data.on = data.nativeOn;
|
5250 |
+
// @ts-expect-error
|
5251 |
+
if (isTrue(Ctor.options.abstract)) {
|
5252 |
+
// abstract components do not keep anything
|
5253 |
+
// other than props & listeners & slot
|
5254 |
+
// work around flow
|
5255 |
+
var slot = data.slot;
|
5256 |
+
data = {};
|
5257 |
+
if (slot) {
|
5258 |
+
data.slot = slot;
|
5259 |
+
}
|
5260 |
+
}
|
5261 |
+
// install component management hooks onto the placeholder node
|
5262 |
+
installComponentHooks(data);
|
5263 |
+
// return a placeholder vnode
|
5264 |
+
// @ts-expect-error
|
5265 |
+
var name = getComponentName(Ctor.options) || tag;
|
5266 |
+
var vnode = new VNode(
|
5267 |
+
// @ts-expect-error
|
5268 |
+
"vue-component-".concat(Ctor.cid).concat(name ? "-".concat(name) : ''), data, undefined, undefined, undefined, context,
|
5269 |
+
// @ts-expect-error
|
5270 |
+
{ Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, asyncFactory);
|
5271 |
+
return vnode;
|
5272 |
+
}
|
5273 |
+
function createComponentInstanceForVnode(
|
5274 |
+
// we know it's MountedComponentVNode but flow doesn't
|
5275 |
+
vnode,
|
5276 |
+
// activeInstance in lifecycle state
|
5277 |
+
parent) {
|
5278 |
+
var options = {
|
5279 |
+
_isComponent: true,
|
5280 |
+
_parentVnode: vnode,
|
5281 |
+
parent: parent
|
5282 |
+
};
|
5283 |
+
// check inline-template render functions
|
5284 |
+
var inlineTemplate = vnode.data.inlineTemplate;
|
5285 |
+
if (isDef(inlineTemplate)) {
|
5286 |
+
options.render = inlineTemplate.render;
|
5287 |
+
options.staticRenderFns = inlineTemplate.staticRenderFns;
|
5288 |
+
}
|
5289 |
+
return new vnode.componentOptions.Ctor(options);
|
5290 |
+
}
|
5291 |
+
function installComponentHooks(data) {
|
5292 |
+
var hooks = data.hook || (data.hook = {});
|
5293 |
+
for (var i = 0; i < hooksToMerge.length; i++) {
|
5294 |
+
var key = hooksToMerge[i];
|
5295 |
+
var existing = hooks[key];
|
5296 |
+
var toMerge = componentVNodeHooks[key];
|
5297 |
+
// @ts-expect-error
|
5298 |
+
if (existing !== toMerge && !(existing && existing._merged)) {
|
5299 |
+
hooks[key] = existing ? mergeHook(toMerge, existing) : toMerge;
|
5300 |
+
}
|
5301 |
+
}
|
5302 |
+
}
|
5303 |
+
function mergeHook(f1, f2) {
|
5304 |
+
var merged = function (a, b) {
|
5305 |
+
// flow complains about extra args which is why we use any
|
5306 |
+
f1(a, b);
|
5307 |
+
f2(a, b);
|
5308 |
+
};
|
5309 |
+
merged._merged = true;
|
5310 |
+
return merged;
|
5311 |
+
}
|
5312 |
+
// transform component v-model info (value and callback) into
|
5313 |
+
// prop and event handler respectively.
|
5314 |
+
function transformModel(options, data) {
|
5315 |
+
var prop = (options.model && options.model.prop) || 'value';
|
5316 |
+
var event = (options.model && options.model.event) || 'input';
|
5317 |
+
(data.attrs || (data.attrs = {}))[prop] = data.model.value;
|
5318 |
+
var on = data.on || (data.on = {});
|
5319 |
+
var existing = on[event];
|
5320 |
+
var callback = data.model.callback;
|
5321 |
+
if (isDef(existing)) {
|
5322 |
+
if (isArray(existing)
|
5323 |
+
? existing.indexOf(callback) === -1
|
5324 |
+
: existing !== callback) {
|
5325 |
+
on[event] = [callback].concat(existing);
|
5326 |
+
}
|
5327 |
+
}
|
5328 |
+
else {
|
5329 |
+
on[event] = callback;
|
5330 |
+
}
|
5331 |
+
}
|
5332 |
+
|
5333 |
+
var warn$2 = noop;
|
5334 |
+
var tip = noop;
|
5335 |
+
var generateComponentTrace; // work around flow check
|
5336 |
+
var formatComponentName;
|
5337 |
+
if (process.env.NODE_ENV !== 'production') {
|
5338 |
+
var hasConsole_1 = typeof console !== 'undefined';
|
5339 |
+
var classifyRE_1 = /(?:^|[-_])(\w)/g;
|
5340 |
+
var classify_1 = function (str) {
|
5341 |
+
return str.replace(classifyRE_1, function (c) { return c.toUpperCase(); }).replace(/[-_]/g, '');
|
5342 |
+
};
|
5343 |
+
warn$2 = function (msg, vm) {
|
5344 |
+
if (vm === void 0) { vm = currentInstance; }
|
5345 |
+
var trace = vm ? generateComponentTrace(vm) : '';
|
5346 |
+
if (config.warnHandler) {
|
5347 |
+
config.warnHandler.call(null, msg, vm, trace);
|
5348 |
+
}
|
5349 |
+
else if (hasConsole_1 && !config.silent) {
|
5350 |
+
console.error("[Vue warn]: ".concat(msg).concat(trace));
|
5351 |
+
}
|
5352 |
+
};
|
5353 |
+
tip = function (msg, vm) {
|
5354 |
+
if (hasConsole_1 && !config.silent) {
|
5355 |
+
console.warn("[Vue tip]: ".concat(msg) + (vm ? generateComponentTrace(vm) : ''));
|
5356 |
+
}
|
5357 |
+
};
|
5358 |
+
formatComponentName = function (vm, includeFile) {
|
5359 |
+
if (vm.$root === vm) {
|
5360 |
+
return '<Root>';
|
5361 |
+
}
|
5362 |
+
var options = isFunction(vm) && vm.cid != null
|
5363 |
+
? vm.options
|
5364 |
+
: vm._isVue
|
5365 |
+
? vm.$options || vm.constructor.options
|
5366 |
+
: vm;
|
5367 |
+
var name = getComponentName(options);
|
5368 |
+
var file = options.__file;
|
5369 |
+
if (!name && file) {
|
5370 |
+
var match = file.match(/([^/\\]+)\.vue$/);
|
5371 |
+
name = match && match[1];
|
5372 |
+
}
|
5373 |
+
return ((name ? "<".concat(classify_1(name), ">") : "<Anonymous>") +
|
5374 |
+
(file && includeFile !== false ? " at ".concat(file) : ''));
|
5375 |
+
};
|
5376 |
+
var repeat_1 = function (str, n) {
|
5377 |
+
var res = '';
|
5378 |
+
while (n) {
|
5379 |
+
if (n % 2 === 1)
|
5380 |
+
res += str;
|
5381 |
+
if (n > 1)
|
5382 |
+
str += str;
|
5383 |
+
n >>= 1;
|
5384 |
+
}
|
5385 |
+
return res;
|
5386 |
+
};
|
5387 |
+
generateComponentTrace = function (vm) {
|
5388 |
+
if (vm._isVue && vm.$parent) {
|
5389 |
+
var tree = [];
|
5390 |
+
var currentRecursiveSequence = 0;
|
5391 |
+
while (vm) {
|
5392 |
+
if (tree.length > 0) {
|
5393 |
+
var last = tree[tree.length - 1];
|
5394 |
+
if (last.constructor === vm.constructor) {
|
5395 |
+
currentRecursiveSequence++;
|
5396 |
+
vm = vm.$parent;
|
5397 |
+
continue;
|
5398 |
+
}
|
5399 |
+
else if (currentRecursiveSequence > 0) {
|
5400 |
+
tree[tree.length - 1] = [last, currentRecursiveSequence];
|
5401 |
+
currentRecursiveSequence = 0;
|
5402 |
+
}
|
5403 |
+
}
|
5404 |
+
tree.push(vm);
|
5405 |
+
vm = vm.$parent;
|
5406 |
+
}
|
5407 |
+
return ('\n\nfound in\n\n' +
|
5408 |
+
tree
|
5409 |
+
.map(function (vm, i) {
|
5410 |
+
return "".concat(i === 0 ? '---> ' : repeat_1(' ', 5 + i * 2)).concat(isArray(vm)
|
5411 |
+
? "".concat(formatComponentName(vm[0]), "... (").concat(vm[1], " recursive calls)")
|
5412 |
+
: formatComponentName(vm));
|
5413 |
+
})
|
5414 |
+
.join('\n'));
|
5415 |
+
}
|
5416 |
+
else {
|
5417 |
+
return "\n\n(found in ".concat(formatComponentName(vm), ")");
|
5418 |
+
}
|
5419 |
+
};
|
5420 |
+
}
|
5421 |
+
|
5422 |
+
/**
|
5423 |
+
* Option overwriting strategies are functions that handle
|
5424 |
+
* how to merge a parent option value and a child option
|
5425 |
+
* value into the final value.
|
5426 |
+
*/
|
5427 |
+
var strats = config.optionMergeStrategies;
|
5428 |
+
/**
|
5429 |
+
* Options with restrictions
|
5430 |
+
*/
|
5431 |
+
if (process.env.NODE_ENV !== 'production') {
|
5432 |
+
strats.el = strats.propsData = function (parent, child, vm, key) {
|
5433 |
+
if (!vm) {
|
5434 |
+
warn$2("option \"".concat(key, "\" can only be used during instance ") +
|
5435 |
+
'creation with the `new` keyword.');
|
5436 |
+
}
|
5437 |
+
return defaultStrat(parent, child);
|
5438 |
+
};
|
5439 |
+
}
|
5440 |
+
/**
|
5441 |
+
* Helper that recursively merges two data objects together.
|
5442 |
+
*/
|
5443 |
+
function mergeData(to, from) {
|
5444 |
+
if (!from)
|
5445 |
+
return to;
|
5446 |
+
var key, toVal, fromVal;
|
5447 |
+
var keys = hasSymbol
|
5448 |
+
? Reflect.ownKeys(from)
|
5449 |
+
: Object.keys(from);
|
5450 |
+
for (var i = 0; i < keys.length; i++) {
|
5451 |
+
key = keys[i];
|
5452 |
+
// in case the object is already observed...
|
5453 |
+
if (key === '__ob__')
|
5454 |
+
continue;
|
5455 |
+
toVal = to[key];
|
5456 |
+
fromVal = from[key];
|
5457 |
+
if (!hasOwn(to, key)) {
|
5458 |
+
set(to, key, fromVal);
|
5459 |
+
}
|
5460 |
+
else if (toVal !== fromVal &&
|
5461 |
+
isPlainObject(toVal) &&
|
5462 |
+
isPlainObject(fromVal)) {
|
5463 |
+
mergeData(toVal, fromVal);
|
5464 |
+
}
|
5465 |
+
}
|
5466 |
+
return to;
|
5467 |
+
}
|
5468 |
+
/**
|
5469 |
+
* Data
|
5470 |
+
*/
|
5471 |
+
function mergeDataOrFn(parentVal, childVal, vm) {
|
5472 |
+
if (!vm) {
|
5473 |
+
// in a Vue.extend merge, both should be functions
|
5474 |
+
if (!childVal) {
|
5475 |
+
return parentVal;
|
5476 |
+
}
|
5477 |
+
if (!parentVal) {
|
5478 |
+
return childVal;
|
5479 |
+
}
|
5480 |
+
// when parentVal & childVal are both present,
|
5481 |
+
// we need to return a function that returns the
|
5482 |
+
// merged result of both functions... no need to
|
5483 |
+
// check if parentVal is a function here because
|
5484 |
+
// it has to be a function to pass previous merges.
|
5485 |
+
return function mergedDataFn() {
|
5486 |
+
return mergeData(isFunction(childVal) ? childVal.call(this, this) : childVal, isFunction(parentVal) ? parentVal.call(this, this) : parentVal);
|
5487 |
+
};
|
5488 |
+
}
|
5489 |
+
else {
|
5490 |
+
return function mergedInstanceDataFn() {
|
5491 |
+
// instance merge
|
5492 |
+
var instanceData = isFunction(childVal)
|
5493 |
+
? childVal.call(vm, vm)
|
5494 |
+
: childVal;
|
5495 |
+
var defaultData = isFunction(parentVal)
|
5496 |
+
? parentVal.call(vm, vm)
|
5497 |
+
: parentVal;
|
5498 |
+
if (instanceData) {
|
5499 |
+
return mergeData(instanceData, defaultData);
|
5500 |
+
}
|
5501 |
+
else {
|
5502 |
+
return defaultData;
|
5503 |
+
}
|
5504 |
+
};
|
5505 |
+
}
|
5506 |
+
}
|
5507 |
+
strats.data = function (parentVal, childVal, vm) {
|
5508 |
+
if (!vm) {
|
5509 |
+
if (childVal && typeof childVal !== 'function') {
|
5510 |
+
process.env.NODE_ENV !== 'production' &&
|
5511 |
+
warn$2('The "data" option should be a function ' +
|
5512 |
+
'that returns a per-instance value in component ' +
|
5513 |
+
'definitions.', vm);
|
5514 |
+
return parentVal;
|
5515 |
+
}
|
5516 |
+
return mergeDataOrFn(parentVal, childVal);
|
5517 |
+
}
|
5518 |
+
return mergeDataOrFn(parentVal, childVal, vm);
|
5519 |
+
};
|
5520 |
+
/**
|
5521 |
+
* Hooks and props are merged as arrays.
|
5522 |
+
*/
|
5523 |
+
function mergeLifecycleHook(parentVal, childVal) {
|
5524 |
+
var res = childVal
|
5525 |
+
? parentVal
|
5526 |
+
? parentVal.concat(childVal)
|
5527 |
+
: isArray(childVal)
|
5528 |
+
? childVal
|
5529 |
+
: [childVal]
|
5530 |
+
: parentVal;
|
5531 |
+
return res ? dedupeHooks(res) : res;
|
5532 |
+
}
|
5533 |
+
function dedupeHooks(hooks) {
|
5534 |
+
var res = [];
|
5535 |
+
for (var i = 0; i < hooks.length; i++) {
|
5536 |
+
if (res.indexOf(hooks[i]) === -1) {
|
5537 |
+
res.push(hooks[i]);
|
5538 |
+
}
|
5539 |
+
}
|
5540 |
+
return res;
|
5541 |
+
}
|
5542 |
+
LIFECYCLE_HOOKS.forEach(function (hook) {
|
5543 |
+
strats[hook] = mergeLifecycleHook;
|
5544 |
+
});
|
5545 |
+
/**
|
5546 |
+
* Assets
|
5547 |
+
*
|
5548 |
+
* When a vm is present (instance creation), we need to do
|
5549 |
+
* a three-way merge between constructor options, instance
|
5550 |
+
* options and parent options.
|
5551 |
+
*/
|
5552 |
+
function mergeAssets(parentVal, childVal, vm, key) {
|
5553 |
+
var res = Object.create(parentVal || null);
|
5554 |
+
if (childVal) {
|
5555 |
+
process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);
|
5556 |
+
return extend(res, childVal);
|
5557 |
+
}
|
5558 |
+
else {
|
5559 |
+
return res;
|
5560 |
+
}
|
5561 |
+
}
|
5562 |
+
ASSET_TYPES.forEach(function (type) {
|
5563 |
+
strats[type + 's'] = mergeAssets;
|
5564 |
+
});
|
5565 |
+
/**
|
5566 |
+
* Watchers.
|
5567 |
+
*
|
5568 |
+
* Watchers hashes should not overwrite one
|
5569 |
+
* another, so we merge them as arrays.
|
5570 |
+
*/
|
5571 |
+
strats.watch = function (parentVal, childVal, vm, key) {
|
5572 |
+
// work around Firefox's Object.prototype.watch...
|
5573 |
+
//@ts-expect-error work around
|
5574 |
+
if (parentVal === nativeWatch)
|
5575 |
+
parentVal = undefined;
|
5576 |
+
//@ts-expect-error work around
|
5577 |
+
if (childVal === nativeWatch)
|
5578 |
+
childVal = undefined;
|
5579 |
+
/* istanbul ignore if */
|
5580 |
+
if (!childVal)
|
5581 |
+
return Object.create(parentVal || null);
|
5582 |
+
if (process.env.NODE_ENV !== 'production') {
|
5583 |
+
assertObjectType(key, childVal, vm);
|
5584 |
+
}
|
5585 |
+
if (!parentVal)
|
5586 |
+
return childVal;
|
5587 |
+
var ret = {};
|
5588 |
+
extend(ret, parentVal);
|
5589 |
+
for (var key_1 in childVal) {
|
5590 |
+
var parent_1 = ret[key_1];
|
5591 |
+
var child = childVal[key_1];
|
5592 |
+
if (parent_1 && !isArray(parent_1)) {
|
5593 |
+
parent_1 = [parent_1];
|
5594 |
+
}
|
5595 |
+
ret[key_1] = parent_1 ? parent_1.concat(child) : isArray(child) ? child : [child];
|
5596 |
+
}
|
5597 |
+
return ret;
|
5598 |
+
};
|
5599 |
+
/**
|
5600 |
+
* Other object hashes.
|
5601 |
+
*/
|
5602 |
+
strats.props =
|
5603 |
+
strats.methods =
|
5604 |
+
strats.inject =
|
5605 |
+
strats.computed =
|
5606 |
+
function (parentVal, childVal, vm, key) {
|
5607 |
+
if (childVal && process.env.NODE_ENV !== 'production') {
|
5608 |
+
assertObjectType(key, childVal, vm);
|
5609 |
+
}
|
5610 |
+
if (!parentVal)
|
5611 |
+
return childVal;
|
5612 |
+
var ret = Object.create(null);
|
5613 |
+
extend(ret, parentVal);
|
5614 |
+
if (childVal)
|
5615 |
+
extend(ret, childVal);
|
5616 |
+
return ret;
|
5617 |
+
};
|
5618 |
+
strats.provide = mergeDataOrFn;
|
5619 |
+
/**
|
5620 |
+
* Default strategy.
|
5621 |
+
*/
|
5622 |
+
var defaultStrat = function (parentVal, childVal) {
|
5623 |
+
return childVal === undefined ? parentVal : childVal;
|
5624 |
+
};
|
5625 |
+
/**
|
5626 |
+
* Validate component names
|
5627 |
+
*/
|
5628 |
+
function checkComponents(options) {
|
5629 |
+
for (var key in options.components) {
|
5630 |
+
validateComponentName(key);
|
5631 |
+
}
|
5632 |
+
}
|
5633 |
+
function validateComponentName(name) {
|
5634 |
+
if (!new RegExp("^[a-zA-Z][\\-\\.0-9_".concat(unicodeRegExp.source, "]*$")).test(name)) {
|
5635 |
+
warn$2('Invalid component name: "' +
|
5636 |
+
name +
|
5637 |
+
'". Component names ' +
|
5638 |
+
'should conform to valid custom element name in html5 specification.');
|
5639 |
+
}
|
5640 |
+
if (isBuiltInTag(name) || config.isReservedTag(name)) {
|
5641 |
+
warn$2('Do not use built-in or reserved HTML elements as component ' +
|
5642 |
+
'id: ' +
|
5643 |
+
name);
|
5644 |
+
}
|
5645 |
+
}
|
5646 |
+
/**
|
5647 |
+
* Ensure all props option syntax are normalized into the
|
5648 |
+
* Object-based format.
|
5649 |
+
*/
|
5650 |
+
function normalizeProps(options, vm) {
|
5651 |
+
var props = options.props;
|
5652 |
+
if (!props)
|
5653 |
+
return;
|
5654 |
+
var res = {};
|
5655 |
+
var i, val, name;
|
5656 |
+
if (isArray(props)) {
|
5657 |
+
i = props.length;
|
5658 |
+
while (i--) {
|
5659 |
+
val = props[i];
|
5660 |
+
if (typeof val === 'string') {
|
5661 |
+
name = camelize(val);
|
5662 |
+
res[name] = { type: null };
|
5663 |
+
}
|
5664 |
+
else if (process.env.NODE_ENV !== 'production') {
|
5665 |
+
warn$2('props must be strings when using array syntax.');
|
5666 |
+
}
|
5667 |
+
}
|
5668 |
+
}
|
5669 |
+
else if (isPlainObject(props)) {
|
5670 |
+
for (var key in props) {
|
5671 |
+
val = props[key];
|
5672 |
+
name = camelize(key);
|
5673 |
+
res[name] = isPlainObject(val) ? val : { type: val };
|
5674 |
+
}
|
5675 |
+
}
|
5676 |
+
else if (process.env.NODE_ENV !== 'production') {
|
5677 |
+
warn$2("Invalid value for option \"props\": expected an Array or an Object, " +
|
5678 |
+
"but got ".concat(toRawType(props), "."), vm);
|
5679 |
+
}
|
5680 |
+
options.props = res;
|
5681 |
+
}
|
5682 |
+
/**
|
5683 |
+
* Normalize all injections into Object-based format
|
5684 |
+
*/
|
5685 |
+
function normalizeInject(options, vm) {
|
5686 |
+
var inject = options.inject;
|
5687 |
+
if (!inject)
|
5688 |
+
return;
|
5689 |
+
var normalized = (options.inject = {});
|
5690 |
+
if (isArray(inject)) {
|
5691 |
+
for (var i = 0; i < inject.length; i++) {
|
5692 |
+
normalized[inject[i]] = { from: inject[i] };
|
5693 |
+
}
|
5694 |
+
}
|
5695 |
+
else if (isPlainObject(inject)) {
|
5696 |
+
for (var key in inject) {
|
5697 |
+
var val = inject[key];
|
5698 |
+
normalized[key] = isPlainObject(val)
|
5699 |
+
? extend({ from: key }, val)
|
5700 |
+
: { from: val };
|
5701 |
+
}
|
5702 |
+
}
|
5703 |
+
else if (process.env.NODE_ENV !== 'production') {
|
5704 |
+
warn$2("Invalid value for option \"inject\": expected an Array or an Object, " +
|
5705 |
+
"but got ".concat(toRawType(inject), "."), vm);
|
5706 |
+
}
|
5707 |
+
}
|
5708 |
+
/**
|
5709 |
+
* Normalize raw function directives into object format.
|
5710 |
+
*/
|
5711 |
+
function normalizeDirectives$1(options) {
|
5712 |
+
var dirs = options.directives;
|
5713 |
+
if (dirs) {
|
5714 |
+
for (var key in dirs) {
|
5715 |
+
var def = dirs[key];
|
5716 |
+
if (isFunction(def)) {
|
5717 |
+
dirs[key] = { bind: def, update: def };
|
5718 |
+
}
|
5719 |
+
}
|
5720 |
+
}
|
5721 |
+
}
|
5722 |
+
function assertObjectType(name, value, vm) {
|
5723 |
+
if (!isPlainObject(value)) {
|
5724 |
+
warn$2("Invalid value for option \"".concat(name, "\": expected an Object, ") +
|
5725 |
+
"but got ".concat(toRawType(value), "."), vm);
|
5726 |
+
}
|
5727 |
+
}
|
5728 |
+
/**
|
5729 |
+
* Merge two option objects into a new one.
|
5730 |
+
* Core utility used in both instantiation and inheritance.
|
5731 |
+
*/
|
5732 |
+
function mergeOptions(parent, child, vm) {
|
5733 |
+
if (process.env.NODE_ENV !== 'production') {
|
5734 |
+
checkComponents(child);
|
5735 |
+
}
|
5736 |
+
if (isFunction(child)) {
|
5737 |
+
// @ts-expect-error
|
5738 |
+
child = child.options;
|
5739 |
+
}
|
5740 |
+
normalizeProps(child, vm);
|
5741 |
+
normalizeInject(child, vm);
|
5742 |
+
normalizeDirectives$1(child);
|
5743 |
+
// Apply extends and mixins on the child options,
|
5744 |
+
// but only if it is a raw options object that isn't
|
5745 |
+
// the result of another mergeOptions call.
|
5746 |
+
// Only merged options has the _base property.
|
5747 |
+
if (!child._base) {
|
5748 |
+
if (child.extends) {
|
5749 |
+
parent = mergeOptions(parent, child.extends, vm);
|
5750 |
+
}
|
5751 |
+
if (child.mixins) {
|
5752 |
+
for (var i = 0, l = child.mixins.length; i < l; i++) {
|
5753 |
+
parent = mergeOptions(parent, child.mixins[i], vm);
|
5754 |
+
}
|
5755 |
+
}
|
5756 |
+
}
|
5757 |
+
var options = {};
|
5758 |
+
var key;
|
5759 |
+
for (key in parent) {
|
5760 |
+
mergeField(key);
|
5761 |
+
}
|
5762 |
+
for (key in child) {
|
5763 |
+
if (!hasOwn(parent, key)) {
|
5764 |
+
mergeField(key);
|
5765 |
+
}
|
5766 |
+
}
|
5767 |
+
function mergeField(key) {
|
5768 |
+
var strat = strats[key] || defaultStrat;
|
5769 |
+
options[key] = strat(parent[key], child[key], vm, key);
|
5770 |
+
}
|
5771 |
+
return options;
|
5772 |
+
}
|
5773 |
+
/**
|
5774 |
+
* Resolve an asset.
|
5775 |
+
* This function is used because child instances need access
|
5776 |
+
* to assets defined in its ancestor chain.
|
5777 |
+
*/
|
5778 |
+
function resolveAsset(options, type, id, warnMissing) {
|
5779 |
+
/* istanbul ignore if */
|
5780 |
+
if (typeof id !== 'string') {
|
5781 |
+
return;
|
5782 |
+
}
|
5783 |
+
var assets = options[type];
|
5784 |
+
// check local registration variations first
|
5785 |
+
if (hasOwn(assets, id))
|
5786 |
+
return assets[id];
|
5787 |
+
var camelizedId = camelize(id);
|
5788 |
+
if (hasOwn(assets, camelizedId))
|
5789 |
+
return assets[camelizedId];
|
5790 |
+
var PascalCaseId = capitalize(camelizedId);
|
5791 |
+
if (hasOwn(assets, PascalCaseId))
|
5792 |
+
return assets[PascalCaseId];
|
5793 |
+
// fallback to prototype chain
|
5794 |
+
var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];
|
5795 |
+
if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {
|
5796 |
+
warn$2('Failed to resolve ' + type.slice(0, -1) + ': ' + id);
|
5797 |
+
}
|
5798 |
+
return res;
|
5799 |
+
}
|
5800 |
+
|
5801 |
+
function validateProp(key, propOptions, propsData, vm) {
|
5802 |
+
var prop = propOptions[key];
|
5803 |
+
var absent = !hasOwn(propsData, key);
|
5804 |
+
var value = propsData[key];
|
5805 |
+
// boolean casting
|
5806 |
+
var booleanIndex = getTypeIndex(Boolean, prop.type);
|
5807 |
+
if (booleanIndex > -1) {
|
5808 |
+
if (absent && !hasOwn(prop, 'default')) {
|
5809 |
+
value = false;
|
5810 |
+
}
|
5811 |
+
else if (value === '' || value === hyphenate(key)) {
|
5812 |
+
// only cast empty string / same name to boolean if
|
5813 |
+
// boolean has higher priority
|
5814 |
+
var stringIndex = getTypeIndex(String, prop.type);
|
5815 |
+
if (stringIndex < 0 || booleanIndex < stringIndex) {
|
5816 |
+
value = true;
|
5817 |
+
}
|
5818 |
+
}
|
5819 |
+
}
|
5820 |
+
// check default value
|
5821 |
+
if (value === undefined) {
|
5822 |
+
value = getPropDefaultValue(vm, prop, key);
|
5823 |
+
// since the default value is a fresh copy,
|
5824 |
+
// make sure to observe it.
|
5825 |
+
var prevShouldObserve = shouldObserve;
|
5826 |
+
toggleObserving(true);
|
5827 |
+
observe(value);
|
5828 |
+
toggleObserving(prevShouldObserve);
|
5829 |
+
}
|
5830 |
+
if (process.env.NODE_ENV !== 'production') {
|
5831 |
+
assertProp(prop, key, value, vm, absent);
|
5832 |
+
}
|
5833 |
+
return value;
|
5834 |
+
}
|
5835 |
+
/**
|
5836 |
+
* Get the default value of a prop.
|
5837 |
+
*/
|
5838 |
+
function getPropDefaultValue(vm, prop, key) {
|
5839 |
+
// no default, return undefined
|
5840 |
+
if (!hasOwn(prop, 'default')) {
|
5841 |
+
return undefined;
|
5842 |
+
}
|
5843 |
+
var def = prop.default;
|
5844 |
+
// warn against non-factory defaults for Object & Array
|
5845 |
+
if (process.env.NODE_ENV !== 'production' && isObject(def)) {
|
5846 |
+
warn$2('Invalid default value for prop "' +
|
5847 |
+
key +
|
5848 |
+
'": ' +
|
5849 |
+
'Props with type Object/Array must use a factory function ' +
|
5850 |
+
'to return the default value.', vm);
|
5851 |
+
}
|
5852 |
+
// the raw prop value was also undefined from previous render,
|
5853 |
+
// return previous default value to avoid unnecessary watcher trigger
|
5854 |
+
if (vm &&
|
5855 |
+
vm.$options.propsData &&
|
5856 |
+
vm.$options.propsData[key] === undefined &&
|
5857 |
+
vm._props[key] !== undefined) {
|
5858 |
+
return vm._props[key];
|
5859 |
+
}
|
5860 |
+
// call factory function for non-Function types
|
5861 |
+
// a value is Function if its prototype is function even across different execution context
|
5862 |
+
return isFunction(def) && getType(prop.type) !== 'Function'
|
5863 |
+
? def.call(vm)
|
5864 |
+
: def;
|
5865 |
+
}
|
5866 |
+
/**
|
5867 |
+
* Assert whether a prop is valid.
|
5868 |
+
*/
|
5869 |
+
function assertProp(prop, name, value, vm, absent) {
|
5870 |
+
if (prop.required && absent) {
|
5871 |
+
warn$2('Missing required prop: "' + name + '"', vm);
|
5872 |
+
return;
|
5873 |
+
}
|
5874 |
+
if (value == null && !prop.required) {
|
5875 |
+
return;
|
5876 |
+
}
|
5877 |
+
var type = prop.type;
|
5878 |
+
var valid = !type || type === true;
|
5879 |
+
var expectedTypes = [];
|
5880 |
+
if (type) {
|
5881 |
+
if (!isArray(type)) {
|
5882 |
+
type = [type];
|
5883 |
+
}
|
5884 |
+
for (var i = 0; i < type.length && !valid; i++) {
|
5885 |
+
var assertedType = assertType(value, type[i], vm);
|
5886 |
+
expectedTypes.push(assertedType.expectedType || '');
|
5887 |
+
valid = assertedType.valid;
|
5888 |
+
}
|
5889 |
+
}
|
5890 |
+
var haveExpectedTypes = expectedTypes.some(function (t) { return t; });
|
5891 |
+
if (!valid && haveExpectedTypes) {
|
5892 |
+
warn$2(getInvalidTypeMessage(name, value, expectedTypes), vm);
|
5893 |
+
return;
|
5894 |
+
}
|
5895 |
+
var validator = prop.validator;
|
5896 |
+
if (validator) {
|
5897 |
+
if (!validator(value)) {
|
5898 |
+
warn$2('Invalid prop: custom validator check failed for prop "' + name + '".', vm);
|
5899 |
+
}
|
5900 |
+
}
|
5901 |
+
}
|
5902 |
+
var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;
|
5903 |
+
function assertType(value, type, vm) {
|
5904 |
+
var valid;
|
5905 |
+
var expectedType = getType(type);
|
5906 |
+
if (simpleCheckRE.test(expectedType)) {
|
5907 |
+
var t = typeof value;
|
5908 |
+
valid = t === expectedType.toLowerCase();
|
5909 |
+
// for primitive wrapper objects
|
5910 |
+
if (!valid && t === 'object') {
|
5911 |
+
valid = value instanceof type;
|
5912 |
+
}
|
5913 |
+
}
|
5914 |
+
else if (expectedType === 'Object') {
|
5915 |
+
valid = isPlainObject(value);
|
5916 |
+
}
|
5917 |
+
else if (expectedType === 'Array') {
|
5918 |
+
valid = isArray(value);
|
5919 |
+
}
|
5920 |
+
else {
|
5921 |
+
try {
|
5922 |
+
valid = value instanceof type;
|
5923 |
+
}
|
5924 |
+
catch (e) {
|
5925 |
+
warn$2('Invalid prop type: "' + String(type) + '" is not a constructor', vm);
|
5926 |
+
valid = false;
|
5927 |
+
}
|
5928 |
+
}
|
5929 |
+
return {
|
5930 |
+
valid: valid,
|
5931 |
+
expectedType: expectedType
|
5932 |
+
};
|
5933 |
+
}
|
5934 |
+
var functionTypeCheckRE = /^\s*function (\w+)/;
|
5935 |
+
/**
|
5936 |
+
* Use function string name to check built-in types,
|
5937 |
+
* because a simple equality check will fail when running
|
5938 |
+
* across different vms / iframes.
|
5939 |
+
*/
|
5940 |
+
function getType(fn) {
|
5941 |
+
var match = fn && fn.toString().match(functionTypeCheckRE);
|
5942 |
+
return match ? match[1] : '';
|
5943 |
+
}
|
5944 |
+
function isSameType(a, b) {
|
5945 |
+
return getType(a) === getType(b);
|
5946 |
+
}
|
5947 |
+
function getTypeIndex(type, expectedTypes) {
|
5948 |
+
if (!isArray(expectedTypes)) {
|
5949 |
+
return isSameType(expectedTypes, type) ? 0 : -1;
|
5950 |
+
}
|
5951 |
+
for (var i = 0, len = expectedTypes.length; i < len; i++) {
|
5952 |
+
if (isSameType(expectedTypes[i], type)) {
|
5953 |
+
return i;
|
5954 |
+
}
|
5955 |
+
}
|
5956 |
+
return -1;
|
5957 |
+
}
|
5958 |
+
function getInvalidTypeMessage(name, value, expectedTypes) {
|
5959 |
+
var message = "Invalid prop: type check failed for prop \"".concat(name, "\".") +
|
5960 |
+
" Expected ".concat(expectedTypes.map(capitalize).join(', '));
|
5961 |
+
var expectedType = expectedTypes[0];
|
5962 |
+
var receivedType = toRawType(value);
|
5963 |
+
// check if we need to specify expected value
|
5964 |
+
if (expectedTypes.length === 1 &&
|
5965 |
+
isExplicable(expectedType) &&
|
5966 |
+
isExplicable(typeof value) &&
|
5967 |
+
!isBoolean(expectedType, receivedType)) {
|
5968 |
+
message += " with value ".concat(styleValue(value, expectedType));
|
5969 |
+
}
|
5970 |
+
message += ", got ".concat(receivedType, " ");
|
5971 |
+
// check if we need to specify received value
|
5972 |
+
if (isExplicable(receivedType)) {
|
5973 |
+
message += "with value ".concat(styleValue(value, receivedType), ".");
|
5974 |
+
}
|
5975 |
+
return message;
|
5976 |
+
}
|
5977 |
+
function styleValue(value, type) {
|
5978 |
+
if (type === 'String') {
|
5979 |
+
return "\"".concat(value, "\"");
|
5980 |
+
}
|
5981 |
+
else if (type === 'Number') {
|
5982 |
+
return "".concat(Number(value));
|
5983 |
+
}
|
5984 |
+
else {
|
5985 |
+
return "".concat(value);
|
5986 |
+
}
|
5987 |
+
}
|
5988 |
+
var EXPLICABLE_TYPES = ['string', 'number', 'boolean'];
|
5989 |
+
function isExplicable(value) {
|
5990 |
+
return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; });
|
5991 |
+
}
|
5992 |
+
function isBoolean() {
|
5993 |
+
var args = [];
|
5994 |
+
for (var _i = 0; _i < arguments.length; _i++) {
|
5995 |
+
args[_i] = arguments[_i];
|
5996 |
+
}
|
5997 |
+
return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; });
|
5998 |
+
}
|
5999 |
+
|
6000 |
+
function Vue(options) {
|
6001 |
+
if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue)) {
|
6002 |
+
warn$2('Vue is a constructor and should be called with the `new` keyword');
|
6003 |
+
}
|
6004 |
+
this._init(options);
|
6005 |
+
}
|
6006 |
+
//@ts-expect-error Vue has function type
|
6007 |
+
initMixin$1(Vue);
|
6008 |
+
//@ts-expect-error Vue has function type
|
6009 |
+
stateMixin(Vue);
|
6010 |
+
//@ts-expect-error Vue has function type
|
6011 |
+
eventsMixin(Vue);
|
6012 |
+
//@ts-expect-error Vue has function type
|
6013 |
+
lifecycleMixin(Vue);
|
6014 |
+
//@ts-expect-error Vue has function type
|
6015 |
+
renderMixin(Vue);
|
6016 |
|
6017 |
+
function initUse(Vue) {
|
6018 |
+
Vue.use = function (plugin) {
|
6019 |
+
var installedPlugins = this._installedPlugins || (this._installedPlugins = []);
|
6020 |
+
if (installedPlugins.indexOf(plugin) > -1) {
|
6021 |
+
return this;
|
6022 |
+
}
|
6023 |
+
// additional parameters
|
6024 |
+
var args = toArray(arguments, 1);
|
6025 |
+
args.unshift(this);
|
6026 |
+
if (isFunction(plugin.install)) {
|
6027 |
+
plugin.install.apply(plugin, args);
|
6028 |
+
}
|
6029 |
+
else if (isFunction(plugin)) {
|
6030 |
+
plugin.apply(null, args);
|
6031 |
+
}
|
6032 |
+
installedPlugins.push(plugin);
|
6033 |
+
return this;
|
6034 |
+
};
|
6035 |
+
}
|
6036 |
+
|
6037 |
+
function initMixin(Vue) {
|
6038 |
+
Vue.mixin = function (mixin) {
|
6039 |
+
this.options = mergeOptions(this.options, mixin);
|
6040 |
+
return this;
|
6041 |
+
};
|
6042 |
+
}
|
6043 |
+
|
6044 |
+
function initExtend(Vue) {
|
6045 |
+
/**
|
6046 |
+
* Each instance constructor, including Vue, has a unique
|
6047 |
+
* cid. This enables us to create wrapped "child
|
6048 |
+
* constructors" for prototypal inheritance and cache them.
|
6049 |
+
*/
|
6050 |
+
Vue.cid = 0;
|
6051 |
+
var cid = 1;
|
6052 |
+
/**
|
6053 |
+
* Class inheritance
|
6054 |
+
*/
|
6055 |
+
Vue.extend = function (extendOptions) {
|
6056 |
+
extendOptions = extendOptions || {};
|
6057 |
+
var Super = this;
|
6058 |
+
var SuperId = Super.cid;
|
6059 |
+
var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
|
6060 |
+
if (cachedCtors[SuperId]) {
|
6061 |
+
return cachedCtors[SuperId];
|
6062 |
+
}
|
6063 |
+
var name = getComponentName(extendOptions) || getComponentName(Super.options);
|
6064 |
+
if (process.env.NODE_ENV !== 'production' && name) {
|
6065 |
+
validateComponentName(name);
|
6066 |
+
}
|
6067 |
+
var Sub = function VueComponent(options) {
|
6068 |
+
this._init(options);
|
6069 |
+
};
|
6070 |
+
Sub.prototype = Object.create(Super.prototype);
|
6071 |
+
Sub.prototype.constructor = Sub;
|
6072 |
+
Sub.cid = cid++;
|
6073 |
+
Sub.options = mergeOptions(Super.options, extendOptions);
|
6074 |
+
Sub['super'] = Super;
|
6075 |
+
// For props and computed properties, we define the proxy getters on
|
6076 |
+
// the Vue instances at extension time, on the extended prototype. This
|
6077 |
+
// avoids Object.defineProperty calls for each instance created.
|
6078 |
+
if (Sub.options.props) {
|
6079 |
+
initProps(Sub);
|
6080 |
+
}
|
6081 |
+
if (Sub.options.computed) {
|
6082 |
+
initComputed(Sub);
|
6083 |
+
}
|
6084 |
+
// allow further extension/mixin/plugin usage
|
6085 |
+
Sub.extend = Super.extend;
|
6086 |
+
Sub.mixin = Super.mixin;
|
6087 |
+
Sub.use = Super.use;
|
6088 |
+
// create asset registers, so extended classes
|
6089 |
+
// can have their private assets too.
|
6090 |
+
ASSET_TYPES.forEach(function (type) {
|
6091 |
+
Sub[type] = Super[type];
|
6092 |
+
});
|
6093 |
+
// enable recursive self-lookup
|
6094 |
+
if (name) {
|
6095 |
+
Sub.options.components[name] = Sub;
|
6096 |
+
}
|
6097 |
+
// keep a reference to the super options at extension time.
|
6098 |
+
// later at instantiation we can check if Super's options have
|
6099 |
+
// been updated.
|
6100 |
+
Sub.superOptions = Super.options;
|
6101 |
+
Sub.extendOptions = extendOptions;
|
6102 |
+
Sub.sealedOptions = extend({}, Sub.options);
|
6103 |
+
// cache constructor
|
6104 |
+
cachedCtors[SuperId] = Sub;
|
6105 |
+
return Sub;
|
6106 |
+
};
|
6107 |
+
}
|
6108 |
+
function initProps(Comp) {
|
6109 |
+
var props = Comp.options.props;
|
6110 |
+
for (var key in props) {
|
6111 |
+
proxy(Comp.prototype, "_props", key);
|
6112 |
+
}
|
6113 |
+
}
|
6114 |
+
function initComputed(Comp) {
|
6115 |
+
var computed = Comp.options.computed;
|
6116 |
+
for (var key in computed) {
|
6117 |
+
defineComputed(Comp.prototype, key, computed[key]);
|
6118 |
+
}
|
6119 |
+
}
|
6120 |
+
|
6121 |
+
function initAssetRegisters(Vue) {
|
6122 |
+
/**
|
6123 |
+
* Create asset registration methods.
|
6124 |
+
*/
|
6125 |
+
ASSET_TYPES.forEach(function (type) {
|
6126 |
+
// @ts-expect-error function is not exact same type
|
6127 |
+
Vue[type] = function (id, definition) {
|
6128 |
+
if (!definition) {
|
6129 |
+
return this.options[type + 's'][id];
|
6130 |
+
}
|
6131 |
+
else {
|
6132 |
+
/* istanbul ignore if */
|
6133 |
+
if (process.env.NODE_ENV !== 'production' && type === 'component') {
|
6134 |
+
validateComponentName(id);
|
6135 |
+
}
|
6136 |
+
if (type === 'component' && isPlainObject(definition)) {
|
6137 |
+
// @ts-expect-error
|
6138 |
+
definition.name = definition.name || id;
|
6139 |
+
definition = this.options._base.extend(definition);
|
6140 |
+
}
|
6141 |
+
if (type === 'directive' && isFunction(definition)) {
|
6142 |
+
definition = { bind: definition, update: definition };
|
6143 |
+
}
|
6144 |
+
this.options[type + 's'][id] = definition;
|
6145 |
+
return definition;
|
6146 |
+
}
|
6147 |
+
};
|
6148 |
+
});
|
6149 |
+
}
|
6150 |
+
|
6151 |
+
function _getComponentName(opts) {
|
6152 |
+
return opts && (getComponentName(opts.Ctor.options) || opts.tag);
|
6153 |
+
}
|
6154 |
+
function matches(pattern, name) {
|
6155 |
+
if (isArray(pattern)) {
|
6156 |
+
return pattern.indexOf(name) > -1;
|
6157 |
+
}
|
6158 |
+
else if (typeof pattern === 'string') {
|
6159 |
+
return pattern.split(',').indexOf(name) > -1;
|
6160 |
+
}
|
6161 |
+
else if (isRegExp(pattern)) {
|
6162 |
+
return pattern.test(name);
|
6163 |
+
}
|
6164 |
+
/* istanbul ignore next */
|
6165 |
+
return false;
|
6166 |
+
}
|
6167 |
+
function pruneCache(keepAliveInstance, filter) {
|
6168 |
+
var cache = keepAliveInstance.cache, keys = keepAliveInstance.keys, _vnode = keepAliveInstance._vnode;
|
6169 |
+
for (var key in cache) {
|
6170 |
+
var entry = cache[key];
|
6171 |
+
if (entry) {
|
6172 |
+
var name_1 = entry.name;
|
6173 |
+
if (name_1 && !filter(name_1)) {
|
6174 |
+
pruneCacheEntry(cache, key, keys, _vnode);
|
6175 |
+
}
|
6176 |
+
}
|
6177 |
+
}
|
6178 |
+
}
|
6179 |
+
function pruneCacheEntry(cache, key, keys, current) {
|
6180 |
+
var entry = cache[key];
|
6181 |
+
if (entry && (!current || entry.tag !== current.tag)) {
|
6182 |
+
// @ts-expect-error can be undefined
|
6183 |
+
entry.componentInstance.$destroy();
|
6184 |
+
}
|
6185 |
+
cache[key] = null;
|
6186 |
+
remove$2(keys, key);
|
6187 |
+
}
|
6188 |
+
var patternTypes = [String, RegExp, Array];
|
6189 |
+
// TODO defineComponent
|
6190 |
+
var KeepAlive = {
|
6191 |
+
name: 'keep-alive',
|
6192 |
+
abstract: true,
|
6193 |
+
props: {
|
6194 |
+
include: patternTypes,
|
6195 |
+
exclude: patternTypes,
|
6196 |
+
max: [String, Number]
|
6197 |
+
},
|
6198 |
+
methods: {
|
6199 |
+
cacheVNode: function () {
|
6200 |
+
var _a = this, cache = _a.cache, keys = _a.keys, vnodeToCache = _a.vnodeToCache, keyToCache = _a.keyToCache;
|
6201 |
+
if (vnodeToCache) {
|
6202 |
+
var tag = vnodeToCache.tag, componentInstance = vnodeToCache.componentInstance, componentOptions = vnodeToCache.componentOptions;
|
6203 |
+
cache[keyToCache] = {
|
6204 |
+
name: _getComponentName(componentOptions),
|
6205 |
+
tag: tag,
|
6206 |
+
componentInstance: componentInstance
|
6207 |
+
};
|
6208 |
+
keys.push(keyToCache);
|
6209 |
+
// prune oldest entry
|
6210 |
+
if (this.max && keys.length > parseInt(this.max)) {
|
6211 |
+
pruneCacheEntry(cache, keys[0], keys, this._vnode);
|
6212 |
+
}
|
6213 |
+
this.vnodeToCache = null;
|
6214 |
+
}
|
6215 |
+
}
|
6216 |
+
},
|
6217 |
+
created: function () {
|
6218 |
+
this.cache = Object.create(null);
|
6219 |
+
this.keys = [];
|
6220 |
+
},
|
6221 |
+
destroyed: function () {
|
6222 |
+
for (var key in this.cache) {
|
6223 |
+
pruneCacheEntry(this.cache, key, this.keys);
|
6224 |
+
}
|
6225 |
+
},
|
6226 |
+
mounted: function () {
|
6227 |
+
var _this = this;
|
6228 |
+
this.cacheVNode();
|
6229 |
+
this.$watch('include', function (val) {
|
6230 |
+
pruneCache(_this, function (name) { return matches(val, name); });
|
6231 |
+
});
|
6232 |
+
this.$watch('exclude', function (val) {
|
6233 |
+
pruneCache(_this, function (name) { return !matches(val, name); });
|
6234 |
+
});
|
6235 |
+
},
|
6236 |
+
updated: function () {
|
6237 |
+
this.cacheVNode();
|
6238 |
+
},
|
6239 |
+
render: function () {
|
6240 |
+
var slot = this.$slots.default;
|
6241 |
+
var vnode = getFirstComponentChild(slot);
|
6242 |
+
var componentOptions = vnode && vnode.componentOptions;
|
6243 |
+
if (componentOptions) {
|
6244 |
+
// check pattern
|
6245 |
+
var name_2 = _getComponentName(componentOptions);
|
6246 |
+
var _a = this, include = _a.include, exclude = _a.exclude;
|
6247 |
+
if (
|
6248 |
+
// not included
|
6249 |
+
(include && (!name_2 || !matches(include, name_2))) ||
|
6250 |
+
// excluded
|
6251 |
+
(exclude && name_2 && matches(exclude, name_2))) {
|
6252 |
+
return vnode;
|
6253 |
+
}
|
6254 |
+
var _b = this, cache = _b.cache, keys = _b.keys;
|
6255 |
+
var key = vnode.key == null
|
6256 |
+
? // same constructor may get registered as different local components
|
6257 |
+
// so cid alone is not enough (#3269)
|
6258 |
+
componentOptions.Ctor.cid +
|
6259 |
+
(componentOptions.tag ? "::".concat(componentOptions.tag) : '')
|
6260 |
+
: vnode.key;
|
6261 |
+
if (cache[key]) {
|
6262 |
+
vnode.componentInstance = cache[key].componentInstance;
|
6263 |
+
// make current key freshest
|
6264 |
+
remove$2(keys, key);
|
6265 |
+
keys.push(key);
|
6266 |
+
}
|
6267 |
+
else {
|
6268 |
+
// delay setting the cache until update
|
6269 |
+
this.vnodeToCache = vnode;
|
6270 |
+
this.keyToCache = key;
|
6271 |
+
}
|
6272 |
+
// @ts-expect-error can vnode.data can be undefined
|
6273 |
+
vnode.data.keepAlive = true;
|
6274 |
+
}
|
6275 |
+
return vnode || (slot && slot[0]);
|
6276 |
+
}
|
6277 |
+
};
|
6278 |
|
6279 |
+
var builtInComponents = {
|
6280 |
+
KeepAlive: KeepAlive
|
6281 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6282 |
|
6283 |
+
function initGlobalAPI(Vue) {
|
6284 |
+
// config
|
6285 |
+
var configDef = {};
|
6286 |
+
configDef.get = function () { return config; };
|
6287 |
+
if (process.env.NODE_ENV !== 'production') {
|
6288 |
+
configDef.set = function () {
|
6289 |
+
warn$2('Do not replace the Vue.config object, set individual fields instead.');
|
6290 |
+
};
|
6291 |
+
}
|
6292 |
+
Object.defineProperty(Vue, 'config', configDef);
|
6293 |
+
// exposed util methods.
|
6294 |
+
// NOTE: these are not considered part of the public API - avoid relying on
|
6295 |
+
// them unless you are aware of the risk.
|
6296 |
+
Vue.util = {
|
6297 |
+
warn: warn$2,
|
6298 |
+
extend: extend,
|
6299 |
+
mergeOptions: mergeOptions,
|
6300 |
+
defineReactive: defineReactive
|
6301 |
+
};
|
6302 |
+
Vue.set = set;
|
6303 |
+
Vue.delete = del;
|
6304 |
+
Vue.nextTick = nextTick;
|
6305 |
+
// 2.6 explicit observable API
|
6306 |
+
Vue.observable = function (obj) {
|
6307 |
+
observe(obj);
|
6308 |
+
return obj;
|
6309 |
+
};
|
6310 |
+
Vue.options = Object.create(null);
|
6311 |
+
ASSET_TYPES.forEach(function (type) {
|
6312 |
+
Vue.options[type + 's'] = Object.create(null);
|
6313 |
+
});
|
6314 |
+
// this is used to identify the "base" constructor to extend all plain-object
|
6315 |
+
// components with in Weex's multi-instance scenarios.
|
6316 |
+
Vue.options._base = Vue;
|
6317 |
+
extend(Vue.options.components, builtInComponents);
|
6318 |
+
initUse(Vue);
|
6319 |
+
initMixin(Vue);
|
6320 |
+
initExtend(Vue);
|
6321 |
+
initAssetRegisters(Vue);
|
6322 |
+
}
|
6323 |
+
|
6324 |
+
initGlobalAPI(Vue);
|
6325 |
+
Object.defineProperty(Vue.prototype, '$isServer', {
|
6326 |
+
get: isServerRendering
|
6327 |
+
});
|
6328 |
+
Object.defineProperty(Vue.prototype, '$ssrContext', {
|
6329 |
+
get: function () {
|
6330 |
+
/* istanbul ignore next */
|
6331 |
+
return this.$vnode && this.$vnode.ssrContext;
|
6332 |
+
}
|
6333 |
+
});
|
6334 |
+
// expose FunctionalRenderContext for ssr runtime helper installation
|
6335 |
+
Object.defineProperty(Vue, 'FunctionalRenderContext', {
|
6336 |
+
value: FunctionalRenderContext
|
6337 |
+
});
|
6338 |
+
Vue.version = version;
|
6339 |
+
|
6340 |
+
// these are reserved for web because they are directly compiled away
|
6341 |
+
// during template compilation
|
6342 |
+
var isReservedAttr = makeMap('style,class');
|
6343 |
+
// attributes that should be using props for binding
|
6344 |
+
var acceptValue = makeMap('input,textarea,option,select,progress');
|
6345 |
+
var mustUseProp = function (tag, type, attr) {
|
6346 |
+
return ((attr === 'value' && acceptValue(tag) && type !== 'button') ||
|
6347 |
+
(attr === 'selected' && tag === 'option') ||
|
6348 |
+
(attr === 'checked' && tag === 'input') ||
|
6349 |
+
(attr === 'muted' && tag === 'video'));
|
6350 |
+
};
|
6351 |
+
var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
|
6352 |
+
var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');
|
6353 |
+
var convertEnumeratedValue = function (key, value) {
|
6354 |
+
return isFalsyAttrValue(value) || value === 'false'
|
6355 |
+
? 'false'
|
6356 |
+
: // allow arbitrary string value for contenteditable
|
6357 |
+
key === 'contenteditable' && isValidContentEditableValue(value)
|
6358 |
+
? value
|
6359 |
+
: 'true';
|
6360 |
+
};
|
6361 |
+
var isBooleanAttr = makeMap('allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
|
6362 |
+
'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
|
6363 |
+
'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +
|
6364 |
+
'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +
|
6365 |
+
'required,reversed,scoped,seamless,selected,sortable,' +
|
6366 |
+
'truespeed,typemustmatch,visible');
|
6367 |
+
var xlinkNS = 'http://www.w3.org/1999/xlink';
|
6368 |
+
var isXlink = function (name) {
|
6369 |
+
return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink';
|
6370 |
+
};
|
6371 |
+
var getXlinkProp = function (name) {
|
6372 |
+
return isXlink(name) ? name.slice(6, name.length) : '';
|
6373 |
+
};
|
6374 |
+
var isFalsyAttrValue = function (val) {
|
6375 |
+
return val == null || val === false;
|
6376 |
+
};
|
6377 |
|
6378 |
+
function genClassForVnode(vnode) {
|
6379 |
+
var data = vnode.data;
|
6380 |
+
var parentNode = vnode;
|
6381 |
+
var childNode = vnode;
|
6382 |
+
while (isDef(childNode.componentInstance)) {
|
6383 |
+
childNode = childNode.componentInstance._vnode;
|
6384 |
+
if (childNode && childNode.data) {
|
6385 |
+
data = mergeClassData(childNode.data, data);
|
6386 |
+
}
|
6387 |
+
}
|
6388 |
+
// @ts-expect-error parentNode.parent not VNodeWithData
|
6389 |
+
while (isDef((parentNode = parentNode.parent))) {
|
6390 |
+
if (parentNode && parentNode.data) {
|
6391 |
+
data = mergeClassData(data, parentNode.data);
|
6392 |
+
}
|
6393 |
+
}
|
6394 |
+
return renderClass(data.staticClass, data.class);
|
6395 |
+
}
|
6396 |
+
function mergeClassData(child, parent) {
|
6397 |
+
return {
|
6398 |
+
staticClass: concat(child.staticClass, parent.staticClass),
|
6399 |
+
class: isDef(child.class) ? [child.class, parent.class] : parent.class
|
6400 |
+
};
|
6401 |
+
}
|
6402 |
+
function renderClass(staticClass, dynamicClass) {
|
6403 |
+
if (isDef(staticClass) || isDef(dynamicClass)) {
|
6404 |
+
return concat(staticClass, stringifyClass(dynamicClass));
|
6405 |
+
}
|
6406 |
+
/* istanbul ignore next */
|
6407 |
+
return '';
|
6408 |
+
}
|
6409 |
+
function concat(a, b) {
|
6410 |
+
return a ? (b ? a + ' ' + b : a) : b || '';
|
6411 |
+
}
|
6412 |
+
function stringifyClass(value) {
|
6413 |
+
if (Array.isArray(value)) {
|
6414 |
+
return stringifyArray(value);
|
6415 |
+
}
|
6416 |
+
if (isObject(value)) {
|
6417 |
+
return stringifyObject(value);
|
6418 |
+
}
|
6419 |
+
if (typeof value === 'string') {
|
6420 |
+
return value;
|
6421 |
+
}
|
6422 |
+
/* istanbul ignore next */
|
6423 |
+
return '';
|
6424 |
+
}
|
6425 |
+
function stringifyArray(value) {
|
6426 |
+
var res = '';
|
6427 |
+
var stringified;
|
6428 |
+
for (var i = 0, l = value.length; i < l; i++) {
|
6429 |
+
if (isDef((stringified = stringifyClass(value[i]))) && stringified !== '') {
|
6430 |
+
if (res)
|
6431 |
+
res += ' ';
|
6432 |
+
res += stringified;
|
6433 |
+
}
|
6434 |
+
}
|
6435 |
+
return res;
|
6436 |
+
}
|
6437 |
+
function stringifyObject(value) {
|
6438 |
+
var res = '';
|
6439 |
+
for (var key in value) {
|
6440 |
+
if (value[key]) {
|
6441 |
+
if (res)
|
6442 |
+
res += ' ';
|
6443 |
+
res += key;
|
6444 |
+
}
|
6445 |
+
}
|
6446 |
+
return res;
|
6447 |
+
}
|
6448 |
+
|
6449 |
+
var namespaceMap = {
|
6450 |
+
svg: 'http://www.w3.org/2000/svg',
|
6451 |
+
math: 'http://www.w3.org/1998/Math/MathML'
|
6452 |
+
};
|
6453 |
+
var isHTMLTag = makeMap('html,body,base,head,link,meta,style,title,' +
|
6454 |
+
'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
|
6455 |
+
'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +
|
6456 |
+
'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +
|
6457 |
+
's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +
|
6458 |
+
'embed,object,param,source,canvas,script,noscript,del,ins,' +
|
6459 |
+
'caption,col,colgroup,table,thead,tbody,td,th,tr,' +
|
6460 |
+
'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +
|
6461 |
+
'output,progress,select,textarea,' +
|
6462 |
+
'details,dialog,menu,menuitem,summary,' +
|
6463 |
+
'content,element,shadow,template,blockquote,iframe,tfoot');
|
6464 |
+
// this map is intentionally selective, only covering SVG elements that may
|
6465 |
+
// contain child elements.
|
6466 |
+
var isSVG = makeMap('svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +
|
6467 |
+
'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +
|
6468 |
+
'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', true);
|
6469 |
+
var isPreTag = function (tag) { return tag === 'pre'; };
|
6470 |
+
var isReservedTag = function (tag) {
|
6471 |
+
return isHTMLTag(tag) || isSVG(tag);
|
6472 |
+
};
|
6473 |
+
function getTagNamespace(tag) {
|
6474 |
+
if (isSVG(tag)) {
|
6475 |
+
return 'svg';
|
6476 |
+
}
|
6477 |
+
// basic support for MathML
|
6478 |
+
// note it doesn't support other MathML elements being component roots
|
6479 |
+
if (tag === 'math') {
|
6480 |
+
return 'math';
|
6481 |
+
}
|
6482 |
+
}
|
6483 |
+
var unknownElementCache = Object.create(null);
|
6484 |
+
function isUnknownElement(tag) {
|
6485 |
+
/* istanbul ignore if */
|
6486 |
+
if (!inBrowser) {
|
6487 |
+
return true;
|
6488 |
+
}
|
6489 |
+
if (isReservedTag(tag)) {
|
6490 |
+
return false;
|
6491 |
+
}
|
6492 |
+
tag = tag.toLowerCase();
|
6493 |
+
/* istanbul ignore if */
|
6494 |
+
if (unknownElementCache[tag] != null) {
|
6495 |
+
return unknownElementCache[tag];
|
6496 |
+
}
|
6497 |
+
var el = document.createElement(tag);
|
6498 |
+
if (tag.indexOf('-') > -1) {
|
6499 |
+
// http://stackoverflow.com/a/28210364/1070244
|
6500 |
+
return (unknownElementCache[tag] =
|
6501 |
+
el.constructor === window.HTMLUnknownElement ||
|
6502 |
+
el.constructor === window.HTMLElement);
|
6503 |
+
}
|
6504 |
+
else {
|
6505 |
+
return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()));
|
6506 |
+
}
|
6507 |
+
}
|
6508 |
+
var isTextInputType = makeMap('text,number,password,search,email,tel,url');
|
6509 |
|
6510 |
+
/**
|
6511 |
+
* Query an element selector if it's not an element already.
|
6512 |
+
*/
|
6513 |
+
function query(el) {
|
6514 |
+
if (typeof el === 'string') {
|
6515 |
+
var selected = document.querySelector(el);
|
6516 |
+
if (!selected) {
|
6517 |
+
process.env.NODE_ENV !== 'production' && warn$2('Cannot find element: ' + el);
|
6518 |
+
return document.createElement('div');
|
6519 |
+
}
|
6520 |
+
return selected;
|
6521 |
+
}
|
6522 |
+
else {
|
6523 |
+
return el;
|
6524 |
+
}
|
6525 |
+
}
|
6526 |
+
|
6527 |
+
function createElement(tagName, vnode) {
|
6528 |
+
var elm = document.createElement(tagName);
|
6529 |
+
if (tagName !== 'select') {
|
6530 |
+
return elm;
|
6531 |
+
}
|
6532 |
+
// false or null will remove the attribute but undefined will not
|
6533 |
+
if (vnode.data &&
|
6534 |
+
vnode.data.attrs &&
|
6535 |
+
vnode.data.attrs.multiple !== undefined) {
|
6536 |
+
elm.setAttribute('multiple', 'multiple');
|
6537 |
+
}
|
6538 |
+
return elm;
|
6539 |
+
}
|
6540 |
+
function createElementNS(namespace, tagName) {
|
6541 |
+
return document.createElementNS(namespaceMap[namespace], tagName);
|
6542 |
+
}
|
6543 |
+
function createTextNode(text) {
|
6544 |
+
return document.createTextNode(text);
|
6545 |
+
}
|
6546 |
+
function createComment(text) {
|
6547 |
+
return document.createComment(text);
|
6548 |
+
}
|
6549 |
+
function insertBefore(parentNode, newNode, referenceNode) {
|
6550 |
+
parentNode.insertBefore(newNode, referenceNode);
|
6551 |
+
}
|
6552 |
+
function removeChild(node, child) {
|
6553 |
+
node.removeChild(child);
|
6554 |
+
}
|
6555 |
+
function appendChild(node, child) {
|
6556 |
+
node.appendChild(child);
|
6557 |
+
}
|
6558 |
+
function parentNode(node) {
|
6559 |
+
return node.parentNode;
|
6560 |
+
}
|
6561 |
+
function nextSibling(node) {
|
6562 |
+
return node.nextSibling;
|
6563 |
+
}
|
6564 |
+
function tagName(node) {
|
6565 |
+
return node.tagName;
|
6566 |
+
}
|
6567 |
+
function setTextContent(node, text) {
|
6568 |
+
node.textContent = text;
|
6569 |
+
}
|
6570 |
+
function setStyleScope(node, scopeId) {
|
6571 |
+
node.setAttribute(scopeId, '');
|
6572 |
+
}
|
6573 |
|
6574 |
+
var nodeOps = /*#__PURE__*/Object.freeze({
|
6575 |
+
__proto__: null,
|
6576 |
+
createElement: createElement,
|
6577 |
+
createElementNS: createElementNS,
|
6578 |
+
createTextNode: createTextNode,
|
6579 |
+
createComment: createComment,
|
6580 |
+
insertBefore: insertBefore,
|
6581 |
+
removeChild: removeChild,
|
6582 |
+
appendChild: appendChild,
|
6583 |
+
parentNode: parentNode,
|
6584 |
+
nextSibling: nextSibling,
|
6585 |
+
tagName: tagName,
|
6586 |
+
setTextContent: setTextContent,
|
6587 |
+
setStyleScope: setStyleScope
|
6588 |
+
});
|
6589 |
|
6590 |
+
var ref = {
|
6591 |
+
create: function (_, vnode) {
|
6592 |
+
registerRef(vnode);
|
6593 |
+
},
|
6594 |
+
update: function (oldVnode, vnode) {
|
6595 |
+
if (oldVnode.data.ref !== vnode.data.ref) {
|
6596 |
+
registerRef(oldVnode, true);
|
6597 |
+
registerRef(vnode);
|
6598 |
+
}
|
6599 |
+
},
|
6600 |
+
destroy: function (vnode) {
|
6601 |
+
registerRef(vnode, true);
|
6602 |
+
}
|
6603 |
+
};
|
6604 |
+
function registerRef(vnode, isRemoval) {
|
6605 |
+
var ref = vnode.data.ref;
|
6606 |
+
if (!isDef(ref))
|
6607 |
+
return;
|
6608 |
+
var vm = vnode.context;
|
6609 |
+
var refValue = vnode.componentInstance || vnode.elm;
|
6610 |
+
var value = isRemoval ? null : refValue;
|
6611 |
+
var $refsValue = isRemoval ? undefined : refValue;
|
6612 |
+
if (isFunction(ref)) {
|
6613 |
+
invokeWithErrorHandling(ref, vm, [value], vm, "template ref function");
|
6614 |
+
return;
|
6615 |
+
}
|
6616 |
+
var isFor = vnode.data.refInFor;
|
6617 |
+
var _isString = typeof ref === 'string' || typeof ref === 'number';
|
6618 |
+
var _isRef = isRef(ref);
|
6619 |
+
var refs = vm.$refs;
|
6620 |
+
if (_isString || _isRef) {
|
6621 |
+
if (isFor) {
|
6622 |
+
var existing = _isString ? refs[ref] : ref.value;
|
6623 |
+
if (isRemoval) {
|
6624 |
+
isArray(existing) && remove$2(existing, refValue);
|
6625 |
+
}
|
6626 |
+
else {
|
6627 |
+
if (!isArray(existing)) {
|
6628 |
+
if (_isString) {
|
6629 |
+
refs[ref] = [refValue];
|
6630 |
+
setSetupRef(vm, ref, refs[ref]);
|
6631 |
+
}
|
6632 |
+
else {
|
6633 |
+
ref.value = [refValue];
|
6634 |
+
}
|
6635 |
+
}
|
6636 |
+
else if (!existing.includes(refValue)) {
|
6637 |
+
existing.push(refValue);
|
6638 |
+
}
|
6639 |
+
}
|
6640 |
+
}
|
6641 |
+
else if (_isString) {
|
6642 |
+
if (isRemoval && refs[ref] !== refValue) {
|
6643 |
+
return;
|
6644 |
+
}
|
6645 |
+
refs[ref] = $refsValue;
|
6646 |
+
setSetupRef(vm, ref, value);
|
6647 |
+
}
|
6648 |
+
else if (_isRef) {
|
6649 |
+
if (isRemoval && ref.value !== refValue) {
|
6650 |
+
return;
|
6651 |
+
}
|
6652 |
+
ref.value = value;
|
6653 |
+
}
|
6654 |
+
else if (process.env.NODE_ENV !== 'production') {
|
6655 |
+
warn$2("Invalid template ref type: ".concat(typeof ref));
|
6656 |
+
}
|
6657 |
+
}
|
6658 |
+
}
|
6659 |
+
function setSetupRef(_a, key, val) {
|
6660 |
+
var _setupState = _a._setupState;
|
6661 |
+
if (_setupState && hasOwn(_setupState, key)) {
|
6662 |
+
if (isRef(_setupState[key])) {
|
6663 |
+
_setupState[key].value = val;
|
6664 |
+
}
|
6665 |
+
else {
|
6666 |
+
_setupState[key] = val;
|
6667 |
+
}
|
6668 |
+
}
|
6669 |
+
}
|
6670 |
+
|
6671 |
+
/**
|
6672 |
+
* Virtual DOM patching algorithm based on Snabbdom by
|
6673 |
+
* Simon Friis Vindum (@paldepind)
|
6674 |
+
* Licensed under the MIT License
|
6675 |
+
* https://github.com/paldepind/snabbdom/blob/master/LICENSE
|
6676 |
+
*
|
6677 |
+
* modified by Evan You (@yyx990803)
|
6678 |
+
*
|
6679 |
+
* Not type-checking this because this file is perf-critical and the cost
|
6680 |
+
* of making flow understand it is not worth it.
|
6681 |
+
*/
|
6682 |
+
var emptyNode = new VNode('', {}, []);
|
6683 |
+
var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];
|
6684 |
+
function sameVnode(a, b) {
|
6685 |
+
return (a.key === b.key &&
|
6686 |
+
a.asyncFactory === b.asyncFactory &&
|
6687 |
+
((a.tag === b.tag &&
|
6688 |
+
a.isComment === b.isComment &&
|
6689 |
+
isDef(a.data) === isDef(b.data) &&
|
6690 |
+
sameInputType(a, b)) ||
|
6691 |
+
(isTrue(a.isAsyncPlaceholder) && isUndef(b.asyncFactory.error))));
|
6692 |
+
}
|
6693 |
+
function sameInputType(a, b) {
|
6694 |
+
if (a.tag !== 'input')
|
6695 |
+
return true;
|
6696 |
+
var i;
|
6697 |
+
var typeA = isDef((i = a.data)) && isDef((i = i.attrs)) && i.type;
|
6698 |
+
var typeB = isDef((i = b.data)) && isDef((i = i.attrs)) && i.type;
|
6699 |
+
return typeA === typeB || (isTextInputType(typeA) && isTextInputType(typeB));
|
6700 |
+
}
|
6701 |
+
function createKeyToOldIdx(children, beginIdx, endIdx) {
|
6702 |
+
var i, key;
|
6703 |
+
var map = {};
|
6704 |
+
for (i = beginIdx; i <= endIdx; ++i) {
|
6705 |
+
key = children[i].key;
|
6706 |
+
if (isDef(key))
|
6707 |
+
map[key] = i;
|
6708 |
+
}
|
6709 |
+
return map;
|
6710 |
+
}
|
6711 |
+
function createPatchFunction(backend) {
|
6712 |
+
var i, j;
|
6713 |
+
var cbs = {};
|
6714 |
+
var modules = backend.modules, nodeOps = backend.nodeOps;
|
6715 |
+
for (i = 0; i < hooks.length; ++i) {
|
6716 |
+
cbs[hooks[i]] = [];
|
6717 |
+
for (j = 0; j < modules.length; ++j) {
|
6718 |
+
if (isDef(modules[j][hooks[i]])) {
|
6719 |
+
cbs[hooks[i]].push(modules[j][hooks[i]]);
|
6720 |
+
}
|
6721 |
+
}
|
6722 |
+
}
|
6723 |
+
function emptyNodeAt(elm) {
|
6724 |
+
return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm);
|
6725 |
+
}
|
6726 |
+
function createRmCb(childElm, listeners) {
|
6727 |
+
function remove() {
|
6728 |
+
if (--remove.listeners === 0) {
|
6729 |
+
removeNode(childElm);
|
6730 |
+
}
|
6731 |
+
}
|
6732 |
+
remove.listeners = listeners;
|
6733 |
+
return remove;
|
6734 |
+
}
|
6735 |
+
function removeNode(el) {
|
6736 |
+
var parent = nodeOps.parentNode(el);
|
6737 |
+
// element may have already been removed due to v-html / v-text
|
6738 |
+
if (isDef(parent)) {
|
6739 |
+
nodeOps.removeChild(parent, el);
|
6740 |
+
}
|
6741 |
+
}
|
6742 |
+
function isUnknownElement(vnode, inVPre) {
|
6743 |
+
return (!inVPre &&
|
6744 |
+
!vnode.ns &&
|
6745 |
+
!(config.ignoredElements.length &&
|
6746 |
+
config.ignoredElements.some(function (ignore) {
|
6747 |
+
return isRegExp(ignore)
|
6748 |
+
? ignore.test(vnode.tag)
|
6749 |
+
: ignore === vnode.tag;
|
6750 |
+
})) &&
|
6751 |
+
config.isUnknownElement(vnode.tag));
|
6752 |
+
}
|
6753 |
+
var creatingElmInVPre = 0;
|
6754 |
+
function createElm(vnode, insertedVnodeQueue, parentElm, refElm, nested, ownerArray, index) {
|
6755 |
+
if (isDef(vnode.elm) && isDef(ownerArray)) {
|
6756 |
+
// This vnode was used in a previous render!
|
6757 |
+
// now it's used as a new node, overwriting its elm would cause
|
6758 |
+
// potential patch errors down the road when it's used as an insertion
|
6759 |
+
// reference node. Instead, we clone the node on-demand before creating
|
6760 |
+
// associated DOM element for it.
|
6761 |
+
vnode = ownerArray[index] = cloneVNode(vnode);
|
6762 |
+
}
|
6763 |
+
vnode.isRootInsert = !nested; // for transition enter check
|
6764 |
+
if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {
|
6765 |
+
return;
|
6766 |
+
}
|
6767 |
+
var data = vnode.data;
|
6768 |
+
var children = vnode.children;
|
6769 |
+
var tag = vnode.tag;
|
6770 |
+
if (isDef(tag)) {
|
6771 |
+
if (process.env.NODE_ENV !== 'production') {
|
6772 |
+
if (data && data.pre) {
|
6773 |
+
creatingElmInVPre++;
|
6774 |
+
}
|
6775 |
+
if (isUnknownElement(vnode, creatingElmInVPre)) {
|
6776 |
+
warn$2('Unknown custom element: <' +
|
6777 |
+
tag +
|
6778 |
+
'> - did you ' +
|
6779 |
+
'register the component correctly? For recursive components, ' +
|
6780 |
+
'make sure to provide the "name" option.', vnode.context);
|
6781 |
+
}
|
6782 |
+
}
|
6783 |
+
vnode.elm = vnode.ns
|
6784 |
+
? nodeOps.createElementNS(vnode.ns, tag)
|
6785 |
+
: nodeOps.createElement(tag, vnode);
|
6786 |
+
setScope(vnode);
|
6787 |
+
createChildren(vnode, children, insertedVnodeQueue);
|
6788 |
+
if (isDef(data)) {
|
6789 |
+
invokeCreateHooks(vnode, insertedVnodeQueue);
|
6790 |
+
}
|
6791 |
+
insert(parentElm, vnode.elm, refElm);
|
6792 |
+
if (process.env.NODE_ENV !== 'production' && data && data.pre) {
|
6793 |
+
creatingElmInVPre--;
|
6794 |
+
}
|
6795 |
+
}
|
6796 |
+
else if (isTrue(vnode.isComment)) {
|
6797 |
+
vnode.elm = nodeOps.createComment(vnode.text);
|
6798 |
+
insert(parentElm, vnode.elm, refElm);
|
6799 |
+
}
|
6800 |
+
else {
|
6801 |
+
vnode.elm = nodeOps.createTextNode(vnode.text);
|
6802 |
+
insert(parentElm, vnode.elm, refElm);
|
6803 |
+
}
|
6804 |
+
}
|
6805 |
+
function createComponent(vnode, insertedVnodeQueue, parentElm, refElm) {
|
6806 |
+
var i = vnode.data;
|
6807 |
+
if (isDef(i)) {
|
6808 |
+
var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;
|
6809 |
+
if (isDef((i = i.hook)) && isDef((i = i.init))) {
|
6810 |
+
i(vnode, false /* hydrating */);
|
6811 |
+
}
|
6812 |
+
// after calling the init hook, if the vnode is a child component
|
6813 |
+
// it should've created a child instance and mounted it. the child
|
6814 |
+
// component also has set the placeholder vnode's elm.
|
6815 |
+
// in that case we can just return the element and be done.
|
6816 |
+
if (isDef(vnode.componentInstance)) {
|
6817 |
+
initComponent(vnode, insertedVnodeQueue);
|
6818 |
+
insert(parentElm, vnode.elm, refElm);
|
6819 |
+
if (isTrue(isReactivated)) {
|
6820 |
+
reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);
|
6821 |
+
}
|
6822 |
+
return true;
|
6823 |
+
}
|
6824 |
+
}
|
6825 |
+
}
|
6826 |
+
function initComponent(vnode, insertedVnodeQueue) {
|
6827 |
+
if (isDef(vnode.data.pendingInsert)) {
|
6828 |
+
insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);
|
6829 |
+
vnode.data.pendingInsert = null;
|
6830 |
+
}
|
6831 |
+
vnode.elm = vnode.componentInstance.$el;
|
6832 |
+
if (isPatchable(vnode)) {
|
6833 |
+
invokeCreateHooks(vnode, insertedVnodeQueue);
|
6834 |
+
setScope(vnode);
|
6835 |
+
}
|
6836 |
+
else {
|
6837 |
+
// empty component root.
|
6838 |
+
// skip all element-related modules except for ref (#3455)
|
6839 |
+
registerRef(vnode);
|
6840 |
+
// make sure to invoke the insert hook
|
6841 |
+
insertedVnodeQueue.push(vnode);
|
6842 |
+
}
|
6843 |
+
}
|
6844 |
+
function reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm) {
|
6845 |
+
var i;
|
6846 |
+
// hack for #4339: a reactivated component with inner transition
|
6847 |
+
// does not trigger because the inner node's created hooks are not called
|
6848 |
+
// again. It's not ideal to involve module-specific logic in here but
|
6849 |
+
// there doesn't seem to be a better way to do it.
|
6850 |
+
var innerNode = vnode;
|
6851 |
+
while (innerNode.componentInstance) {
|
6852 |
+
innerNode = innerNode.componentInstance._vnode;
|
6853 |
+
if (isDef((i = innerNode.data)) && isDef((i = i.transition))) {
|
6854 |
+
for (i = 0; i < cbs.activate.length; ++i) {
|
6855 |
+
cbs.activate[i](emptyNode, innerNode);
|
6856 |
+
}
|
6857 |
+
insertedVnodeQueue.push(innerNode);
|
6858 |
+
break;
|
6859 |
+
}
|
6860 |
+
}
|
6861 |
+
// unlike a newly created component,
|
6862 |
+
// a reactivated keep-alive component doesn't insert itself
|
6863 |
+
insert(parentElm, vnode.elm, refElm);
|
6864 |
+
}
|
6865 |
+
function insert(parent, elm, ref) {
|
6866 |
+
if (isDef(parent)) {
|
6867 |
+
if (isDef(ref)) {
|
6868 |
+
if (nodeOps.parentNode(ref) === parent) {
|
6869 |
+
nodeOps.insertBefore(parent, elm, ref);
|
6870 |
+
}
|
6871 |
+
}
|
6872 |
+
else {
|
6873 |
+
nodeOps.appendChild(parent, elm);
|
6874 |
+
}
|
6875 |
+
}
|
6876 |
+
}
|
6877 |
+
function createChildren(vnode, children, insertedVnodeQueue) {
|
6878 |
+
if (isArray(children)) {
|
6879 |
+
if (process.env.NODE_ENV !== 'production') {
|
6880 |
+
checkDuplicateKeys(children);
|
6881 |
+
}
|
6882 |
+
for (var i_1 = 0; i_1 < children.length; ++i_1) {
|
6883 |
+
createElm(children[i_1], insertedVnodeQueue, vnode.elm, null, true, children, i_1);
|
6884 |
+
}
|
6885 |
+
}
|
6886 |
+
else if (isPrimitive(vnode.text)) {
|
6887 |
+
nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));
|
6888 |
+
}
|
6889 |
+
}
|
6890 |
+
function isPatchable(vnode) {
|
6891 |
+
while (vnode.componentInstance) {
|
6892 |
+
vnode = vnode.componentInstance._vnode;
|
6893 |
+
}
|
6894 |
+
return isDef(vnode.tag);
|
6895 |
+
}
|
6896 |
+
function invokeCreateHooks(vnode, insertedVnodeQueue) {
|
6897 |
+
for (var i_2 = 0; i_2 < cbs.create.length; ++i_2) {
|
6898 |
+
cbs.create[i_2](emptyNode, vnode);
|
6899 |
+
}
|
6900 |
+
i = vnode.data.hook; // Reuse variable
|
6901 |
+
if (isDef(i)) {
|
6902 |
+
if (isDef(i.create))
|
6903 |
+
i.create(emptyNode, vnode);
|
6904 |
+
if (isDef(i.insert))
|
6905 |
+
insertedVnodeQueue.push(vnode);
|
6906 |
+
}
|
6907 |
+
}
|
6908 |
+
// set scope id attribute for scoped CSS.
|
6909 |
+
// this is implemented as a special case to avoid the overhead
|
6910 |
+
// of going through the normal attribute patching process.
|
6911 |
+
function setScope(vnode) {
|
6912 |
+
var i;
|
6913 |
+
if (isDef((i = vnode.fnScopeId))) {
|
6914 |
+
nodeOps.setStyleScope(vnode.elm, i);
|
6915 |
+
}
|
6916 |
+
else {
|
6917 |
+
var ancestor = vnode;
|
6918 |
+
while (ancestor) {
|
6919 |
+
if (isDef((i = ancestor.context)) && isDef((i = i.$options._scopeId))) {
|
6920 |
+
nodeOps.setStyleScope(vnode.elm, i);
|
6921 |
+
}
|
6922 |
+
ancestor = ancestor.parent;
|
6923 |
+
}
|
6924 |
+
}
|
6925 |
+
// for slot content they should also get the scopeId from the host instance.
|
6926 |
+
if (isDef((i = activeInstance)) &&
|
6927 |
+
i !== vnode.context &&
|
6928 |
+
i !== vnode.fnContext &&
|
6929 |
+
isDef((i = i.$options._scopeId))) {
|
6930 |
+
nodeOps.setStyleScope(vnode.elm, i);
|
6931 |
+
}
|
6932 |
+
}
|
6933 |
+
function addVnodes(parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {
|
6934 |
+
for (; startIdx <= endIdx; ++startIdx) {
|
6935 |
+
createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);
|
6936 |
+
}
|
6937 |
+
}
|
6938 |
+
function invokeDestroyHook(vnode) {
|
6939 |
+
var i, j;
|
6940 |
+
var data = vnode.data;
|
6941 |
+
if (isDef(data)) {
|
6942 |
+
if (isDef((i = data.hook)) && isDef((i = i.destroy)))
|
6943 |
+
i(vnode);
|
6944 |
+
for (i = 0; i < cbs.destroy.length; ++i)
|
6945 |
+
cbs.destroy[i](vnode);
|
6946 |
+
}
|
6947 |
+
if (isDef((i = vnode.children))) {
|
6948 |
+
for (j = 0; j < vnode.children.length; ++j) {
|
6949 |
+
invokeDestroyHook(vnode.children[j]);
|
6950 |
+
}
|
6951 |
+
}
|
6952 |
+
}
|
6953 |
+
function removeVnodes(vnodes, startIdx, endIdx) {
|
6954 |
+
for (; startIdx <= endIdx; ++startIdx) {
|
6955 |
+
var ch = vnodes[startIdx];
|
6956 |
+
if (isDef(ch)) {
|
6957 |
+
if (isDef(ch.tag)) {
|
6958 |
+
removeAndInvokeRemoveHook(ch);
|
6959 |
+
invokeDestroyHook(ch);
|
6960 |
+
}
|
6961 |
+
else {
|
6962 |
+
// Text node
|
6963 |
+
removeNode(ch.elm);
|
6964 |
+
}
|
6965 |
+
}
|
6966 |
+
}
|
6967 |
+
}
|
6968 |
+
function removeAndInvokeRemoveHook(vnode, rm) {
|
6969 |
+
if (isDef(rm) || isDef(vnode.data)) {
|
6970 |
+
var i_3;
|
6971 |
+
var listeners = cbs.remove.length + 1;
|
6972 |
+
if (isDef(rm)) {
|
6973 |
+
// we have a recursively passed down rm callback
|
6974 |
+
// increase the listeners count
|
6975 |
+
rm.listeners += listeners;
|
6976 |
+
}
|
6977 |
+
else {
|
6978 |
+
// directly removing
|
6979 |
+
rm = createRmCb(vnode.elm, listeners);
|
6980 |
+
}
|
6981 |
+
// recursively invoke hooks on child component root node
|
6982 |
+
if (isDef((i_3 = vnode.componentInstance)) &&
|
6983 |
+
isDef((i_3 = i_3._vnode)) &&
|
6984 |
+
isDef(i_3.data)) {
|
6985 |
+
removeAndInvokeRemoveHook(i_3, rm);
|
6986 |
+
}
|
6987 |
+
for (i_3 = 0; i_3 < cbs.remove.length; ++i_3) {
|
6988 |
+
cbs.remove[i_3](vnode, rm);
|
6989 |
+
}
|
6990 |
+
if (isDef((i_3 = vnode.data.hook)) && isDef((i_3 = i_3.remove))) {
|
6991 |
+
i_3(vnode, rm);
|
6992 |
+
}
|
6993 |
+
else {
|
6994 |
+
rm();
|
6995 |
+
}
|
6996 |
+
}
|
6997 |
+
else {
|
6998 |
+
removeNode(vnode.elm);
|
6999 |
+
}
|
7000 |
+
}
|
7001 |
+
function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {
|
7002 |
+
var oldStartIdx = 0;
|
7003 |
+
var newStartIdx = 0;
|
7004 |
+
var oldEndIdx = oldCh.length - 1;
|
7005 |
+
var oldStartVnode = oldCh[0];
|
7006 |
+
var oldEndVnode = oldCh[oldEndIdx];
|
7007 |
+
var newEndIdx = newCh.length - 1;
|
7008 |
+
var newStartVnode = newCh[0];
|
7009 |
+
var newEndVnode = newCh[newEndIdx];
|
7010 |
+
var oldKeyToIdx, idxInOld, vnodeToMove, refElm;
|
7011 |
+
// removeOnly is a special flag used only by <transition-group>
|
7012 |
+
// to ensure removed elements stay in correct relative positions
|
7013 |
+
// during leaving transitions
|
7014 |
+
var canMove = !removeOnly;
|
7015 |
+
if (process.env.NODE_ENV !== 'production') {
|
7016 |
+
checkDuplicateKeys(newCh);
|
7017 |
+
}
|
7018 |
+
while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
|
7019 |
+
if (isUndef(oldStartVnode)) {
|
7020 |
+
oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left
|
7021 |
+
}
|
7022 |
+
else if (isUndef(oldEndVnode)) {
|
7023 |
+
oldEndVnode = oldCh[--oldEndIdx];
|
7024 |
+
}
|
7025 |
+
else if (sameVnode(oldStartVnode, newStartVnode)) {
|
7026 |
+
patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
7027 |
+
oldStartVnode = oldCh[++oldStartIdx];
|
7028 |
+
newStartVnode = newCh[++newStartIdx];
|
7029 |
+
}
|
7030 |
+
else if (sameVnode(oldEndVnode, newEndVnode)) {
|
7031 |
+
patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);
|
7032 |
+
oldEndVnode = oldCh[--oldEndIdx];
|
7033 |
+
newEndVnode = newCh[--newEndIdx];
|
7034 |
+
}
|
7035 |
+
else if (sameVnode(oldStartVnode, newEndVnode)) {
|
7036 |
+
// Vnode moved right
|
7037 |
+
patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);
|
7038 |
+
canMove &&
|
7039 |
+
nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));
|
7040 |
+
oldStartVnode = oldCh[++oldStartIdx];
|
7041 |
+
newEndVnode = newCh[--newEndIdx];
|
7042 |
+
}
|
7043 |
+
else if (sameVnode(oldEndVnode, newStartVnode)) {
|
7044 |
+
// Vnode moved left
|
7045 |
+
patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
7046 |
+
canMove &&
|
7047 |
+
nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
|
7048 |
+
oldEndVnode = oldCh[--oldEndIdx];
|
7049 |
+
newStartVnode = newCh[++newStartIdx];
|
7050 |
+
}
|
7051 |
+
else {
|
7052 |
+
if (isUndef(oldKeyToIdx))
|
7053 |
+
oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);
|
7054 |
+
idxInOld = isDef(newStartVnode.key)
|
7055 |
+
? oldKeyToIdx[newStartVnode.key]
|
7056 |
+
: findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);
|
7057 |
+
if (isUndef(idxInOld)) {
|
7058 |
+
// New element
|
7059 |
+
createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);
|
7060 |
+
}
|
7061 |
+
else {
|
7062 |
+
vnodeToMove = oldCh[idxInOld];
|
7063 |
+
if (sameVnode(vnodeToMove, newStartVnode)) {
|
7064 |
+
patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);
|
7065 |
+
oldCh[idxInOld] = undefined;
|
7066 |
+
canMove &&
|
7067 |
+
nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);
|
7068 |
+
}
|
7069 |
+
else {
|
7070 |
+
// same key but different element. treat as new element
|
7071 |
+
createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);
|
7072 |
+
}
|
7073 |
+
}
|
7074 |
+
newStartVnode = newCh[++newStartIdx];
|
7075 |
+
}
|
7076 |
+
}
|
7077 |
+
if (oldStartIdx > oldEndIdx) {
|
7078 |
+
refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;
|
7079 |
+
addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);
|
7080 |
+
}
|
7081 |
+
else if (newStartIdx > newEndIdx) {
|
7082 |
+
removeVnodes(oldCh, oldStartIdx, oldEndIdx);
|
7083 |
+
}
|
7084 |
+
}
|
7085 |
+
function checkDuplicateKeys(children) {
|
7086 |
+
var seenKeys = {};
|
7087 |
+
for (var i_4 = 0; i_4 < children.length; i_4++) {
|
7088 |
+
var vnode = children[i_4];
|
7089 |
+
var key = vnode.key;
|
7090 |
+
if (isDef(key)) {
|
7091 |
+
if (seenKeys[key]) {
|
7092 |
+
warn$2("Duplicate keys detected: '".concat(key, "'. This may cause an update error."), vnode.context);
|
7093 |
+
}
|
7094 |
+
else {
|
7095 |
+
seenKeys[key] = true;
|
7096 |
+
}
|
7097 |
+
}
|
7098 |
+
}
|
7099 |
+
}
|
7100 |
+
function findIdxInOld(node, oldCh, start, end) {
|
7101 |
+
for (var i_5 = start; i_5 < end; i_5++) {
|
7102 |
+
var c = oldCh[i_5];
|
7103 |
+
if (isDef(c) && sameVnode(node, c))
|
7104 |
+
return i_5;
|
7105 |
+
}
|
7106 |
+
}
|
7107 |
+
function patchVnode(oldVnode, vnode, insertedVnodeQueue, ownerArray, index, removeOnly) {
|
7108 |
+
if (oldVnode === vnode) {
|
7109 |
+
return;
|
7110 |
+
}
|
7111 |
+
if (isDef(vnode.elm) && isDef(ownerArray)) {
|
7112 |
+
// clone reused vnode
|
7113 |
+
vnode = ownerArray[index] = cloneVNode(vnode);
|
7114 |
+
}
|
7115 |
+
var elm = (vnode.elm = oldVnode.elm);
|
7116 |
+
if (isTrue(oldVnode.isAsyncPlaceholder)) {
|
7117 |
+
if (isDef(vnode.asyncFactory.resolved)) {
|
7118 |
+
hydrate(oldVnode.elm, vnode, insertedVnodeQueue);
|
7119 |
+
}
|
7120 |
+
else {
|
7121 |
+
vnode.isAsyncPlaceholder = true;
|
7122 |
+
}
|
7123 |
+
return;
|
7124 |
+
}
|
7125 |
+
// reuse element for static trees.
|
7126 |
+
// note we only do this if the vnode is cloned -
|
7127 |
+
// if the new node is not cloned it means the render functions have been
|
7128 |
+
// reset by the hot-reload-api and we need to do a proper re-render.
|
7129 |
+
if (isTrue(vnode.isStatic) &&
|
7130 |
+
isTrue(oldVnode.isStatic) &&
|
7131 |
+
vnode.key === oldVnode.key &&
|
7132 |
+
(isTrue(vnode.isCloned) || isTrue(vnode.isOnce))) {
|
7133 |
+
vnode.componentInstance = oldVnode.componentInstance;
|
7134 |
+
return;
|
7135 |
+
}
|
7136 |
+
var i;
|
7137 |
+
var data = vnode.data;
|
7138 |
+
if (isDef(data) && isDef((i = data.hook)) && isDef((i = i.prepatch))) {
|
7139 |
+
i(oldVnode, vnode);
|
7140 |
+
}
|
7141 |
+
var oldCh = oldVnode.children;
|
7142 |
+
var ch = vnode.children;
|
7143 |
+
if (isDef(data) && isPatchable(vnode)) {
|
7144 |
+
for (i = 0; i < cbs.update.length; ++i)
|
7145 |
+
cbs.update[i](oldVnode, vnode);
|
7146 |
+
if (isDef((i = data.hook)) && isDef((i = i.update)))
|
7147 |
+
i(oldVnode, vnode);
|
7148 |
+
}
|
7149 |
+
if (isUndef(vnode.text)) {
|
7150 |
+
if (isDef(oldCh) && isDef(ch)) {
|
7151 |
+
if (oldCh !== ch)
|
7152 |
+
updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly);
|
7153 |
+
}
|
7154 |
+
else if (isDef(ch)) {
|
7155 |
+
if (process.env.NODE_ENV !== 'production') {
|
7156 |
+
checkDuplicateKeys(ch);
|
7157 |
+
}
|
7158 |
+
if (isDef(oldVnode.text))
|
7159 |
+
nodeOps.setTextContent(elm, '');
|
7160 |
+
addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);
|
7161 |
+
}
|
7162 |
+
else if (isDef(oldCh)) {
|
7163 |
+
removeVnodes(oldCh, 0, oldCh.length - 1);
|
7164 |
+
}
|
7165 |
+
else if (isDef(oldVnode.text)) {
|
7166 |
+
nodeOps.setTextContent(elm, '');
|
7167 |
+
}
|
7168 |
+
}
|
7169 |
+
else if (oldVnode.text !== vnode.text) {
|
7170 |
+
nodeOps.setTextContent(elm, vnode.text);
|
7171 |
+
}
|
7172 |
+
if (isDef(data)) {
|
7173 |
+
if (isDef((i = data.hook)) && isDef((i = i.postpatch)))
|
7174 |
+
i(oldVnode, vnode);
|
7175 |
+
}
|
7176 |
+
}
|
7177 |
+
function invokeInsertHook(vnode, queue, initial) {
|
7178 |
+
// delay insert hooks for component root nodes, invoke them after the
|
7179 |
+
// element is really inserted
|
7180 |
+
if (isTrue(initial) && isDef(vnode.parent)) {
|
7181 |
+
vnode.parent.data.pendingInsert = queue;
|
7182 |
+
}
|
7183 |
+
else {
|
7184 |
+
for (var i_6 = 0; i_6 < queue.length; ++i_6) {
|
7185 |
+
queue[i_6].data.hook.insert(queue[i_6]);
|
7186 |
+
}
|
7187 |
+
}
|
7188 |
+
}
|
7189 |
+
var hydrationBailed = false;
|
7190 |
+
// list of modules that can skip create hook during hydration because they
|
7191 |
+
// are already rendered on the client or has no need for initialization
|
7192 |
+
// Note: style is excluded because it relies on initial clone for future
|
7193 |
+
// deep updates (#7063).
|
7194 |
+
var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');
|
7195 |
+
// Note: this is a browser-only function so we can assume elms are DOM nodes.
|
7196 |
+
function hydrate(elm, vnode, insertedVnodeQueue, inVPre) {
|
7197 |
+
var i;
|
7198 |
+
var tag = vnode.tag, data = vnode.data, children = vnode.children;
|
7199 |
+
inVPre = inVPre || (data && data.pre);
|
7200 |
+
vnode.elm = elm;
|
7201 |
+
if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {
|
7202 |
+
vnode.isAsyncPlaceholder = true;
|
7203 |
+
return true;
|
7204 |
+
}
|
7205 |
+
// assert node match
|
7206 |
+
if (process.env.NODE_ENV !== 'production') {
|
7207 |
+
if (!assertNodeMatch(elm, vnode, inVPre)) {
|
7208 |
+
return false;
|
7209 |
+
}
|
7210 |
+
}
|
7211 |
+
if (isDef(data)) {
|
7212 |
+
if (isDef((i = data.hook)) && isDef((i = i.init)))
|
7213 |
+
i(vnode, true /* hydrating */);
|
7214 |
+
if (isDef((i = vnode.componentInstance))) {
|
7215 |
+
// child component. it should have hydrated its own tree.
|
7216 |
+
initComponent(vnode, insertedVnodeQueue);
|
7217 |
+
return true;
|
7218 |
+
}
|
7219 |
+
}
|
7220 |
+
if (isDef(tag)) {
|
7221 |
+
if (isDef(children)) {
|
7222 |
+
// empty element, allow client to pick up and populate children
|
7223 |
+
if (!elm.hasChildNodes()) {
|
7224 |
+
createChildren(vnode, children, insertedVnodeQueue);
|
7225 |
+
}
|
7226 |
+
else {
|
7227 |
+
// v-html and domProps: innerHTML
|
7228 |
+
if (isDef((i = data)) &&
|
7229 |
+
isDef((i = i.domProps)) &&
|
7230 |
+
isDef((i = i.innerHTML))) {
|
7231 |
+
if (i !== elm.innerHTML) {
|
7232 |
+
/* istanbul ignore if */
|
7233 |
+
if (process.env.NODE_ENV !== 'production' &&
|
7234 |
+
typeof console !== 'undefined' &&
|
7235 |
+
!hydrationBailed) {
|
7236 |
+
hydrationBailed = true;
|
7237 |
+
console.warn('Parent: ', elm);
|
7238 |
+
console.warn('server innerHTML: ', i);
|
7239 |
+
console.warn('client innerHTML: ', elm.innerHTML);
|
7240 |
+
}
|
7241 |
+
return false;
|
7242 |
+
}
|
7243 |
+
}
|
7244 |
+
else {
|
7245 |
+
// iterate and compare children lists
|
7246 |
+
var childrenMatch = true;
|
7247 |
+
var childNode = elm.firstChild;
|
7248 |
+
for (var i_7 = 0; i_7 < children.length; i_7++) {
|
7249 |
+
if (!childNode ||
|
7250 |
+
!hydrate(childNode, children[i_7], insertedVnodeQueue, inVPre)) {
|
7251 |
+
childrenMatch = false;
|
7252 |
+
break;
|
7253 |
+
}
|
7254 |
+
childNode = childNode.nextSibling;
|
7255 |
+
}
|
7256 |
+
// if childNode is not null, it means the actual childNodes list is
|
7257 |
+
// longer than the virtual children list.
|
7258 |
+
if (!childrenMatch || childNode) {
|
7259 |
+
/* istanbul ignore if */
|
7260 |
+
if (process.env.NODE_ENV !== 'production' &&
|
7261 |
+
typeof console !== 'undefined' &&
|
7262 |
+
!hydrationBailed) {
|
7263 |
+
hydrationBailed = true;
|
7264 |
+
console.warn('Parent: ', elm);
|
7265 |
+
console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);
|
7266 |
+
}
|
7267 |
+
return false;
|
7268 |
+
}
|
7269 |
+
}
|
7270 |
+
}
|
7271 |
+
}
|
7272 |
+
if (isDef(data)) {
|
7273 |
+
var fullInvoke = false;
|
7274 |
+
for (var key in data) {
|
7275 |
+
if (!isRenderedModule(key)) {
|
7276 |
+
fullInvoke = true;
|
7277 |
+
invokeCreateHooks(vnode, insertedVnodeQueue);
|
7278 |
+
break;
|
7279 |
+
}
|
7280 |
+
}
|
7281 |
+
if (!fullInvoke && data['class']) {
|
7282 |
+
// ensure collecting deps for deep class bindings for future updates
|
7283 |
+
traverse(data['class']);
|
7284 |
+
}
|
7285 |
+
}
|
7286 |
+
}
|
7287 |
+
else if (elm.data !== vnode.text) {
|
7288 |
+
elm.data = vnode.text;
|
7289 |
+
}
|
7290 |
+
return true;
|
7291 |
+
}
|
7292 |
+
function assertNodeMatch(node, vnode, inVPre) {
|
7293 |
+
if (isDef(vnode.tag)) {
|
7294 |
+
return (vnode.tag.indexOf('vue-component') === 0 ||
|
7295 |
+
(!isUnknownElement(vnode, inVPre) &&
|
7296 |
+
vnode.tag.toLowerCase() ===
|
7297 |
+
(node.tagName && node.tagName.toLowerCase())));
|
7298 |
+
}
|
7299 |
+
else {
|
7300 |
+
return node.nodeType === (vnode.isComment ? 8 : 3);
|
7301 |
+
}
|
7302 |
+
}
|
7303 |
+
return function patch(oldVnode, vnode, hydrating, removeOnly) {
|
7304 |
+
if (isUndef(vnode)) {
|
7305 |
+
if (isDef(oldVnode))
|
7306 |
+
invokeDestroyHook(oldVnode);
|
7307 |
+
return;
|
7308 |
+
}
|
7309 |
+
var isInitialPatch = false;
|
7310 |
+
var insertedVnodeQueue = [];
|
7311 |
+
if (isUndef(oldVnode)) {
|
7312 |
+
// empty mount (likely as component), create new root element
|
7313 |
+
isInitialPatch = true;
|
7314 |
+
createElm(vnode, insertedVnodeQueue);
|
7315 |
+
}
|
7316 |
+
else {
|
7317 |
+
var isRealElement = isDef(oldVnode.nodeType);
|
7318 |
+
if (!isRealElement && sameVnode(oldVnode, vnode)) {
|
7319 |
+
// patch existing root node
|
7320 |
+
patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);
|
7321 |
+
}
|
7322 |
+
else {
|
7323 |
+
if (isRealElement) {
|
7324 |
+
// mounting to a real element
|
7325 |
+
// check if this is server-rendered content and if we can perform
|
7326 |
+
// a successful hydration.
|
7327 |
+
if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {
|
7328 |
+
oldVnode.removeAttribute(SSR_ATTR);
|
7329 |
+
hydrating = true;
|
7330 |
+
}
|
7331 |
+
if (isTrue(hydrating)) {
|
7332 |
+
if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {
|
7333 |
+
invokeInsertHook(vnode, insertedVnodeQueue, true);
|
7334 |
+
return oldVnode;
|
7335 |
+
}
|
7336 |
+
else if (process.env.NODE_ENV !== 'production') {
|
7337 |
+
warn$2('The client-side rendered virtual DOM tree is not matching ' +
|
7338 |
+
'server-rendered content. This is likely caused by incorrect ' +
|
7339 |
+
'HTML markup, for example nesting block-level elements inside ' +
|
7340 |
+
'<p>, or missing <tbody>. Bailing hydration and performing ' +
|
7341 |
+
'full client-side render.');
|
7342 |
+
}
|
7343 |
+
}
|
7344 |
+
// either not server-rendered, or hydration failed.
|
7345 |
+
// create an empty node and replace it
|
7346 |
+
oldVnode = emptyNodeAt(oldVnode);
|
7347 |
+
}
|
7348 |
+
// replacing existing element
|
7349 |
+
var oldElm = oldVnode.elm;
|
7350 |
+
var parentElm = nodeOps.parentNode(oldElm);
|
7351 |
+
// create new node
|
7352 |
+
createElm(vnode, insertedVnodeQueue,
|
7353 |
+
// extremely rare edge case: do not insert if old element is in a
|
7354 |
+
// leaving transition. Only happens when combining transition +
|
7355 |
+
// keep-alive + HOCs. (#4590)
|
7356 |
+
oldElm._leaveCb ? null : parentElm, nodeOps.nextSibling(oldElm));
|
7357 |
+
// update parent placeholder node element, recursively
|
7358 |
+
if (isDef(vnode.parent)) {
|
7359 |
+
var ancestor = vnode.parent;
|
7360 |
+
var patchable = isPatchable(vnode);
|
7361 |
+
while (ancestor) {
|
7362 |
+
for (var i_8 = 0; i_8 < cbs.destroy.length; ++i_8) {
|
7363 |
+
cbs.destroy[i_8](ancestor);
|
7364 |
+
}
|
7365 |
+
ancestor.elm = vnode.elm;
|
7366 |
+
if (patchable) {
|
7367 |
+
for (var i_9 = 0; i_9 < cbs.create.length; ++i_9) {
|
7368 |
+
cbs.create[i_9](emptyNode, ancestor);
|
7369 |
+
}
|
7370 |
+
// #6513
|
7371 |
+
// invoke insert hooks that may have been merged by create hooks.
|
7372 |
+
// e.g. for directives that uses the "inserted" hook.
|
7373 |
+
var insert_1 = ancestor.data.hook.insert;
|
7374 |
+
if (insert_1.merged) {
|
7375 |
+
// start at index 1 to avoid re-invoking component mounted hook
|
7376 |
+
for (var i_10 = 1; i_10 < insert_1.fns.length; i_10++) {
|
7377 |
+
insert_1.fns[i_10]();
|
7378 |
+
}
|
7379 |
+
}
|
7380 |
+
}
|
7381 |
+
else {
|
7382 |
+
registerRef(ancestor);
|
7383 |
+
}
|
7384 |
+
ancestor = ancestor.parent;
|
7385 |
+
}
|
7386 |
+
}
|
7387 |
+
// destroy old node
|
7388 |
+
if (isDef(parentElm)) {
|
7389 |
+
removeVnodes([oldVnode], 0, 0);
|
7390 |
+
}
|
7391 |
+
else if (isDef(oldVnode.tag)) {
|
7392 |
+
invokeDestroyHook(oldVnode);
|
7393 |
+
}
|
7394 |
+
}
|
7395 |
+
}
|
7396 |
+
invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);
|
7397 |
+
return vnode.elm;
|
7398 |
+
};
|
7399 |
+
}
|
7400 |
+
|
7401 |
+
var directives$1 = {
|
7402 |
+
create: updateDirectives,
|
7403 |
+
update: updateDirectives,
|
7404 |
+
destroy: function unbindDirectives(vnode) {
|
7405 |
+
// @ts-expect-error emptyNode is not VNodeWithData
|
7406 |
+
updateDirectives(vnode, emptyNode);
|
7407 |
+
}
|
7408 |
+
};
|
7409 |
+
function updateDirectives(oldVnode, vnode) {
|
7410 |
+
if (oldVnode.data.directives || vnode.data.directives) {
|
7411 |
+
_update(oldVnode, vnode);
|
7412 |
+
}
|
7413 |
+
}
|
7414 |
+
function _update(oldVnode, vnode) {
|
7415 |
+
var isCreate = oldVnode === emptyNode;
|
7416 |
+
var isDestroy = vnode === emptyNode;
|
7417 |
+
var oldDirs = normalizeDirectives(oldVnode.data.directives, oldVnode.context);
|
7418 |
+
var newDirs = normalizeDirectives(vnode.data.directives, vnode.context);
|
7419 |
+
var dirsWithInsert = [];
|
7420 |
+
var dirsWithPostpatch = [];
|
7421 |
+
var key, oldDir, dir;
|
7422 |
+
for (key in newDirs) {
|
7423 |
+
oldDir = oldDirs[key];
|
7424 |
+
dir = newDirs[key];
|
7425 |
+
if (!oldDir) {
|
7426 |
+
// new directive, bind
|
7427 |
+
callHook(dir, 'bind', vnode, oldVnode);
|
7428 |
+
if (dir.def && dir.def.inserted) {
|
7429 |
+
dirsWithInsert.push(dir);
|
7430 |
+
}
|
7431 |
+
}
|
7432 |
+
else {
|
7433 |
+
// existing directive, update
|
7434 |
+
dir.oldValue = oldDir.value;
|
7435 |
+
dir.oldArg = oldDir.arg;
|
7436 |
+
callHook(dir, 'update', vnode, oldVnode);
|
7437 |
+
if (dir.def && dir.def.componentUpdated) {
|
7438 |
+
dirsWithPostpatch.push(dir);
|
7439 |
+
}
|
7440 |
+
}
|
7441 |
+
}
|
7442 |
+
if (dirsWithInsert.length) {
|
7443 |
+
var callInsert = function () {
|
7444 |
+
for (var i = 0; i < dirsWithInsert.length; i++) {
|
7445 |
+
callHook(dirsWithInsert[i], 'inserted', vnode, oldVnode);
|
7446 |
+
}
|
7447 |
+
};
|
7448 |
+
if (isCreate) {
|
7449 |
+
mergeVNodeHook(vnode, 'insert', callInsert);
|
7450 |
+
}
|
7451 |
+
else {
|
7452 |
+
callInsert();
|
7453 |
+
}
|
7454 |
+
}
|
7455 |
+
if (dirsWithPostpatch.length) {
|
7456 |
+
mergeVNodeHook(vnode, 'postpatch', function () {
|
7457 |
+
for (var i = 0; i < dirsWithPostpatch.length; i++) {
|
7458 |
+
callHook(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);
|
7459 |
+
}
|
7460 |
+
});
|
7461 |
+
}
|
7462 |
+
if (!isCreate) {
|
7463 |
+
for (key in oldDirs) {
|
7464 |
+
if (!newDirs[key]) {
|
7465 |
+
// no longer present, unbind
|
7466 |
+
callHook(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);
|
7467 |
+
}
|
7468 |
+
}
|
7469 |
+
}
|
7470 |
+
}
|
7471 |
+
var emptyModifiers = Object.create(null);
|
7472 |
+
function normalizeDirectives(dirs, vm) {
|
7473 |
+
var res = Object.create(null);
|
7474 |
+
if (!dirs) {
|
7475 |
+
// $flow-disable-line
|
7476 |
+
return res;
|
7477 |
+
}
|
7478 |
+
var i, dir;
|
7479 |
+
for (i = 0; i < dirs.length; i++) {
|
7480 |
+
dir = dirs[i];
|
7481 |
+
if (!dir.modifiers) {
|
7482 |
+
// $flow-disable-line
|
7483 |
+
dir.modifiers = emptyModifiers;
|
7484 |
+
}
|
7485 |
+
res[getRawDirName(dir)] = dir;
|
7486 |
+
if (vm._setupState && vm._setupState.__sfc) {
|
7487 |
+
var setupDef = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name);
|
7488 |
+
if (typeof setupDef === 'function') {
|
7489 |
+
dir.def = {
|
7490 |
+
bind: setupDef,
|
7491 |
+
update: setupDef,
|
7492 |
+
};
|
7493 |
+
}
|
7494 |
+
else {
|
7495 |
+
dir.def = setupDef;
|
7496 |
+
}
|
7497 |
+
}
|
7498 |
+
dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true);
|
7499 |
+
}
|
7500 |
+
// $flow-disable-line
|
7501 |
+
return res;
|
7502 |
+
}
|
7503 |
+
function getRawDirName(dir) {
|
7504 |
+
return (dir.rawName || "".concat(dir.name, ".").concat(Object.keys(dir.modifiers || {}).join('.')));
|
7505 |
+
}
|
7506 |
+
function callHook(dir, hook, vnode, oldVnode, isDestroy) {
|
7507 |
+
var fn = dir.def && dir.def[hook];
|
7508 |
+
if (fn) {
|
7509 |
+
try {
|
7510 |
+
fn(vnode.elm, dir, vnode, oldVnode, isDestroy);
|
7511 |
+
}
|
7512 |
+
catch (e) {
|
7513 |
+
handleError(e, vnode.context, "directive ".concat(dir.name, " ").concat(hook, " hook"));
|
7514 |
+
}
|
7515 |
+
}
|
7516 |
+
}
|
7517 |
+
|
7518 |
+
var baseModules = [ref, directives$1];
|
7519 |
+
|
7520 |
+
function updateAttrs(oldVnode, vnode) {
|
7521 |
+
var opts = vnode.componentOptions;
|
7522 |
+
if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {
|
7523 |
+
return;
|
7524 |
+
}
|
7525 |
+
if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {
|
7526 |
+
return;
|
7527 |
+
}
|
7528 |
+
var key, cur, old;
|
7529 |
+
var elm = vnode.elm;
|
7530 |
+
var oldAttrs = oldVnode.data.attrs || {};
|
7531 |
+
var attrs = vnode.data.attrs || {};
|
7532 |
+
// clone observed objects, as the user probably wants to mutate it
|
7533 |
+
if (isDef(attrs.__ob__) || isTrue(attrs._v_attr_proxy)) {
|
7534 |
+
attrs = vnode.data.attrs = extend({}, attrs);
|
7535 |
+
}
|
7536 |
+
for (key in attrs) {
|
7537 |
+
cur = attrs[key];
|
7538 |
+
old = oldAttrs[key];
|
7539 |
+
if (old !== cur) {
|
7540 |
+
setAttr(elm, key, cur, vnode.data.pre);
|
7541 |
+
}
|
7542 |
+
}
|
7543 |
+
// #4391: in IE9, setting type can reset value for input[type=radio]
|
7544 |
+
// #6666: IE/Edge forces progress value down to 1 before setting a max
|
7545 |
+
/* istanbul ignore if */
|
7546 |
+
if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {
|
7547 |
+
setAttr(elm, 'value', attrs.value);
|
7548 |
+
}
|
7549 |
+
for (key in oldAttrs) {
|
7550 |
+
if (isUndef(attrs[key])) {
|
7551 |
+
if (isXlink(key)) {
|
7552 |
+
elm.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
7553 |
+
}
|
7554 |
+
else if (!isEnumeratedAttr(key)) {
|
7555 |
+
elm.removeAttribute(key);
|
7556 |
+
}
|
7557 |
+
}
|
7558 |
+
}
|
7559 |
+
}
|
7560 |
+
function setAttr(el, key, value, isInPre) {
|
7561 |
+
if (isInPre || el.tagName.indexOf('-') > -1) {
|
7562 |
+
baseSetAttr(el, key, value);
|
7563 |
+
}
|
7564 |
+
else if (isBooleanAttr(key)) {
|
7565 |
+
// set attribute for blank value
|
7566 |
+
// e.g. <option disabled>Select one</option>
|
7567 |
+
if (isFalsyAttrValue(value)) {
|
7568 |
+
el.removeAttribute(key);
|
7569 |
+
}
|
7570 |
+
else {
|
7571 |
+
// technically allowfullscreen is a boolean attribute for <iframe>,
|
7572 |
+
// but Flash expects a value of "true" when used on <embed> tag
|
7573 |
+
value = key === 'allowfullscreen' && el.tagName === 'EMBED' ? 'true' : key;
|
7574 |
+
el.setAttribute(key, value);
|
7575 |
+
}
|
7576 |
+
}
|
7577 |
+
else if (isEnumeratedAttr(key)) {
|
7578 |
+
el.setAttribute(key, convertEnumeratedValue(key, value));
|
7579 |
+
}
|
7580 |
+
else if (isXlink(key)) {
|
7581 |
+
if (isFalsyAttrValue(value)) {
|
7582 |
+
el.removeAttributeNS(xlinkNS, getXlinkProp(key));
|
7583 |
+
}
|
7584 |
+
else {
|
7585 |
+
el.setAttributeNS(xlinkNS, key, value);
|
7586 |
+
}
|
7587 |
+
}
|
7588 |
+
else {
|
7589 |
+
baseSetAttr(el, key, value);
|
7590 |
+
}
|
7591 |
+
}
|
7592 |
+
function baseSetAttr(el, key, value) {
|
7593 |
+
if (isFalsyAttrValue(value)) {
|
7594 |
+
el.removeAttribute(key);
|
7595 |
+
}
|
7596 |
+
else {
|
7597 |
+
// #7138: IE10 & 11 fires input event when setting placeholder on
|
7598 |
+
// <textarea>... block the first input event and remove the blocker
|
7599 |
+
// immediately.
|
7600 |
+
/* istanbul ignore if */
|
7601 |
+
if (isIE &&
|
7602 |
+
!isIE9 &&
|
7603 |
+
el.tagName === 'TEXTAREA' &&
|
7604 |
+
key === 'placeholder' &&
|
7605 |
+
value !== '' &&
|
7606 |
+
!el.__ieph) {
|
7607 |
+
var blocker_1 = function (e) {
|
7608 |
+
e.stopImmediatePropagation();
|
7609 |
+
el.removeEventListener('input', blocker_1);
|
7610 |
+
};
|
7611 |
+
el.addEventListener('input', blocker_1);
|
7612 |
+
// $flow-disable-line
|
7613 |
+
el.__ieph = true; /* IE placeholder patched */
|
7614 |
+
}
|
7615 |
+
el.setAttribute(key, value);
|
7616 |
+
}
|
7617 |
+
}
|
7618 |
+
var attrs = {
|
7619 |
+
create: updateAttrs,
|
7620 |
+
update: updateAttrs
|
7621 |
+
};
|
7622 |
|
7623 |
+
function updateClass(oldVnode, vnode) {
|
7624 |
+
var el = vnode.elm;
|
7625 |
+
var data = vnode.data;
|
7626 |
+
var oldData = oldVnode.data;
|
7627 |
+
if (isUndef(data.staticClass) &&
|
7628 |
+
isUndef(data.class) &&
|
7629 |
+
(isUndef(oldData) ||
|
7630 |
+
(isUndef(oldData.staticClass) && isUndef(oldData.class)))) {
|
7631 |
+
return;
|
7632 |
+
}
|
7633 |
+
var cls = genClassForVnode(vnode);
|
7634 |
+
// handle transition classes
|
7635 |
+
var transitionClass = el._transitionClasses;
|
7636 |
+
if (isDef(transitionClass)) {
|
7637 |
+
cls = concat(cls, stringifyClass(transitionClass));
|
7638 |
+
}
|
7639 |
+
// set the class
|
7640 |
+
if (cls !== el._prevClass) {
|
7641 |
+
el.setAttribute('class', cls);
|
7642 |
+
el._prevClass = cls;
|
7643 |
+
}
|
7644 |
+
}
|
7645 |
+
var klass$1 = {
|
7646 |
+
create: updateClass,
|
7647 |
+
update: updateClass
|
7648 |
+
};
|
7649 |
|
7650 |
+
var validDivisionCharRE = /[\w).+\-_$\]]/;
|
7651 |
+
function parseFilters(exp) {
|
7652 |
+
var inSingle = false;
|
7653 |
+
var inDouble = false;
|
7654 |
+
var inTemplateString = false;
|
7655 |
+
var inRegex = false;
|
7656 |
+
var curly = 0;
|
7657 |
+
var square = 0;
|
7658 |
+
var paren = 0;
|
7659 |
+
var lastFilterIndex = 0;
|
7660 |
+
var c, prev, i, expression, filters;
|
7661 |
+
for (i = 0; i < exp.length; i++) {
|
7662 |
+
prev = c;
|
7663 |
+
c = exp.charCodeAt(i);
|
7664 |
+
if (inSingle) {
|
7665 |
+
if (c === 0x27 && prev !== 0x5c)
|
7666 |
+
inSingle = false;
|
7667 |
+
}
|
7668 |
+
else if (inDouble) {
|
7669 |
+
if (c === 0x22 && prev !== 0x5c)
|
7670 |
+
inDouble = false;
|
7671 |
+
}
|
7672 |
+
else if (inTemplateString) {
|
7673 |
+
if (c === 0x60 && prev !== 0x5c)
|
7674 |
+
inTemplateString = false;
|
7675 |
+
}
|
7676 |
+
else if (inRegex) {
|
7677 |
+
if (c === 0x2f && prev !== 0x5c)
|
7678 |
+
inRegex = false;
|
7679 |
+
}
|
7680 |
+
else if (c === 0x7c && // pipe
|
7681 |
+
exp.charCodeAt(i + 1) !== 0x7c &&
|
7682 |
+
exp.charCodeAt(i - 1) !== 0x7c &&
|
7683 |
+
!curly &&
|
7684 |
+
!square &&
|
7685 |
+
!paren) {
|
7686 |
+
if (expression === undefined) {
|
7687 |
+
// first filter, end of expression
|
7688 |
+
lastFilterIndex = i + 1;
|
7689 |
+
expression = exp.slice(0, i).trim();
|
7690 |
+
}
|
7691 |
+
else {
|
7692 |
+
pushFilter();
|
7693 |
+
}
|
7694 |
+
}
|
7695 |
+
else {
|
7696 |
+
switch (c) {
|
7697 |
+
case 0x22:
|
7698 |
+
inDouble = true;
|
7699 |
+
break; // "
|
7700 |
+
case 0x27:
|
7701 |
+
inSingle = true;
|
7702 |
+
break; // '
|
7703 |
+
case 0x60:
|
7704 |
+
inTemplateString = true;
|
7705 |
+
break; // `
|
7706 |
+
case 0x28:
|
7707 |
+
paren++;
|
7708 |
+
break; // (
|
7709 |
+
case 0x29:
|
7710 |
+
paren--;
|
7711 |
+
break; // )
|
7712 |
+
case 0x5b:
|
7713 |
+
square++;
|
7714 |
+
break; // [
|
7715 |
+
case 0x5d:
|
7716 |
+
square--;
|
7717 |
+
break; // ]
|
7718 |
+
case 0x7b:
|
7719 |
+
curly++;
|
7720 |
+
break; // {
|
7721 |
+
case 0x7d:
|
7722 |
+
curly--;
|
7723 |
+
break; // }
|
7724 |
+
}
|
7725 |
+
if (c === 0x2f) {
|
7726 |
+
// /
|
7727 |
+
var j = i - 1;
|
7728 |
+
var p
|
7729 |
+
// find first non-whitespace prev char
|
7730 |
+
= void 0;
|
7731 |
+
// find first non-whitespace prev char
|
7732 |
+
for (; j >= 0; j--) {
|
7733 |
+
p = exp.charAt(j);
|
7734 |
+
if (p !== ' ')
|
7735 |
+
break;
|
7736 |
+
}
|
7737 |
+
if (!p || !validDivisionCharRE.test(p)) {
|
7738 |
+
inRegex = true;
|
7739 |
+
}
|
7740 |
+
}
|
7741 |
+
}
|
7742 |
+
}
|
7743 |
+
if (expression === undefined) {
|
7744 |
+
expression = exp.slice(0, i).trim();
|
7745 |
+
}
|
7746 |
+
else if (lastFilterIndex !== 0) {
|
7747 |
+
pushFilter();
|
7748 |
+
}
|
7749 |
+
function pushFilter() {
|
7750 |
+
(filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());
|
7751 |
+
lastFilterIndex = i + 1;
|
7752 |
+
}
|
7753 |
+
if (filters) {
|
7754 |
+
for (i = 0; i < filters.length; i++) {
|
7755 |
+
expression = wrapFilter(expression, filters[i]);
|
7756 |
+
}
|
7757 |
+
}
|
7758 |
+
return expression;
|
7759 |
+
}
|
7760 |
+
function wrapFilter(exp, filter) {
|
7761 |
+
var i = filter.indexOf('(');
|
7762 |
+
if (i < 0) {
|
7763 |
+
// _f: resolveFilter
|
7764 |
+
return "_f(\"".concat(filter, "\")(").concat(exp, ")");
|
7765 |
+
}
|
7766 |
+
else {
|
7767 |
+
var name_1 = filter.slice(0, i);
|
7768 |
+
var args = filter.slice(i + 1);
|
7769 |
+
return "_f(\"".concat(name_1, "\")(").concat(exp).concat(args !== ')' ? ',' + args : args);
|
7770 |
+
}
|
7771 |
+
}
|
7772 |
+
|
7773 |
+
/* eslint-disable no-unused-vars */
|
7774 |
+
function baseWarn(msg, range) {
|
7775 |
+
console.error("[Vue compiler]: ".concat(msg));
|
7776 |
+
}
|
7777 |
+
/* eslint-enable no-unused-vars */
|
7778 |
+
function pluckModuleFunction(modules, key) {
|
7779 |
+
return modules ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; }) : [];
|
7780 |
+
}
|
7781 |
+
function addProp(el, name, value, range, dynamic) {
|
7782 |
+
(el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));
|
7783 |
+
el.plain = false;
|
7784 |
+
}
|
7785 |
+
function addAttr(el, name, value, range, dynamic) {
|
7786 |
+
var attrs = dynamic
|
7787 |
+
? el.dynamicAttrs || (el.dynamicAttrs = [])
|
7788 |
+
: el.attrs || (el.attrs = []);
|
7789 |
+
attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));
|
7790 |
+
el.plain = false;
|
7791 |
+
}
|
7792 |
+
// add a raw attr (use this in preTransforms)
|
7793 |
+
function addRawAttr(el, name, value, range) {
|
7794 |
+
el.attrsMap[name] = value;
|
7795 |
+
el.attrsList.push(rangeSetItem({ name: name, value: value }, range));
|
7796 |
+
}
|
7797 |
+
function addDirective(el, name, rawName, value, arg, isDynamicArg, modifiers, range) {
|
7798 |
+
(el.directives || (el.directives = [])).push(rangeSetItem({
|
7799 |
+
name: name,
|
7800 |
+
rawName: rawName,
|
7801 |
+
value: value,
|
7802 |
+
arg: arg,
|
7803 |
+
isDynamicArg: isDynamicArg,
|
7804 |
+
modifiers: modifiers
|
7805 |
+
}, range));
|
7806 |
+
el.plain = false;
|
7807 |
+
}
|
7808 |
+
function prependModifierMarker(symbol, name, dynamic) {
|
7809 |
+
return dynamic ? "_p(".concat(name, ",\"").concat(symbol, "\")") : symbol + name; // mark the event as captured
|
7810 |
+
}
|
7811 |
+
function addHandler(el, name, value, modifiers, important, warn, range, dynamic) {
|
7812 |
+
modifiers = modifiers || emptyObject;
|
7813 |
+
// warn prevent and passive modifier
|
7814 |
+
/* istanbul ignore if */
|
7815 |
+
if (process.env.NODE_ENV !== 'production' && warn && modifiers.prevent && modifiers.passive) {
|
7816 |
+
warn("passive and prevent can't be used together. " +
|
7817 |
+
"Passive handler can't prevent default event.", range);
|
7818 |
+
}
|
7819 |
+
// normalize click.right and click.middle since they don't actually fire
|
7820 |
+
// this is technically browser-specific, but at least for now browsers are
|
7821 |
+
// the only target envs that have right/middle clicks.
|
7822 |
+
if (modifiers.right) {
|
7823 |
+
if (dynamic) {
|
7824 |
+
name = "(".concat(name, ")==='click'?'contextmenu':(").concat(name, ")");
|
7825 |
+
}
|
7826 |
+
else if (name === 'click') {
|
7827 |
+
name = 'contextmenu';
|
7828 |
+
delete modifiers.right;
|
7829 |
+
}
|
7830 |
+
}
|
7831 |
+
else if (modifiers.middle) {
|
7832 |
+
if (dynamic) {
|
7833 |
+
name = "(".concat(name, ")==='click'?'mouseup':(").concat(name, ")");
|
7834 |
+
}
|
7835 |
+
else if (name === 'click') {
|
7836 |
+
name = 'mouseup';
|
7837 |
+
}
|
7838 |
+
}
|
7839 |
+
// check capture modifier
|
7840 |
+
if (modifiers.capture) {
|
7841 |
+
delete modifiers.capture;
|
7842 |
+
name = prependModifierMarker('!', name, dynamic);
|
7843 |
+
}
|
7844 |
+
if (modifiers.once) {
|
7845 |
+
delete modifiers.once;
|
7846 |
+
name = prependModifierMarker('~', name, dynamic);
|
7847 |
+
}
|
7848 |
+
/* istanbul ignore if */
|
7849 |
+
if (modifiers.passive) {
|
7850 |
+
delete modifiers.passive;
|
7851 |
+
name = prependModifierMarker('&', name, dynamic);
|
7852 |
+
}
|
7853 |
+
var events;
|
7854 |
+
if (modifiers.native) {
|
7855 |
+
delete modifiers.native;
|
7856 |
+
events = el.nativeEvents || (el.nativeEvents = {});
|
7857 |
+
}
|
7858 |
+
else {
|
7859 |
+
events = el.events || (el.events = {});
|
7860 |
+
}
|
7861 |
+
var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);
|
7862 |
+
if (modifiers !== emptyObject) {
|
7863 |
+
newHandler.modifiers = modifiers;
|
7864 |
+
}
|
7865 |
+
var handlers = events[name];
|
7866 |
+
/* istanbul ignore if */
|
7867 |
+
if (Array.isArray(handlers)) {
|
7868 |
+
important ? handlers.unshift(newHandler) : handlers.push(newHandler);
|
7869 |
+
}
|
7870 |
+
else if (handlers) {
|
7871 |
+
events[name] = important ? [newHandler, handlers] : [handlers, newHandler];
|
7872 |
+
}
|
7873 |
+
else {
|
7874 |
+
events[name] = newHandler;
|
7875 |
+
}
|
7876 |
+
el.plain = false;
|
7877 |
+
}
|
7878 |
+
function getRawBindingAttr(el, name) {
|
7879 |
+
return (el.rawAttrsMap[':' + name] ||
|
7880 |
+
el.rawAttrsMap['v-bind:' + name] ||
|
7881 |
+
el.rawAttrsMap[name]);
|
7882 |
+
}
|
7883 |
+
function getBindingAttr(el, name, getStatic) {
|
7884 |
+
var dynamicValue = getAndRemoveAttr(el, ':' + name) || getAndRemoveAttr(el, 'v-bind:' + name);
|
7885 |
+
if (dynamicValue != null) {
|
7886 |
+
return parseFilters(dynamicValue);
|
7887 |
+
}
|
7888 |
+
else if (getStatic !== false) {
|
7889 |
+
var staticValue = getAndRemoveAttr(el, name);
|
7890 |
+
if (staticValue != null) {
|
7891 |
+
return JSON.stringify(staticValue);
|
7892 |
+
}
|
7893 |
+
}
|
7894 |
+
}
|
7895 |
+
// note: this only removes the attr from the Array (attrsList) so that it
|
7896 |
+
// doesn't get processed by processAttrs.
|
7897 |
+
// By default it does NOT remove it from the map (attrsMap) because the map is
|
7898 |
+
// needed during codegen.
|
7899 |
+
function getAndRemoveAttr(el, name, removeFromMap) {
|
7900 |
+
var val;
|
7901 |
+
if ((val = el.attrsMap[name]) != null) {
|
7902 |
+
var list = el.attrsList;
|
7903 |
+
for (var i = 0, l = list.length; i < l; i++) {
|
7904 |
+
if (list[i].name === name) {
|
7905 |
+
list.splice(i, 1);
|
7906 |
+
break;
|
7907 |
+
}
|
7908 |
+
}
|
7909 |
+
}
|
7910 |
+
if (removeFromMap) {
|
7911 |
+
delete el.attrsMap[name];
|
7912 |
+
}
|
7913 |
+
return val;
|
7914 |
+
}
|
7915 |
+
function getAndRemoveAttrByRegex(el, name) {
|
7916 |
+
var list = el.attrsList;
|
7917 |
+
for (var i = 0, l = list.length; i < l; i++) {
|
7918 |
+
var attr = list[i];
|
7919 |
+
if (name.test(attr.name)) {
|
7920 |
+
list.splice(i, 1);
|
7921 |
+
return attr;
|
7922 |
+
}
|
7923 |
+
}
|
7924 |
+
}
|
7925 |
+
function rangeSetItem(item, range) {
|
7926 |
+
if (range) {
|
7927 |
+
if (range.start != null) {
|
7928 |
+
item.start = range.start;
|
7929 |
+
}
|
7930 |
+
if (range.end != null) {
|
7931 |
+
item.end = range.end;
|
7932 |
+
}
|
7933 |
+
}
|
7934 |
+
return item;
|
7935 |
+
}
|
7936 |
+
|
7937 |
+
/**
|
7938 |
+
* Cross-platform code generation for component v-model
|
7939 |
+
*/
|
7940 |
+
function genComponentModel(el, value, modifiers) {
|
7941 |
+
var _a = modifiers || {}, number = _a.number, trim = _a.trim;
|
7942 |
+
var baseValueExpression = '$$v';
|
7943 |
+
var valueExpression = baseValueExpression;
|
7944 |
+
if (trim) {
|
7945 |
+
valueExpression =
|
7946 |
+
"(typeof ".concat(baseValueExpression, " === 'string'") +
|
7947 |
+
"? ".concat(baseValueExpression, ".trim()") +
|
7948 |
+
": ".concat(baseValueExpression, ")");
|
7949 |
+
}
|
7950 |
+
if (number) {
|
7951 |
+
valueExpression = "_n(".concat(valueExpression, ")");
|
7952 |
+
}
|
7953 |
+
var assignment = genAssignmentCode(value, valueExpression);
|
7954 |
+
el.model = {
|
7955 |
+
value: "(".concat(value, ")"),
|
7956 |
+
expression: JSON.stringify(value),
|
7957 |
+
callback: "function (".concat(baseValueExpression, ") {").concat(assignment, "}")
|
7958 |
+
};
|
7959 |
+
}
|
7960 |
+
/**
|
7961 |
+
* Cross-platform codegen helper for generating v-model value assignment code.
|
7962 |
+
*/
|
7963 |
+
function genAssignmentCode(value, assignment) {
|
7964 |
+
var res = parseModel(value);
|
7965 |
+
if (res.key === null) {
|
7966 |
+
return "".concat(value, "=").concat(assignment);
|
7967 |
+
}
|
7968 |
+
else {
|
7969 |
+
return "$set(".concat(res.exp, ", ").concat(res.key, ", ").concat(assignment, ")");
|
7970 |
+
}
|
7971 |
+
}
|
7972 |
+
/**
|
7973 |
+
* Parse a v-model expression into a base path and a final key segment.
|
7974 |
+
* Handles both dot-path and possible square brackets.
|
7975 |
+
*
|
7976 |
+
* Possible cases:
|
7977 |
+
*
|
7978 |
+
* - test
|
7979 |
+
* - test[key]
|
7980 |
+
* - test[test1[key]]
|
7981 |
+
* - test["a"][key]
|
7982 |
+
* - xxx.test[a[a].test1[key]]
|
7983 |
+
* - test.xxx.a["asa"][test1[key]]
|
7984 |
+
*
|
7985 |
+
*/
|
7986 |
+
var len, str, chr, index, expressionPos, expressionEndPos;
|
7987 |
+
function parseModel(val) {
|
7988 |
+
// Fix https://github.com/vuejs/vue/pull/7730
|
7989 |
+
// allow v-model="obj.val " (trailing whitespace)
|
7990 |
+
val = val.trim();
|
7991 |
+
len = val.length;
|
7992 |
+
if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {
|
7993 |
+
index = val.lastIndexOf('.');
|
7994 |
+
if (index > -1) {
|
7995 |
+
return {
|
7996 |
+
exp: val.slice(0, index),
|
7997 |
+
key: '"' + val.slice(index + 1) + '"'
|
7998 |
+
};
|
7999 |
+
}
|
8000 |
+
else {
|
8001 |
+
return {
|
8002 |
+
exp: val,
|
8003 |
+
key: null
|
8004 |
+
};
|
8005 |
+
}
|
8006 |
+
}
|
8007 |
+
str = val;
|
8008 |
+
index = expressionPos = expressionEndPos = 0;
|
8009 |
+
while (!eof()) {
|
8010 |
+
chr = next();
|
8011 |
+
/* istanbul ignore if */
|
8012 |
+
if (isStringStart(chr)) {
|
8013 |
+
parseString(chr);
|
8014 |
+
}
|
8015 |
+
else if (chr === 0x5b) {
|
8016 |
+
parseBracket(chr);
|
8017 |
+
}
|
8018 |
+
}
|
8019 |
+
return {
|
8020 |
+
exp: val.slice(0, expressionPos),
|
8021 |
+
key: val.slice(expressionPos + 1, expressionEndPos)
|
8022 |
+
};
|
8023 |
+
}
|
8024 |
+
function next() {
|
8025 |
+
return str.charCodeAt(++index);
|
8026 |
+
}
|
8027 |
+
function eof() {
|
8028 |
+
return index >= len;
|
8029 |
+
}
|
8030 |
+
function isStringStart(chr) {
|
8031 |
+
return chr === 0x22 || chr === 0x27;
|
8032 |
+
}
|
8033 |
+
function parseBracket(chr) {
|
8034 |
+
var inBracket = 1;
|
8035 |
+
expressionPos = index;
|
8036 |
+
while (!eof()) {
|
8037 |
+
chr = next();
|
8038 |
+
if (isStringStart(chr)) {
|
8039 |
+
parseString(chr);
|
8040 |
+
continue;
|
8041 |
+
}
|
8042 |
+
if (chr === 0x5b)
|
8043 |
+
inBracket++;
|
8044 |
+
if (chr === 0x5d)
|
8045 |
+
inBracket--;
|
8046 |
+
if (inBracket === 0) {
|
8047 |
+
expressionEndPos = index;
|
8048 |
+
break;
|
8049 |
+
}
|
8050 |
+
}
|
8051 |
+
}
|
8052 |
+
function parseString(chr) {
|
8053 |
+
var stringQuote = chr;
|
8054 |
+
while (!eof()) {
|
8055 |
+
chr = next();
|
8056 |
+
if (chr === stringQuote) {
|
8057 |
+
break;
|
8058 |
+
}
|
8059 |
+
}
|
8060 |
+
}
|
8061 |
+
|
8062 |
+
var warn$1;
|
8063 |
+
// in some cases, the event used has to be determined at runtime
|
8064 |
+
// so we used some reserved tokens during compile.
|
8065 |
+
var RANGE_TOKEN = '__r';
|
8066 |
+
var CHECKBOX_RADIO_TOKEN = '__c';
|
8067 |
+
function model$1(el, dir, _warn) {
|
8068 |
+
warn$1 = _warn;
|
8069 |
+
var value = dir.value;
|
8070 |
+
var modifiers = dir.modifiers;
|
8071 |
+
var tag = el.tag;
|
8072 |
+
var type = el.attrsMap.type;
|
8073 |
+
if (process.env.NODE_ENV !== 'production') {
|
8074 |
+
// inputs with type="file" are read only and setting the input's
|
8075 |
+
// value will throw an error.
|
8076 |
+
if (tag === 'input' && type === 'file') {
|
8077 |
+
warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\" type=\"file\">:\n") +
|
8078 |
+
"File inputs are read only. Use a v-on:change listener instead.", el.rawAttrsMap['v-model']);
|
8079 |
+
}
|
8080 |
+
}
|
8081 |
+
if (el.component) {
|
8082 |
+
genComponentModel(el, value, modifiers);
|
8083 |
+
// component v-model doesn't need extra runtime
|
8084 |
+
return false;
|
8085 |
+
}
|
8086 |
+
else if (tag === 'select') {
|
8087 |
+
genSelect(el, value, modifiers);
|
8088 |
+
}
|
8089 |
+
else if (tag === 'input' && type === 'checkbox') {
|
8090 |
+
genCheckboxModel(el, value, modifiers);
|
8091 |
+
}
|
8092 |
+
else if (tag === 'input' && type === 'radio') {
|
8093 |
+
genRadioModel(el, value, modifiers);
|
8094 |
+
}
|
8095 |
+
else if (tag === 'input' || tag === 'textarea') {
|
8096 |
+
genDefaultModel(el, value, modifiers);
|
8097 |
+
}
|
8098 |
+
else if (!config.isReservedTag(tag)) {
|
8099 |
+
genComponentModel(el, value, modifiers);
|
8100 |
+
// component v-model doesn't need extra runtime
|
8101 |
+
return false;
|
8102 |
+
}
|
8103 |
+
else if (process.env.NODE_ENV !== 'production') {
|
8104 |
+
warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") +
|
8105 |
+
"v-model is not supported on this element type. " +
|
8106 |
+
"If you are working with contenteditable, it's recommended to " +
|
8107 |
+
'wrap a library dedicated for that purpose inside a custom component.', el.rawAttrsMap['v-model']);
|
8108 |
+
}
|
8109 |
+
// ensure runtime directive metadata
|
8110 |
+
return true;
|
8111 |
+
}
|
8112 |
+
function genCheckboxModel(el, value, modifiers) {
|
8113 |
+
var number = modifiers && modifiers.number;
|
8114 |
+
var valueBinding = getBindingAttr(el, 'value') || 'null';
|
8115 |
+
var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';
|
8116 |
+
var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';
|
8117 |
+
addProp(el, 'checked', "Array.isArray(".concat(value, ")") +
|
8118 |
+
"?_i(".concat(value, ",").concat(valueBinding, ")>-1") +
|
8119 |
+
(trueValueBinding === 'true'
|
8120 |
+
? ":(".concat(value, ")")
|
8121 |
+
: ":_q(".concat(value, ",").concat(trueValueBinding, ")")));
|
8122 |
+
addHandler(el, 'change', "var $$a=".concat(value, ",") +
|
8123 |
+
'$$el=$event.target,' +
|
8124 |
+
"$$c=$$el.checked?(".concat(trueValueBinding, "):(").concat(falseValueBinding, ");") +
|
8125 |
+
'if(Array.isArray($$a)){' +
|
8126 |
+
"var $$v=".concat(number ? '_n(' + valueBinding + ')' : valueBinding, ",") +
|
8127 |
+
'$$i=_i($$a,$$v);' +
|
8128 |
+
"if($$el.checked){$$i<0&&(".concat(genAssignmentCode(value, '$$a.concat([$$v])'), ")}") +
|
8129 |
+
"else{$$i>-1&&(".concat(genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))'), ")}") +
|
8130 |
+
"}else{".concat(genAssignmentCode(value, '$$c'), "}"), null, true);
|
8131 |
+
}
|
8132 |
+
function genRadioModel(el, value, modifiers) {
|
8133 |
+
var number = modifiers && modifiers.number;
|
8134 |
+
var valueBinding = getBindingAttr(el, 'value') || 'null';
|
8135 |
+
valueBinding = number ? "_n(".concat(valueBinding, ")") : valueBinding;
|
8136 |
+
addProp(el, 'checked', "_q(".concat(value, ",").concat(valueBinding, ")"));
|
8137 |
+
addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);
|
8138 |
+
}
|
8139 |
+
function genSelect(el, value, modifiers) {
|
8140 |
+
var number = modifiers && modifiers.number;
|
8141 |
+
var selectedVal = "Array.prototype.filter" +
|
8142 |
+
".call($event.target.options,function(o){return o.selected})" +
|
8143 |
+
".map(function(o){var val = \"_value\" in o ? o._value : o.value;" +
|
8144 |
+
"return ".concat(number ? '_n(val)' : 'val', "})");
|
8145 |
+
var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';
|
8146 |
+
var code = "var $$selectedVal = ".concat(selectedVal, ";");
|
8147 |
+
code = "".concat(code, " ").concat(genAssignmentCode(value, assignment));
|
8148 |
+
addHandler(el, 'change', code, null, true);
|
8149 |
+
}
|
8150 |
+
function genDefaultModel(el, value, modifiers) {
|
8151 |
+
var type = el.attrsMap.type;
|
8152 |
+
// warn if v-bind:value conflicts with v-model
|
8153 |
+
// except for inputs with v-bind:type
|
8154 |
+
if (process.env.NODE_ENV !== 'production') {
|
8155 |
+
var value_1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];
|
8156 |
+
var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];
|
8157 |
+
if (value_1 && !typeBinding) {
|
8158 |
+
var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';
|
8159 |
+
warn$1("".concat(binding, "=\"").concat(value_1, "\" conflicts with v-model on the same element ") +
|
8160 |
+
'because the latter already expands to a value binding internally', el.rawAttrsMap[binding]);
|
8161 |
+
}
|
8162 |
+
}
|
8163 |
+
var _a = modifiers || {}, lazy = _a.lazy, number = _a.number, trim = _a.trim;
|
8164 |
+
var needCompositionGuard = !lazy && type !== 'range';
|
8165 |
+
var event = lazy ? 'change' : type === 'range' ? RANGE_TOKEN : 'input';
|
8166 |
+
var valueExpression = '$event.target.value';
|
8167 |
+
if (trim) {
|
8168 |
+
valueExpression = "$event.target.value.trim()";
|
8169 |
+
}
|
8170 |
+
if (number) {
|
8171 |
+
valueExpression = "_n(".concat(valueExpression, ")");
|
8172 |
+
}
|
8173 |
+
var code = genAssignmentCode(value, valueExpression);
|
8174 |
+
if (needCompositionGuard) {
|
8175 |
+
code = "if($event.target.composing)return;".concat(code);
|
8176 |
+
}
|
8177 |
+
addProp(el, 'value', "(".concat(value, ")"));
|
8178 |
+
addHandler(el, event, code, null, true);
|
8179 |
+
if (trim || number) {
|
8180 |
+
addHandler(el, 'blur', '$forceUpdate()');
|
8181 |
+
}
|
8182 |
+
}
|
8183 |
+
|
8184 |
+
// normalize v-model event tokens that can only be determined at runtime.
|
8185 |
+
// it's important to place the event as the first in the array because
|
8186 |
+
// the whole point is ensuring the v-model callback gets called before
|
8187 |
+
// user-attached handlers.
|
8188 |
+
function normalizeEvents(on) {
|
8189 |
+
/* istanbul ignore if */
|
8190 |
+
if (isDef(on[RANGE_TOKEN])) {
|
8191 |
+
// IE input[type=range] only supports `change` event
|
8192 |
+
var event_1 = isIE ? 'change' : 'input';
|
8193 |
+
on[event_1] = [].concat(on[RANGE_TOKEN], on[event_1] || []);
|
8194 |
+
delete on[RANGE_TOKEN];
|
8195 |
+
}
|
8196 |
+
// This was originally intended to fix #4521 but no longer necessary
|
8197 |
+
// after 2.5. Keeping it for backwards compat with generated code from < 2.4
|
8198 |
+
/* istanbul ignore if */
|
8199 |
+
if (isDef(on[CHECKBOX_RADIO_TOKEN])) {
|
8200 |
+
on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);
|
8201 |
+
delete on[CHECKBOX_RADIO_TOKEN];
|
8202 |
+
}
|
8203 |
+
}
|
8204 |
+
var target;
|
8205 |
+
function createOnceHandler(event, handler, capture) {
|
8206 |
+
var _target = target; // save current target element in closure
|
8207 |
+
return function onceHandler() {
|
8208 |
+
var res = handler.apply(null, arguments);
|
8209 |
+
if (res !== null) {
|
8210 |
+
remove(event, onceHandler, capture, _target);
|
8211 |
+
}
|
8212 |
+
};
|
8213 |
+
}
|
8214 |
+
// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp
|
8215 |
+
// implementation and does not fire microtasks in between event propagation, so
|
8216 |
+
// safe to exclude.
|
8217 |
+
var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);
|
8218 |
+
function add(name, handler, capture, passive) {
|
8219 |
+
// async edge case #6566: inner click event triggers patch, event handler
|
8220 |
+
// attached to outer element during patch, and triggered again. This
|
8221 |
+
// happens because browsers fire microtask ticks between event propagation.
|
8222 |
+
// the solution is simple: we save the timestamp when a handler is attached,
|
8223 |
+
// and the handler would only fire if the event passed to it was fired
|
8224 |
+
// AFTER it was attached.
|
8225 |
+
if (useMicrotaskFix) {
|
8226 |
+
var attachedTimestamp_1 = currentFlushTimestamp;
|
8227 |
+
var original_1 = handler;
|
8228 |
+
//@ts-expect-error
|
8229 |
+
handler = original_1._wrapper = function (e) {
|
8230 |
+
if (
|
8231 |
+
// no bubbling, should always fire.
|
8232 |
+
// this is just a safety net in case event.timeStamp is unreliable in
|
8233 |
+
// certain weird environments...
|
8234 |
+
e.target === e.currentTarget ||
|
8235 |
+
// event is fired after handler attachment
|
8236 |
+
e.timeStamp >= attachedTimestamp_1 ||
|
8237 |
+
// bail for environments that have buggy event.timeStamp implementations
|
8238 |
+
// #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState
|
8239 |
+
// #9681 QtWebEngine event.timeStamp is negative value
|
8240 |
+
e.timeStamp <= 0 ||
|
8241 |
+
// #9448 bail if event is fired in another document in a multi-page
|
8242 |
+
// electron/nw.js app, since event.timeStamp will be using a different
|
8243 |
+
// starting reference
|
8244 |
+
e.target.ownerDocument !== document) {
|
8245 |
+
return original_1.apply(this, arguments);
|
8246 |
+
}
|
8247 |
+
};
|
8248 |
+
}
|
8249 |
+
target.addEventListener(name, handler, supportsPassive ? { capture: capture, passive: passive } : capture);
|
8250 |
+
}
|
8251 |
+
function remove(name, handler, capture, _target) {
|
8252 |
+
(_target || target).removeEventListener(name,
|
8253 |
+
//@ts-expect-error
|
8254 |
+
handler._wrapper || handler, capture);
|
8255 |
+
}
|
8256 |
+
function updateDOMListeners(oldVnode, vnode) {
|
8257 |
+
if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {
|
8258 |
+
return;
|
8259 |
+
}
|
8260 |
+
var on = vnode.data.on || {};
|
8261 |
+
var oldOn = oldVnode.data.on || {};
|
8262 |
+
// vnode is empty when removing all listeners,
|
8263 |
+
// and use old vnode dom element
|
8264 |
+
target = vnode.elm || oldVnode.elm;
|
8265 |
+
normalizeEvents(on);
|
8266 |
+
updateListeners(on, oldOn, add, remove, createOnceHandler, vnode.context);
|
8267 |
+
target = undefined;
|
8268 |
+
}
|
8269 |
+
var events = {
|
8270 |
+
create: updateDOMListeners,
|
8271 |
+
update: updateDOMListeners,
|
8272 |
+
// @ts-expect-error emptyNode has actually data
|
8273 |
+
destroy: function (vnode) { return updateDOMListeners(vnode, emptyNode); }
|
8274 |
+
};
|
8275 |
|
8276 |
+
var svgContainer;
|
8277 |
+
function updateDOMProps(oldVnode, vnode) {
|
8278 |
+
if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {
|
8279 |
+
return;
|
8280 |
+
}
|
8281 |
+
var key, cur;
|
8282 |
+
var elm = vnode.elm;
|
8283 |
+
var oldProps = oldVnode.data.domProps || {};
|
8284 |
+
var props = vnode.data.domProps || {};
|
8285 |
+
// clone observed objects, as the user probably wants to mutate it
|
8286 |
+
if (isDef(props.__ob__) || isTrue(props._v_attr_proxy)) {
|
8287 |
+
props = vnode.data.domProps = extend({}, props);
|
8288 |
+
}
|
8289 |
+
for (key in oldProps) {
|
8290 |
+
if (!(key in props)) {
|
8291 |
+
elm[key] = '';
|
8292 |
+
}
|
8293 |
+
}
|
8294 |
+
for (key in props) {
|
8295 |
+
cur = props[key];
|
8296 |
+
// ignore children if the node has textContent or innerHTML,
|
8297 |
+
// as these will throw away existing DOM nodes and cause removal errors
|
8298 |
+
// on subsequent patches (#3360)
|
8299 |
+
if (key === 'textContent' || key === 'innerHTML') {
|
8300 |
+
if (vnode.children)
|
8301 |
+
vnode.children.length = 0;
|
8302 |
+
if (cur === oldProps[key])
|
8303 |
+
continue;
|
8304 |
+
// #6601 work around Chrome version <= 55 bug where single textNode
|
8305 |
+
// replaced by innerHTML/textContent retains its parentNode property
|
8306 |
+
if (elm.childNodes.length === 1) {
|
8307 |
+
elm.removeChild(elm.childNodes[0]);
|
8308 |
+
}
|
8309 |
+
}
|
8310 |
+
if (key === 'value' && elm.tagName !== 'PROGRESS') {
|
8311 |
+
// store value as _value as well since
|
8312 |
+
// non-string values will be stringified
|
8313 |
+
elm._value = cur;
|
8314 |
+
// avoid resetting cursor position when value is the same
|
8315 |
+
var strCur = isUndef(cur) ? '' : String(cur);
|
8316 |
+
if (shouldUpdateValue(elm, strCur)) {
|
8317 |
+
elm.value = strCur;
|
8318 |
+
}
|
8319 |
+
}
|
8320 |
+
else if (key === 'innerHTML' &&
|
8321 |
+
isSVG(elm.tagName) &&
|
8322 |
+
isUndef(elm.innerHTML)) {
|
8323 |
+
// IE doesn't support innerHTML for SVG elements
|
8324 |
+
svgContainer = svgContainer || document.createElement('div');
|
8325 |
+
svgContainer.innerHTML = "<svg>".concat(cur, "</svg>");
|
8326 |
+
var svg = svgContainer.firstChild;
|
8327 |
+
while (elm.firstChild) {
|
8328 |
+
elm.removeChild(elm.firstChild);
|
8329 |
+
}
|
8330 |
+
while (svg.firstChild) {
|
8331 |
+
elm.appendChild(svg.firstChild);
|
8332 |
+
}
|
8333 |
+
}
|
8334 |
+
else if (
|
8335 |
+
// skip the update if old and new VDOM state is the same.
|
8336 |
+
// `value` is handled separately because the DOM value may be temporarily
|
8337 |
+
// out of sync with VDOM state due to focus, composition and modifiers.
|
8338 |
+
// This #4521 by skipping the unnecessary `checked` update.
|
8339 |
+
cur !== oldProps[key]) {
|
8340 |
+
// some property updates can throw
|
8341 |
+
// e.g. `value` on <progress> w/ non-finite value
|
8342 |
+
try {
|
8343 |
+
elm[key] = cur;
|
8344 |
+
}
|
8345 |
+
catch (e) { }
|
8346 |
+
}
|
8347 |
+
}
|
8348 |
+
}
|
8349 |
+
function shouldUpdateValue(elm, checkVal) {
|
8350 |
+
return (
|
8351 |
+
//@ts-expect-error
|
8352 |
+
!elm.composing &&
|
8353 |
+
(elm.tagName === 'OPTION' ||
|
8354 |
+
isNotInFocusAndDirty(elm, checkVal) ||
|
8355 |
+
isDirtyWithModifiers(elm, checkVal)));
|
8356 |
+
}
|
8357 |
+
function isNotInFocusAndDirty(elm, checkVal) {
|
8358 |
+
// return true when textbox (.number and .trim) loses focus and its value is
|
8359 |
+
// not equal to the updated value
|
8360 |
+
var notInFocus = true;
|
8361 |
+
// #6157
|
8362 |
+
// work around IE bug when accessing document.activeElement in an iframe
|
8363 |
+
try {
|
8364 |
+
notInFocus = document.activeElement !== elm;
|
8365 |
+
}
|
8366 |
+
catch (e) { }
|
8367 |
+
return notInFocus && elm.value !== checkVal;
|
8368 |
+
}
|
8369 |
+
function isDirtyWithModifiers(elm, newVal) {
|
8370 |
+
var value = elm.value;
|
8371 |
+
var modifiers = elm._vModifiers; // injected by v-model runtime
|
8372 |
+
if (isDef(modifiers)) {
|
8373 |
+
if (modifiers.number) {
|
8374 |
+
return toNumber(value) !== toNumber(newVal);
|
8375 |
+
}
|
8376 |
+
if (modifiers.trim) {
|
8377 |
+
return value.trim() !== newVal.trim();
|
8378 |
+
}
|
8379 |
+
}
|
8380 |
+
return value !== newVal;
|
8381 |
+
}
|
8382 |
+
var domProps = {
|
8383 |
+
create: updateDOMProps,
|
8384 |
+
update: updateDOMProps
|
8385 |
+
};
|
8386 |
|
8387 |
+
var parseStyleText = cached(function (cssText) {
|
8388 |
+
var res = {};
|
8389 |
+
var listDelimiter = /;(?![^(]*\))/g;
|
8390 |
+
var propertyDelimiter = /:(.+)/;
|
8391 |
+
cssText.split(listDelimiter).forEach(function (item) {
|
8392 |
+
if (item) {
|
8393 |
+
var tmp = item.split(propertyDelimiter);
|
8394 |
+
tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
|
8395 |
+
}
|
8396 |
+
});
|
8397 |
+
return res;
|
8398 |
+
});
|
8399 |
+
// merge static and dynamic style data on the same vnode
|
8400 |
+
function normalizeStyleData(data) {
|
8401 |
+
var style = normalizeStyleBinding(data.style);
|
8402 |
+
// static style is pre-processed into an object during compilation
|
8403 |
+
// and is always a fresh object, so it's safe to merge into it
|
8404 |
+
return data.staticStyle ? extend(data.staticStyle, style) : style;
|
8405 |
+
}
|
8406 |
+
// normalize possible array / string values into Object
|
8407 |
+
function normalizeStyleBinding(bindingStyle) {
|
8408 |
+
if (Array.isArray(bindingStyle)) {
|
8409 |
+
return toObject(bindingStyle);
|
8410 |
+
}
|
8411 |
+
if (typeof bindingStyle === 'string') {
|
8412 |
+
return parseStyleText(bindingStyle);
|
8413 |
+
}
|
8414 |
+
return bindingStyle;
|
8415 |
+
}
|
8416 |
+
/**
|
8417 |
+
* parent component style should be after child's
|
8418 |
+
* so that parent component's style could override it
|
8419 |
+
*/
|
8420 |
+
function getStyle(vnode, checkChild) {
|
8421 |
+
var res = {};
|
8422 |
+
var styleData;
|
8423 |
+
if (checkChild) {
|
8424 |
+
var childNode = vnode;
|
8425 |
+
while (childNode.componentInstance) {
|
8426 |
+
childNode = childNode.componentInstance._vnode;
|
8427 |
+
if (childNode &&
|
8428 |
+
childNode.data &&
|
8429 |
+
(styleData = normalizeStyleData(childNode.data))) {
|
8430 |
+
extend(res, styleData);
|
8431 |
+
}
|
8432 |
+
}
|
8433 |
+
}
|
8434 |
+
if ((styleData = normalizeStyleData(vnode.data))) {
|
8435 |
+
extend(res, styleData);
|
8436 |
+
}
|
8437 |
+
var parentNode = vnode;
|
8438 |
+
// @ts-expect-error parentNode.parent not VNodeWithData
|
8439 |
+
while ((parentNode = parentNode.parent)) {
|
8440 |
+
if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {
|
8441 |
+
extend(res, styleData);
|
8442 |
+
}
|
8443 |
+
}
|
8444 |
+
return res;
|
8445 |
+
}
|
8446 |
+
|
8447 |
+
var cssVarRE = /^--/;
|
8448 |
+
var importantRE = /\s*!important$/;
|
8449 |
+
var setProp = function (el, name, val) {
|
8450 |
+
/* istanbul ignore if */
|
8451 |
+
if (cssVarRE.test(name)) {
|
8452 |
+
el.style.setProperty(name, val);
|
8453 |
+
}
|
8454 |
+
else if (importantRE.test(val)) {
|
8455 |
+
el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');
|
8456 |
+
}
|
8457 |
+
else {
|
8458 |
+
var normalizedName = normalize(name);
|
8459 |
+
if (Array.isArray(val)) {
|
8460 |
+
// Support values array created by autoprefixer, e.g.
|
8461 |
+
// {display: ["-webkit-box", "-ms-flexbox", "flex"]}
|
8462 |
+
// Set them one by one, and the browser will only set those it can recognize
|
8463 |
+
for (var i = 0, len = val.length; i < len; i++) {
|
8464 |
+
el.style[normalizedName] = val[i];
|
8465 |
+
}
|
8466 |
+
}
|
8467 |
+
else {
|
8468 |
+
el.style[normalizedName] = val;
|
8469 |
+
}
|
8470 |
+
}
|
8471 |
+
};
|
8472 |
+
var vendorNames = ['Webkit', 'Moz', 'ms'];
|
8473 |
+
var emptyStyle;
|
8474 |
+
var normalize = cached(function (prop) {
|
8475 |
+
emptyStyle = emptyStyle || document.createElement('div').style;
|
8476 |
+
prop = camelize(prop);
|
8477 |
+
if (prop !== 'filter' && prop in emptyStyle) {
|
8478 |
+
return prop;
|
8479 |
+
}
|
8480 |
+
var capName = prop.charAt(0).toUpperCase() + prop.slice(1);
|
8481 |
+
for (var i = 0; i < vendorNames.length; i++) {
|
8482 |
+
var name_1 = vendorNames[i] + capName;
|
8483 |
+
if (name_1 in emptyStyle) {
|
8484 |
+
return name_1;
|
8485 |
+
}
|
8486 |
+
}
|
8487 |
+
});
|
8488 |
+
function updateStyle(oldVnode, vnode) {
|
8489 |
+
var data = vnode.data;
|
8490 |
+
var oldData = oldVnode.data;
|
8491 |
+
if (isUndef(data.staticStyle) &&
|
8492 |
+
isUndef(data.style) &&
|
8493 |
+
isUndef(oldData.staticStyle) &&
|
8494 |
+
isUndef(oldData.style)) {
|
8495 |
+
return;
|
8496 |
+
}
|
8497 |
+
var cur, name;
|
8498 |
+
var el = vnode.elm;
|
8499 |
+
var oldStaticStyle = oldData.staticStyle;
|
8500 |
+
var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};
|
8501 |
+
// if static style exists, stylebinding already merged into it when doing normalizeStyleData
|
8502 |
+
var oldStyle = oldStaticStyle || oldStyleBinding;
|
8503 |
+
var style = normalizeStyleBinding(vnode.data.style) || {};
|
8504 |
+
// store normalized style under a different key for next diff
|
8505 |
+
// make sure to clone it if it's reactive, since the user likely wants
|
8506 |
+
// to mutate it.
|
8507 |
+
vnode.data.normalizedStyle = isDef(style.__ob__) ? extend({}, style) : style;
|
8508 |
+
var newStyle = getStyle(vnode, true);
|
8509 |
+
for (name in oldStyle) {
|
8510 |
+
if (isUndef(newStyle[name])) {
|
8511 |
+
setProp(el, name, '');
|
8512 |
+
}
|
8513 |
+
}
|
8514 |
+
for (name in newStyle) {
|
8515 |
+
cur = newStyle[name];
|
8516 |
+
if (cur !== oldStyle[name]) {
|
8517 |
+
// ie9 setting to null has no effect, must use empty string
|
8518 |
+
setProp(el, name, cur == null ? '' : cur);
|
8519 |
+
}
|
8520 |
+
}
|
8521 |
+
}
|
8522 |
+
var style$1 = {
|
8523 |
+
create: updateStyle,
|
8524 |
+
update: updateStyle
|
8525 |
+
};
|
8526 |
|
8527 |
+
var whitespaceRE$1 = /\s+/;
|
8528 |
+
/**
|
8529 |
+
* Add class with compatibility for SVG since classList is not supported on
|
8530 |
+
* SVG elements in IE
|
8531 |
+
*/
|
8532 |
+
function addClass(el, cls) {
|
8533 |
+
/* istanbul ignore if */
|
8534 |
+
if (!cls || !(cls = cls.trim())) {
|
8535 |
+
return;
|
8536 |
+
}
|
8537 |
+
/* istanbul ignore else */
|
8538 |
+
if (el.classList) {
|
8539 |
+
if (cls.indexOf(' ') > -1) {
|
8540 |
+
cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.add(c); });
|
8541 |
+
}
|
8542 |
+
else {
|
8543 |
+
el.classList.add(cls);
|
8544 |
+
}
|
8545 |
+
}
|
8546 |
+
else {
|
8547 |
+
var cur = " ".concat(el.getAttribute('class') || '', " ");
|
8548 |
+
if (cur.indexOf(' ' + cls + ' ') < 0) {
|
8549 |
+
el.setAttribute('class', (cur + cls).trim());
|
8550 |
+
}
|
8551 |
+
}
|
8552 |
+
}
|
8553 |
+
/**
|
8554 |
+
* Remove class with compatibility for SVG since classList is not supported on
|
8555 |
+
* SVG elements in IE
|
8556 |
+
*/
|
8557 |
+
function removeClass(el, cls) {
|
8558 |
+
/* istanbul ignore if */
|
8559 |
+
if (!cls || !(cls = cls.trim())) {
|
8560 |
+
return;
|
8561 |
+
}
|
8562 |
+
/* istanbul ignore else */
|
8563 |
+
if (el.classList) {
|
8564 |
+
if (cls.indexOf(' ') > -1) {
|
8565 |
+
cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.remove(c); });
|
8566 |
+
}
|
8567 |
+
else {
|
8568 |
+
el.classList.remove(cls);
|
8569 |
+
}
|
8570 |
+
if (!el.classList.length) {
|
8571 |
+
el.removeAttribute('class');
|
8572 |
+
}
|
8573 |
+
}
|
8574 |
+
else {
|
8575 |
+
var cur = " ".concat(el.getAttribute('class') || '', " ");
|
8576 |
+
var tar = ' ' + cls + ' ';
|
8577 |
+
while (cur.indexOf(tar) >= 0) {
|
8578 |
+
cur = cur.replace(tar, ' ');
|
8579 |
+
}
|
8580 |
+
cur = cur.trim();
|
8581 |
+
if (cur) {
|
8582 |
+
el.setAttribute('class', cur);
|
8583 |
+
}
|
8584 |
+
else {
|
8585 |
+
el.removeAttribute('class');
|
8586 |
+
}
|
8587 |
+
}
|
8588 |
+
}
|
8589 |
+
|
8590 |
+
function resolveTransition(def) {
|
8591 |
+
if (!def) {
|
8592 |
+
return;
|
8593 |
+
}
|
8594 |
+
/* istanbul ignore else */
|
8595 |
+
if (typeof def === 'object') {
|
8596 |
+
var res = {};
|
8597 |
+
if (def.css !== false) {
|
8598 |
+
extend(res, autoCssTransition(def.name || 'v'));
|
8599 |
+
}
|
8600 |
+
extend(res, def);
|
8601 |
+
return res;
|
8602 |
+
}
|
8603 |
+
else if (typeof def === 'string') {
|
8604 |
+
return autoCssTransition(def);
|
8605 |
+
}
|
8606 |
+
}
|
8607 |
+
var autoCssTransition = cached(function (name) {
|
8608 |
+
return {
|
8609 |
+
enterClass: "".concat(name, "-enter"),
|
8610 |
+
enterToClass: "".concat(name, "-enter-to"),
|
8611 |
+
enterActiveClass: "".concat(name, "-enter-active"),
|
8612 |
+
leaveClass: "".concat(name, "-leave"),
|
8613 |
+
leaveToClass: "".concat(name, "-leave-to"),
|
8614 |
+
leaveActiveClass: "".concat(name, "-leave-active")
|
8615 |
+
};
|
8616 |
+
});
|
8617 |
+
var hasTransition = inBrowser && !isIE9;
|
8618 |
+
var TRANSITION = 'transition';
|
8619 |
+
var ANIMATION = 'animation';
|
8620 |
+
// Transition property/event sniffing
|
8621 |
+
var transitionProp = 'transition';
|
8622 |
+
var transitionEndEvent = 'transitionend';
|
8623 |
+
var animationProp = 'animation';
|
8624 |
+
var animationEndEvent = 'animationend';
|
8625 |
+
if (hasTransition) {
|
8626 |
+
/* istanbul ignore if */
|
8627 |
+
if (window.ontransitionend === undefined &&
|
8628 |
+
window.onwebkittransitionend !== undefined) {
|
8629 |
+
transitionProp = 'WebkitTransition';
|
8630 |
+
transitionEndEvent = 'webkitTransitionEnd';
|
8631 |
+
}
|
8632 |
+
if (window.onanimationend === undefined &&
|
8633 |
+
window.onwebkitanimationend !== undefined) {
|
8634 |
+
animationProp = 'WebkitAnimation';
|
8635 |
+
animationEndEvent = 'webkitAnimationEnd';
|
8636 |
+
}
|
8637 |
+
}
|
8638 |
+
// binding to window is necessary to make hot reload work in IE in strict mode
|
8639 |
+
var raf = inBrowser
|
8640 |
+
? window.requestAnimationFrame
|
8641 |
+
? window.requestAnimationFrame.bind(window)
|
8642 |
+
: setTimeout
|
8643 |
+
: /* istanbul ignore next */ function (/* istanbul ignore next */ fn) { return fn(); };
|
8644 |
+
function nextFrame(fn) {
|
8645 |
+
raf(function () {
|
8646 |
+
// @ts-expect-error
|
8647 |
+
raf(fn);
|
8648 |
+
});
|
8649 |
+
}
|
8650 |
+
function addTransitionClass(el, cls) {
|
8651 |
+
var transitionClasses = el._transitionClasses || (el._transitionClasses = []);
|
8652 |
+
if (transitionClasses.indexOf(cls) < 0) {
|
8653 |
+
transitionClasses.push(cls);
|
8654 |
+
addClass(el, cls);
|
8655 |
+
}
|
8656 |
+
}
|
8657 |
+
function removeTransitionClass(el, cls) {
|
8658 |
+
if (el._transitionClasses) {
|
8659 |
+
remove$2(el._transitionClasses, cls);
|
8660 |
+
}
|
8661 |
+
removeClass(el, cls);
|
8662 |
+
}
|
8663 |
+
function whenTransitionEnds(el, expectedType, cb) {
|
8664 |
+
var _a = getTransitionInfo(el, expectedType), type = _a.type, timeout = _a.timeout, propCount = _a.propCount;
|
8665 |
+
if (!type)
|
8666 |
+
return cb();
|
8667 |
+
var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;
|
8668 |
+
var ended = 0;
|
8669 |
+
var end = function () {
|
8670 |
+
el.removeEventListener(event, onEnd);
|
8671 |
+
cb();
|
8672 |
+
};
|
8673 |
+
var onEnd = function (e) {
|
8674 |
+
if (e.target === el) {
|
8675 |
+
if (++ended >= propCount) {
|
8676 |
+
end();
|
8677 |
+
}
|
8678 |
+
}
|
8679 |
+
};
|
8680 |
+
setTimeout(function () {
|
8681 |
+
if (ended < propCount) {
|
8682 |
+
end();
|
8683 |
+
}
|
8684 |
+
}, timeout + 1);
|
8685 |
+
el.addEventListener(event, onEnd);
|
8686 |
+
}
|
8687 |
+
var transformRE = /\b(transform|all)(,|$)/;
|
8688 |
+
function getTransitionInfo(el, expectedType) {
|
8689 |
+
var styles = window.getComputedStyle(el);
|
8690 |
+
// JSDOM may return undefined for transition properties
|
8691 |
+
var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');
|
8692 |
+
var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');
|
8693 |
+
var transitionTimeout = getTimeout(transitionDelays, transitionDurations);
|
8694 |
+
var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');
|
8695 |
+
var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');
|
8696 |
+
var animationTimeout = getTimeout(animationDelays, animationDurations);
|
8697 |
+
var type;
|
8698 |
+
var timeout = 0;
|
8699 |
+
var propCount = 0;
|
8700 |
+
/* istanbul ignore if */
|
8701 |
+
if (expectedType === TRANSITION) {
|
8702 |
+
if (transitionTimeout > 0) {
|
8703 |
+
type = TRANSITION;
|
8704 |
+
timeout = transitionTimeout;
|
8705 |
+
propCount = transitionDurations.length;
|
8706 |
+
}
|
8707 |
+
}
|
8708 |
+
else if (expectedType === ANIMATION) {
|
8709 |
+
if (animationTimeout > 0) {
|
8710 |
+
type = ANIMATION;
|
8711 |
+
timeout = animationTimeout;
|
8712 |
+
propCount = animationDurations.length;
|
8713 |
+
}
|
8714 |
+
}
|
8715 |
+
else {
|
8716 |
+
timeout = Math.max(transitionTimeout, animationTimeout);
|
8717 |
+
type =
|
8718 |
+
timeout > 0
|
8719 |
+
? transitionTimeout > animationTimeout
|
8720 |
+
? TRANSITION
|
8721 |
+
: ANIMATION
|
8722 |
+
: null;
|
8723 |
+
propCount = type
|
8724 |
+
? type === TRANSITION
|
8725 |
+
? transitionDurations.length
|
8726 |
+
: animationDurations.length
|
8727 |
+
: 0;
|
8728 |
+
}
|
8729 |
+
var hasTransform = type === TRANSITION && transformRE.test(styles[transitionProp + 'Property']);
|
8730 |
+
return {
|
8731 |
+
type: type,
|
8732 |
+
timeout: timeout,
|
8733 |
+
propCount: propCount,
|
8734 |
+
hasTransform: hasTransform
|
8735 |
+
};
|
8736 |
+
}
|
8737 |
+
function getTimeout(delays, durations) {
|
8738 |
+
/* istanbul ignore next */
|
8739 |
+
while (delays.length < durations.length) {
|
8740 |
+
delays = delays.concat(delays);
|
8741 |
+
}
|
8742 |
+
return Math.max.apply(null, durations.map(function (d, i) {
|
8743 |
+
return toMs(d) + toMs(delays[i]);
|
8744 |
+
}));
|
8745 |
+
}
|
8746 |
+
// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers
|
8747 |
+
// in a locale-dependent way, using a comma instead of a dot.
|
8748 |
+
// If comma is not replaced with a dot, the input will be rounded down (i.e. acting
|
8749 |
+
// as a floor function) causing unexpected behaviors
|
8750 |
+
function toMs(s) {
|
8751 |
+
return Number(s.slice(0, -1).replace(',', '.')) * 1000;
|
8752 |
+
}
|
8753 |
+
|
8754 |
+
function enter(vnode, toggleDisplay) {
|
8755 |
+
var el = vnode.elm;
|
8756 |
+
// call leave callback now
|
8757 |
+
if (isDef(el._leaveCb)) {
|
8758 |
+
el._leaveCb.cancelled = true;
|
8759 |
+
el._leaveCb();
|
8760 |
+
}
|
8761 |
+
var data = resolveTransition(vnode.data.transition);
|
8762 |
+
if (isUndef(data)) {
|
8763 |
+
return;
|
8764 |
+
}
|
8765 |
+
/* istanbul ignore if */
|
8766 |
+
if (isDef(el._enterCb) || el.nodeType !== 1) {
|
8767 |
+
return;
|
8768 |
+
}
|
8769 |
+
var css = data.css, type = data.type, enterClass = data.enterClass, enterToClass = data.enterToClass, enterActiveClass = data.enterActiveClass, appearClass = data.appearClass, appearToClass = data.appearToClass, appearActiveClass = data.appearActiveClass, beforeEnter = data.beforeEnter, enter = data.enter, afterEnter = data.afterEnter, enterCancelled = data.enterCancelled, beforeAppear = data.beforeAppear, appear = data.appear, afterAppear = data.afterAppear, appearCancelled = data.appearCancelled, duration = data.duration;
|
8770 |
+
// activeInstance will always be the <transition> component managing this
|
8771 |
+
// transition. One edge case to check is when the <transition> is placed
|
8772 |
+
// as the root node of a child component. In that case we need to check
|
8773 |
+
// <transition>'s parent for appear check.
|
8774 |
+
var context = activeInstance;
|
8775 |
+
var transitionNode = activeInstance.$vnode;
|
8776 |
+
while (transitionNode && transitionNode.parent) {
|
8777 |
+
context = transitionNode.context;
|
8778 |
+
transitionNode = transitionNode.parent;
|
8779 |
+
}
|
8780 |
+
var isAppear = !context._isMounted || !vnode.isRootInsert;
|
8781 |
+
if (isAppear && !appear && appear !== '') {
|
8782 |
+
return;
|
8783 |
+
}
|
8784 |
+
var startClass = isAppear && appearClass ? appearClass : enterClass;
|
8785 |
+
var activeClass = isAppear && appearActiveClass ? appearActiveClass : enterActiveClass;
|
8786 |
+
var toClass = isAppear && appearToClass ? appearToClass : enterToClass;
|
8787 |
+
var beforeEnterHook = isAppear ? beforeAppear || beforeEnter : beforeEnter;
|
8788 |
+
var enterHook = isAppear ? (isFunction(appear) ? appear : enter) : enter;
|
8789 |
+
var afterEnterHook = isAppear ? afterAppear || afterEnter : afterEnter;
|
8790 |
+
var enterCancelledHook = isAppear
|
8791 |
+
? appearCancelled || enterCancelled
|
8792 |
+
: enterCancelled;
|
8793 |
+
var explicitEnterDuration = toNumber(isObject(duration) ? duration.enter : duration);
|
8794 |
+
if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {
|
8795 |
+
checkDuration(explicitEnterDuration, 'enter', vnode);
|
8796 |
+
}
|
8797 |
+
var expectsCSS = css !== false && !isIE9;
|
8798 |
+
var userWantsControl = getHookArgumentsLength(enterHook);
|
8799 |
+
var cb = (el._enterCb = once(function () {
|
8800 |
+
if (expectsCSS) {
|
8801 |
+
removeTransitionClass(el, toClass);
|
8802 |
+
removeTransitionClass(el, activeClass);
|
8803 |
+
}
|
8804 |
+
// @ts-expect-error
|
8805 |
+
if (cb.cancelled) {
|
8806 |
+
if (expectsCSS) {
|
8807 |
+
removeTransitionClass(el, startClass);
|
8808 |
+
}
|
8809 |
+
enterCancelledHook && enterCancelledHook(el);
|
8810 |
+
}
|
8811 |
+
else {
|
8812 |
+
afterEnterHook && afterEnterHook(el);
|
8813 |
+
}
|
8814 |
+
el._enterCb = null;
|
8815 |
+
}));
|
8816 |
+
if (!vnode.data.show) {
|
8817 |
+
// remove pending leave element on enter by injecting an insert hook
|
8818 |
+
mergeVNodeHook(vnode, 'insert', function () {
|
8819 |
+
var parent = el.parentNode;
|
8820 |
+
var pendingNode = parent && parent._pending && parent._pending[vnode.key];
|
8821 |
+
if (pendingNode &&
|
8822 |
+
pendingNode.tag === vnode.tag &&
|
8823 |
+
pendingNode.elm._leaveCb) {
|
8824 |
+
pendingNode.elm._leaveCb();
|
8825 |
+
}
|
8826 |
+
enterHook && enterHook(el, cb);
|
8827 |
+
});
|
8828 |
+
}
|
8829 |
+
// start enter transition
|
8830 |
+
beforeEnterHook && beforeEnterHook(el);
|
8831 |
+
if (expectsCSS) {
|
8832 |
+
addTransitionClass(el, startClass);
|
8833 |
+
addTransitionClass(el, activeClass);
|
8834 |
+
nextFrame(function () {
|
8835 |
+
removeTransitionClass(el, startClass);
|
8836 |
+
// @ts-expect-error
|
8837 |
+
if (!cb.cancelled) {
|
8838 |
+
addTransitionClass(el, toClass);
|
8839 |
+
if (!userWantsControl) {
|
8840 |
+
if (isValidDuration(explicitEnterDuration)) {
|
8841 |
+
setTimeout(cb, explicitEnterDuration);
|
8842 |
+
}
|
8843 |
+
else {
|
8844 |
+
whenTransitionEnds(el, type, cb);
|
8845 |
+
}
|
8846 |
+
}
|
8847 |
+
}
|
8848 |
+
});
|
8849 |
+
}
|
8850 |
+
if (vnode.data.show) {
|
8851 |
+
toggleDisplay && toggleDisplay();
|
8852 |
+
enterHook && enterHook(el, cb);
|
8853 |
+
}
|
8854 |
+
if (!expectsCSS && !userWantsControl) {
|
8855 |
+
cb();
|
8856 |
+
}
|
8857 |
+
}
|
8858 |
+
function leave(vnode, rm) {
|
8859 |
+
var el = vnode.elm;
|
8860 |
+
// call enter callback now
|
8861 |
+
if (isDef(el._enterCb)) {
|
8862 |
+
el._enterCb.cancelled = true;
|
8863 |
+
el._enterCb();
|
8864 |
+
}
|
8865 |
+
var data = resolveTransition(vnode.data.transition);
|
8866 |
+
if (isUndef(data) || el.nodeType !== 1) {
|
8867 |
+
return rm();
|
8868 |
+
}
|
8869 |
+
/* istanbul ignore if */
|
8870 |
+
if (isDef(el._leaveCb)) {
|
8871 |
+
return;
|
8872 |
+
}
|
8873 |
+
var css = data.css, type = data.type, leaveClass = data.leaveClass, leaveToClass = data.leaveToClass, leaveActiveClass = data.leaveActiveClass, beforeLeave = data.beforeLeave, leave = data.leave, afterLeave = data.afterLeave, leaveCancelled = data.leaveCancelled, delayLeave = data.delayLeave, duration = data.duration;
|
8874 |
+
var expectsCSS = css !== false && !isIE9;
|
8875 |
+
var userWantsControl = getHookArgumentsLength(leave);
|
8876 |
+
var explicitLeaveDuration = toNumber(isObject(duration) ? duration.leave : duration);
|
8877 |
+
if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
|
8878 |
+
checkDuration(explicitLeaveDuration, 'leave', vnode);
|
8879 |
+
}
|
8880 |
+
var cb = (el._leaveCb = once(function () {
|
8881 |
+
if (el.parentNode && el.parentNode._pending) {
|
8882 |
+
el.parentNode._pending[vnode.key] = null;
|
8883 |
+
}
|
8884 |
+
if (expectsCSS) {
|
8885 |
+
removeTransitionClass(el, leaveToClass);
|
8886 |
+
removeTransitionClass(el, leaveActiveClass);
|
8887 |
+
}
|
8888 |
+
// @ts-expect-error
|
8889 |
+
if (cb.cancelled) {
|
8890 |
+
if (expectsCSS) {
|
8891 |
+
removeTransitionClass(el, leaveClass);
|
8892 |
+
}
|
8893 |
+
leaveCancelled && leaveCancelled(el);
|
8894 |
+
}
|
8895 |
+
else {
|
8896 |
+
rm();
|
8897 |
+
afterLeave && afterLeave(el);
|
8898 |
+
}
|
8899 |
+
el._leaveCb = null;
|
8900 |
+
}));
|
8901 |
+
if (delayLeave) {
|
8902 |
+
delayLeave(performLeave);
|
8903 |
+
}
|
8904 |
+
else {
|
8905 |
+
performLeave();
|
8906 |
+
}
|
8907 |
+
function performLeave() {
|
8908 |
+
// the delayed leave may have already been cancelled
|
8909 |
+
// @ts-expect-error
|
8910 |
+
if (cb.cancelled) {
|
8911 |
+
return;
|
8912 |
+
}
|
8913 |
+
// record leaving element
|
8914 |
+
if (!vnode.data.show && el.parentNode) {
|
8915 |
+
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] =
|
8916 |
+
vnode;
|
8917 |
+
}
|
8918 |
+
beforeLeave && beforeLeave(el);
|
8919 |
+
if (expectsCSS) {
|
8920 |
+
addTransitionClass(el, leaveClass);
|
8921 |
+
addTransitionClass(el, leaveActiveClass);
|
8922 |
+
nextFrame(function () {
|
8923 |
+
removeTransitionClass(el, leaveClass);
|
8924 |
+
// @ts-expect-error
|
8925 |
+
if (!cb.cancelled) {
|
8926 |
+
addTransitionClass(el, leaveToClass);
|
8927 |
+
if (!userWantsControl) {
|
8928 |
+
if (isValidDuration(explicitLeaveDuration)) {
|
8929 |
+
setTimeout(cb, explicitLeaveDuration);
|
8930 |
+
}
|
8931 |
+
else {
|
8932 |
+
whenTransitionEnds(el, type, cb);
|
8933 |
+
}
|
8934 |
+
}
|
8935 |
+
}
|
8936 |
+
});
|
8937 |
+
}
|
8938 |
+
leave && leave(el, cb);
|
8939 |
+
if (!expectsCSS && !userWantsControl) {
|
8940 |
+
cb();
|
8941 |
+
}
|
8942 |
+
}
|
8943 |
+
}
|
8944 |
+
// only used in dev mode
|
8945 |
+
function checkDuration(val, name, vnode) {
|
8946 |
+
if (typeof val !== 'number') {
|
8947 |
+
warn$2("<transition> explicit ".concat(name, " duration is not a valid number - ") +
|
8948 |
+
"got ".concat(JSON.stringify(val), "."), vnode.context);
|
8949 |
+
}
|
8950 |
+
else if (isNaN(val)) {
|
8951 |
+
warn$2("<transition> explicit ".concat(name, " duration is NaN - ") +
|
8952 |
+
'the duration expression might be incorrect.', vnode.context);
|
8953 |
+
}
|
8954 |
+
}
|
8955 |
+
function isValidDuration(val) {
|
8956 |
+
return typeof val === 'number' && !isNaN(val);
|
8957 |
+
}
|
8958 |
+
/**
|
8959 |
+
* Normalize a transition hook's argument length. The hook may be:
|
8960 |
+
* - a merged hook (invoker) with the original in .fns
|
8961 |
+
* - a wrapped component method (check ._length)
|
8962 |
+
* - a plain function (.length)
|
8963 |
+
*/
|
8964 |
+
function getHookArgumentsLength(fn) {
|
8965 |
+
if (isUndef(fn)) {
|
8966 |
+
return false;
|
8967 |
+
}
|
8968 |
+
// @ts-expect-error
|
8969 |
+
var invokerFns = fn.fns;
|
8970 |
+
if (isDef(invokerFns)) {
|
8971 |
+
// invoker
|
8972 |
+
return getHookArgumentsLength(Array.isArray(invokerFns) ? invokerFns[0] : invokerFns);
|
8973 |
+
}
|
8974 |
+
else {
|
8975 |
+
// @ts-expect-error
|
8976 |
+
return (fn._length || fn.length) > 1;
|
8977 |
+
}
|
8978 |
+
}
|
8979 |
+
function _enter(_, vnode) {
|
8980 |
+
if (vnode.data.show !== true) {
|
8981 |
+
enter(vnode);
|
8982 |
+
}
|
8983 |
+
}
|
8984 |
+
var transition = inBrowser
|
8985 |
+
? {
|
8986 |
+
create: _enter,
|
8987 |
+
activate: _enter,
|
8988 |
+
remove: function (vnode, rm) {
|
8989 |
+
/* istanbul ignore else */
|
8990 |
+
if (vnode.data.show !== true) {
|
8991 |
+
// @ts-expect-error
|
8992 |
+
leave(vnode, rm);
|
8993 |
+
}
|
8994 |
+
else {
|
8995 |
+
rm();
|
8996 |
+
}
|
8997 |
+
}
|
8998 |
+
}
|
8999 |
+
: {};
|
9000 |
+
|
9001 |
+
var platformModules = [attrs, klass$1, events, domProps, style$1, transition];
|
9002 |
+
|
9003 |
+
// the directive module should be applied last, after all
|
9004 |
+
// built-in modules have been applied.
|
9005 |
+
var modules$1 = platformModules.concat(baseModules);
|
9006 |
+
var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules$1 });
|
9007 |
+
|
9008 |
+
/**
|
9009 |
+
* Not type checking this file because flow doesn't like attaching
|
9010 |
+
* properties to Elements.
|
9011 |
+
*/
|
9012 |
+
/* istanbul ignore if */
|
9013 |
+
if (isIE9) {
|
9014 |
+
// http://www.matts411.com/post/internet-explorer-9-oninput/
|
9015 |
+
document.addEventListener('selectionchange', function () {
|
9016 |
+
var el = document.activeElement;
|
9017 |
+
// @ts-expect-error
|
9018 |
+
if (el && el.vmodel) {
|
9019 |
+
trigger(el, 'input');
|
9020 |
+
}
|
9021 |
+
});
|
9022 |
+
}
|
9023 |
+
var directive = {
|
9024 |
+
inserted: function (el, binding, vnode, oldVnode) {
|
9025 |
+
if (vnode.tag === 'select') {
|
9026 |
+
// #6903
|
9027 |
+
if (oldVnode.elm && !oldVnode.elm._vOptions) {
|
9028 |
+
mergeVNodeHook(vnode, 'postpatch', function () {
|
9029 |
+
directive.componentUpdated(el, binding, vnode);
|
9030 |
+
});
|
9031 |
+
}
|
9032 |
+
else {
|
9033 |
+
setSelected(el, binding, vnode.context);
|
9034 |
+
}
|
9035 |
+
el._vOptions = [].map.call(el.options, getValue);
|
9036 |
+
}
|
9037 |
+
else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {
|
9038 |
+
el._vModifiers = binding.modifiers;
|
9039 |
+
if (!binding.modifiers.lazy) {
|
9040 |
+
el.addEventListener('compositionstart', onCompositionStart);
|
9041 |
+
el.addEventListener('compositionend', onCompositionEnd);
|
9042 |
+
// Safari < 10.2 & UIWebView doesn't fire compositionend when
|
9043 |
+
// switching focus before confirming composition choice
|
9044 |
+
// this also fixes the issue where some browsers e.g. iOS Chrome
|
9045 |
+
// fires "change" instead of "input" on autocomplete.
|
9046 |
+
el.addEventListener('change', onCompositionEnd);
|
9047 |
+
/* istanbul ignore if */
|
9048 |
+
if (isIE9) {
|
9049 |
+
el.vmodel = true;
|
9050 |
+
}
|
9051 |
+
}
|
9052 |
+
}
|
9053 |
+
},
|
9054 |
+
componentUpdated: function (el, binding, vnode) {
|
9055 |
+
if (vnode.tag === 'select') {
|
9056 |
+
setSelected(el, binding, vnode.context);
|
9057 |
+
// in case the options rendered by v-for have changed,
|
9058 |
+
// it's possible that the value is out-of-sync with the rendered options.
|
9059 |
+
// detect such cases and filter out values that no longer has a matching
|
9060 |
+
// option in the DOM.
|
9061 |
+
var prevOptions_1 = el._vOptions;
|
9062 |
+
var curOptions_1 = (el._vOptions = [].map.call(el.options, getValue));
|
9063 |
+
if (curOptions_1.some(function (o, i) { return !looseEqual(o, prevOptions_1[i]); })) {
|
9064 |
+
// trigger change event if
|
9065 |
+
// no matching option found for at least one value
|
9066 |
+
var needReset = el.multiple
|
9067 |
+
? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions_1); })
|
9068 |
+
: binding.value !== binding.oldValue &&
|
9069 |
+
hasNoMatchingOption(binding.value, curOptions_1);
|
9070 |
+
if (needReset) {
|
9071 |
+
trigger(el, 'change');
|
9072 |
+
}
|
9073 |
+
}
|
9074 |
+
}
|
9075 |
+
}
|
9076 |
+
};
|
9077 |
+
function setSelected(el, binding, vm) {
|
9078 |
+
actuallySetSelected(el, binding, vm);
|
9079 |
+
/* istanbul ignore if */
|
9080 |
+
if (isIE || isEdge) {
|
9081 |
+
setTimeout(function () {
|
9082 |
+
actuallySetSelected(el, binding, vm);
|
9083 |
+
}, 0);
|
9084 |
+
}
|
9085 |
+
}
|
9086 |
+
function actuallySetSelected(el, binding, vm) {
|
9087 |
+
var value = binding.value;
|
9088 |
+
var isMultiple = el.multiple;
|
9089 |
+
if (isMultiple && !Array.isArray(value)) {
|
9090 |
+
process.env.NODE_ENV !== 'production' &&
|
9091 |
+
warn$2("<select multiple v-model=\"".concat(binding.expression, "\"> ") +
|
9092 |
+
"expects an Array value for its binding, but got ".concat(Object.prototype.toString
|
9093 |
+
.call(value)
|
9094 |
+
.slice(8, -1)), vm);
|
9095 |
+
return;
|
9096 |
+
}
|
9097 |
+
var selected, option;
|
9098 |
+
for (var i = 0, l = el.options.length; i < l; i++) {
|
9099 |
+
option = el.options[i];
|
9100 |
+
if (isMultiple) {
|
9101 |
+
selected = looseIndexOf(value, getValue(option)) > -1;
|
9102 |
+
if (option.selected !== selected) {
|
9103 |
+
option.selected = selected;
|
9104 |
+
}
|
9105 |
+
}
|
9106 |
+
else {
|
9107 |
+
if (looseEqual(getValue(option), value)) {
|
9108 |
+
if (el.selectedIndex !== i) {
|
9109 |
+
el.selectedIndex = i;
|
9110 |
+
}
|
9111 |
+
return;
|
9112 |
+
}
|
9113 |
+
}
|
9114 |
+
}
|
9115 |
+
if (!isMultiple) {
|
9116 |
+
el.selectedIndex = -1;
|
9117 |
+
}
|
9118 |
+
}
|
9119 |
+
function hasNoMatchingOption(value, options) {
|
9120 |
+
return options.every(function (o) { return !looseEqual(o, value); });
|
9121 |
+
}
|
9122 |
+
function getValue(option) {
|
9123 |
+
return '_value' in option ? option._value : option.value;
|
9124 |
+
}
|
9125 |
+
function onCompositionStart(e) {
|
9126 |
+
e.target.composing = true;
|
9127 |
+
}
|
9128 |
+
function onCompositionEnd(e) {
|
9129 |
+
// prevent triggering an input event for no reason
|
9130 |
+
if (!e.target.composing)
|
9131 |
+
return;
|
9132 |
+
e.target.composing = false;
|
9133 |
+
trigger(e.target, 'input');
|
9134 |
+
}
|
9135 |
+
function trigger(el, type) {
|
9136 |
+
var e = document.createEvent('HTMLEvents');
|
9137 |
+
e.initEvent(type, true, true);
|
9138 |
+
el.dispatchEvent(e);
|
9139 |
+
}
|
9140 |
+
|
9141 |
+
// recursively search for possible transition defined inside the component root
|
9142 |
+
function locateNode(vnode) {
|
9143 |
+
// @ts-expect-error
|
9144 |
+
return vnode.componentInstance && (!vnode.data || !vnode.data.transition)
|
9145 |
+
? locateNode(vnode.componentInstance._vnode)
|
9146 |
+
: vnode;
|
9147 |
+
}
|
9148 |
+
var show = {
|
9149 |
+
bind: function (el, _a, vnode) {
|
9150 |
+
var value = _a.value;
|
9151 |
+
vnode = locateNode(vnode);
|
9152 |
+
var transition = vnode.data && vnode.data.transition;
|
9153 |
+
var originalDisplay = (el.__vOriginalDisplay =
|
9154 |
+
el.style.display === 'none' ? '' : el.style.display);
|
9155 |
+
if (value && transition) {
|
9156 |
+
vnode.data.show = true;
|
9157 |
+
enter(vnode, function () {
|
9158 |
+
el.style.display = originalDisplay;
|
9159 |
+
});
|
9160 |
+
}
|
9161 |
+
else {
|
9162 |
+
el.style.display = value ? originalDisplay : 'none';
|
9163 |
+
}
|
9164 |
+
},
|
9165 |
+
update: function (el, _a, vnode) {
|
9166 |
+
var value = _a.value, oldValue = _a.oldValue;
|
9167 |
+
/* istanbul ignore if */
|
9168 |
+
if (!value === !oldValue)
|
9169 |
+
return;
|
9170 |
+
vnode = locateNode(vnode);
|
9171 |
+
var transition = vnode.data && vnode.data.transition;
|
9172 |
+
if (transition) {
|
9173 |
+
vnode.data.show = true;
|
9174 |
+
if (value) {
|
9175 |
+
enter(vnode, function () {
|
9176 |
+
el.style.display = el.__vOriginalDisplay;
|
9177 |
+
});
|
9178 |
+
}
|
9179 |
+
else {
|
9180 |
+
leave(vnode, function () {
|
9181 |
+
el.style.display = 'none';
|
9182 |
+
});
|
9183 |
+
}
|
9184 |
+
}
|
9185 |
+
else {
|
9186 |
+
el.style.display = value ? el.__vOriginalDisplay : 'none';
|
9187 |
+
}
|
9188 |
+
},
|
9189 |
+
unbind: function (el, binding, vnode, oldVnode, isDestroy) {
|
9190 |
+
if (!isDestroy) {
|
9191 |
+
el.style.display = el.__vOriginalDisplay;
|
9192 |
+
}
|
9193 |
+
}
|
9194 |
+
};
|
9195 |
|
9196 |
+
var platformDirectives = {
|
9197 |
+
model: directive,
|
9198 |
+
show: show
|
9199 |
+
};
|
9200 |
|
9201 |
+
// Provides transition support for a single element/component.
|
9202 |
+
var transitionProps = {
|
9203 |
+
name: String,
|
9204 |
+
appear: Boolean,
|
9205 |
+
css: Boolean,
|
9206 |
+
mode: String,
|
9207 |
+
type: String,
|
9208 |
+
enterClass: String,
|
9209 |
+
leaveClass: String,
|
9210 |
+
enterToClass: String,
|
9211 |
+
leaveToClass: String,
|
9212 |
+
enterActiveClass: String,
|
9213 |
+
leaveActiveClass: String,
|
9214 |
+
appearClass: String,
|
9215 |
+
appearActiveClass: String,
|
9216 |
+
appearToClass: String,
|
9217 |
+
duration: [Number, String, Object]
|
9218 |
+
};
|
9219 |
+
// in case the child is also an abstract component, e.g. <keep-alive>
|
9220 |
+
// we want to recursively retrieve the real component to be rendered
|
9221 |
+
function getRealChild(vnode) {
|
9222 |
+
var compOptions = vnode && vnode.componentOptions;
|
9223 |
+
if (compOptions && compOptions.Ctor.options.abstract) {
|
9224 |
+
return getRealChild(getFirstComponentChild(compOptions.children));
|
9225 |
+
}
|
9226 |
+
else {
|
9227 |
+
return vnode;
|
9228 |
+
}
|
9229 |
+
}
|
9230 |
+
function extractTransitionData(comp) {
|
9231 |
+
var data = {};
|
9232 |
+
var options = comp.$options;
|
9233 |
+
// props
|
9234 |
+
for (var key in options.propsData) {
|
9235 |
+
data[key] = comp[key];
|
9236 |
+
}
|
9237 |
+
// events.
|
9238 |
+
// extract listeners and pass them directly to the transition methods
|
9239 |
+
var listeners = options._parentListeners;
|
9240 |
+
for (var key in listeners) {
|
9241 |
+
data[camelize(key)] = listeners[key];
|
9242 |
+
}
|
9243 |
+
return data;
|
9244 |
+
}
|
9245 |
+
function placeholder(h, rawChild) {
|
9246 |
+
// @ts-expect-error
|
9247 |
+
if (/\d-keep-alive$/.test(rawChild.tag)) {
|
9248 |
+
return h('keep-alive', {
|
9249 |
+
props: rawChild.componentOptions.propsData
|
9250 |
+
});
|
9251 |
+
}
|
9252 |
+
}
|
9253 |
+
function hasParentTransition(vnode) {
|
9254 |
+
while ((vnode = vnode.parent)) {
|
9255 |
+
if (vnode.data.transition) {
|
9256 |
+
return true;
|
9257 |
+
}
|
9258 |
+
}
|
9259 |
+
}
|
9260 |
+
function isSameChild(child, oldChild) {
|
9261 |
+
return oldChild.key === child.key && oldChild.tag === child.tag;
|
9262 |
+
}
|
9263 |
+
var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };
|
9264 |
+
var isVShowDirective = function (d) { return d.name === 'show'; };
|
9265 |
+
var Transition = {
|
9266 |
+
name: 'transition',
|
9267 |
+
props: transitionProps,
|
9268 |
+
abstract: true,
|
9269 |
+
render: function (h) {
|
9270 |
+
var _this = this;
|
9271 |
+
var children = this.$slots.default;
|
9272 |
+
if (!children) {
|
9273 |
+
return;
|
9274 |
+
}
|
9275 |
+
// filter out text nodes (possible whitespaces)
|
9276 |
+
children = children.filter(isNotTextNode);
|
9277 |
+
/* istanbul ignore if */
|
9278 |
+
if (!children.length) {
|
9279 |
+
return;
|
9280 |
+
}
|
9281 |
+
// warn multiple elements
|
9282 |
+
if (process.env.NODE_ENV !== 'production' && children.length > 1) {
|
9283 |
+
warn$2('<transition> can only be used on a single element. Use ' +
|
9284 |
+
'<transition-group> for lists.', this.$parent);
|
9285 |
+
}
|
9286 |
+
var mode = this.mode;
|
9287 |
+
// warn invalid mode
|
9288 |
+
if (process.env.NODE_ENV !== 'production' && mode && mode !== 'in-out' && mode !== 'out-in') {
|
9289 |
+
warn$2('invalid <transition> mode: ' + mode, this.$parent);
|
9290 |
+
}
|
9291 |
+
var rawChild = children[0];
|
9292 |
+
// if this is a component root node and the component's
|
9293 |
+
// parent container node also has transition, skip.
|
9294 |
+
if (hasParentTransition(this.$vnode)) {
|
9295 |
+
return rawChild;
|
9296 |
+
}
|
9297 |
+
// apply transition data to child
|
9298 |
+
// use getRealChild() to ignore abstract components e.g. keep-alive
|
9299 |
+
var child = getRealChild(rawChild);
|
9300 |
+
/* istanbul ignore if */
|
9301 |
+
if (!child) {
|
9302 |
+
return rawChild;
|
9303 |
+
}
|
9304 |
+
if (this._leaving) {
|
9305 |
+
return placeholder(h, rawChild);
|
9306 |
+
}
|
9307 |
+
// ensure a key that is unique to the vnode type and to this transition
|
9308 |
+
// component instance. This key will be used to remove pending leaving nodes
|
9309 |
+
// during entering.
|
9310 |
+
var id = "__transition-".concat(this._uid, "-");
|
9311 |
+
child.key =
|
9312 |
+
child.key == null
|
9313 |
+
? child.isComment
|
9314 |
+
? id + 'comment'
|
9315 |
+
: id + child.tag
|
9316 |
+
: isPrimitive(child.key)
|
9317 |
+
? String(child.key).indexOf(id) === 0
|
9318 |
+
? child.key
|
9319 |
+
: id + child.key
|
9320 |
+
: child.key;
|
9321 |
+
var data = ((child.data || (child.data = {})).transition =
|
9322 |
+
extractTransitionData(this));
|
9323 |
+
var oldRawChild = this._vnode;
|
9324 |
+
var oldChild = getRealChild(oldRawChild);
|
9325 |
+
// mark v-show
|
9326 |
+
// so that the transition module can hand over the control to the directive
|
9327 |
+
if (child.data.directives && child.data.directives.some(isVShowDirective)) {
|
9328 |
+
child.data.show = true;
|
9329 |
+
}
|
9330 |
+
if (oldChild &&
|
9331 |
+
oldChild.data &&
|
9332 |
+
!isSameChild(child, oldChild) &&
|
9333 |
+
!isAsyncPlaceholder(oldChild) &&
|
9334 |
+
// #6687 component root is a comment node
|
9335 |
+
!(oldChild.componentInstance &&
|
9336 |
+
oldChild.componentInstance._vnode.isComment)) {
|
9337 |
+
// replace old child transition data with fresh one
|
9338 |
+
// important for dynamic transitions!
|
9339 |
+
var oldData = (oldChild.data.transition = extend({}, data));
|
9340 |
+
// handle transition mode
|
9341 |
+
if (mode === 'out-in') {
|
9342 |
+
// return placeholder node and queue update when leave finishes
|
9343 |
+
this._leaving = true;
|
9344 |
+
mergeVNodeHook(oldData, 'afterLeave', function () {
|
9345 |
+
_this._leaving = false;
|
9346 |
+
_this.$forceUpdate();
|
9347 |
+
});
|
9348 |
+
return placeholder(h, rawChild);
|
9349 |
+
}
|
9350 |
+
else if (mode === 'in-out') {
|
9351 |
+
if (isAsyncPlaceholder(child)) {
|
9352 |
+
return oldRawChild;
|
9353 |
+
}
|
9354 |
+
var delayedLeave_1;
|
9355 |
+
var performLeave = function () {
|
9356 |
+
delayedLeave_1();
|
9357 |
+
};
|
9358 |
+
mergeVNodeHook(data, 'afterEnter', performLeave);
|
9359 |
+
mergeVNodeHook(data, 'enterCancelled', performLeave);
|
9360 |
+
mergeVNodeHook(oldData, 'delayLeave', function (leave) {
|
9361 |
+
delayedLeave_1 = leave;
|
9362 |
+
});
|
9363 |
+
}
|
9364 |
+
}
|
9365 |
+
return rawChild;
|
9366 |
+
}
|
9367 |
+
};
|
9368 |
|
9369 |
+
// Provides transition support for list items.
|
9370 |
+
var props = extend({
|
9371 |
+
tag: String,
|
9372 |
+
moveClass: String
|
9373 |
+
}, transitionProps);
|
9374 |
+
delete props.mode;
|
9375 |
+
var TransitionGroup = {
|
9376 |
+
props: props,
|
9377 |
+
beforeMount: function () {
|
9378 |
+
var _this = this;
|
9379 |
+
var update = this._update;
|
9380 |
+
this._update = function (vnode, hydrating) {
|
9381 |
+
var restoreActiveInstance = setActiveInstance(_this);
|
9382 |
+
// force removing pass
|
9383 |
+
_this.__patch__(_this._vnode, _this.kept, false, // hydrating
|
9384 |
+
true // removeOnly (!important, avoids unnecessary moves)
|
9385 |
+
);
|
9386 |
+
_this._vnode = _this.kept;
|
9387 |
+
restoreActiveInstance();
|
9388 |
+
update.call(_this, vnode, hydrating);
|
9389 |
+
};
|
9390 |
+
},
|
9391 |
+
render: function (h) {
|
9392 |
+
var tag = this.tag || this.$vnode.data.tag || 'span';
|
9393 |
+
var map = Object.create(null);
|
9394 |
+
var prevChildren = (this.prevChildren = this.children);
|
9395 |
+
var rawChildren = this.$slots.default || [];
|
9396 |
+
var children = (this.children = []);
|
9397 |
+
var transitionData = extractTransitionData(this);
|
9398 |
+
for (var i = 0; i < rawChildren.length; i++) {
|
9399 |
+
var c = rawChildren[i];
|
9400 |
+
if (c.tag) {
|
9401 |
+
if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {
|
9402 |
+
children.push(c);
|
9403 |
+
map[c.key] = c;
|
9404 |
+
(c.data || (c.data = {})).transition = transitionData;
|
9405 |
+
}
|
9406 |
+
else if (process.env.NODE_ENV !== 'production') {
|
9407 |
+
var opts = c.componentOptions;
|
9408 |
+
var name_1 = opts
|
9409 |
+
? getComponentName(opts.Ctor.options) || opts.tag || ''
|
9410 |
+
: c.tag;
|
9411 |
+
warn$2("<transition-group> children must be keyed: <".concat(name_1, ">"));
|
9412 |
+
}
|
9413 |
+
}
|
9414 |
+
}
|
9415 |
+
if (prevChildren) {
|
9416 |
+
var kept = [];
|
9417 |
+
var removed = [];
|
9418 |
+
for (var i = 0; i < prevChildren.length; i++) {
|
9419 |
+
var c = prevChildren[i];
|
9420 |
+
c.data.transition = transitionData;
|
9421 |
+
// @ts-expect-error .getBoundingClientRect is not typed in Node
|
9422 |
+
c.data.pos = c.elm.getBoundingClientRect();
|
9423 |
+
if (map[c.key]) {
|
9424 |
+
kept.push(c);
|
9425 |
+
}
|
9426 |
+
else {
|
9427 |
+
removed.push(c);
|
9428 |
+
}
|
9429 |
+
}
|
9430 |
+
this.kept = h(tag, null, kept);
|
9431 |
+
this.removed = removed;
|
9432 |
+
}
|
9433 |
+
return h(tag, null, children);
|
9434 |
+
},
|
9435 |
+
updated: function () {
|
9436 |
+
var children = this.prevChildren;
|
9437 |
+
var moveClass = this.moveClass || (this.name || 'v') + '-move';
|
9438 |
+
if (!children.length || !this.hasMove(children[0].elm, moveClass)) {
|
9439 |
+
return;
|
9440 |
+
}
|
9441 |
+
// we divide the work into three loops to avoid mixing DOM reads and writes
|
9442 |
+
// in each iteration - which helps prevent layout thrashing.
|
9443 |
+
children.forEach(callPendingCbs);
|
9444 |
+
children.forEach(recordPosition);
|
9445 |
+
children.forEach(applyTranslation);
|
9446 |
+
// force reflow to put everything in position
|
9447 |
+
// assign to this to avoid being removed in tree-shaking
|
9448 |
+
// $flow-disable-line
|
9449 |
+
this._reflow = document.body.offsetHeight;
|
9450 |
+
children.forEach(function (c) {
|
9451 |
+
if (c.data.moved) {
|
9452 |
+
var el_1 = c.elm;
|
9453 |
+
var s = el_1.style;
|
9454 |
+
addTransitionClass(el_1, moveClass);
|
9455 |
+
s.transform = s.WebkitTransform = s.transitionDuration = '';
|
9456 |
+
el_1.addEventListener(transitionEndEvent, (el_1._moveCb = function cb(e) {
|
9457 |
+
if (e && e.target !== el_1) {
|
9458 |
+
return;
|
9459 |
+
}
|
9460 |
+
if (!e || /transform$/.test(e.propertyName)) {
|
9461 |
+
el_1.removeEventListener(transitionEndEvent, cb);
|
9462 |
+
el_1._moveCb = null;
|
9463 |
+
removeTransitionClass(el_1, moveClass);
|
9464 |
+
}
|
9465 |
+
}));
|
9466 |
+
}
|
9467 |
+
});
|
9468 |
+
},
|
9469 |
+
methods: {
|
9470 |
+
hasMove: function (el, moveClass) {
|
9471 |
+
/* istanbul ignore if */
|
9472 |
+
if (!hasTransition) {
|
9473 |
+
return false;
|
9474 |
+
}
|
9475 |
+
/* istanbul ignore if */
|
9476 |
+
if (this._hasMove) {
|
9477 |
+
return this._hasMove;
|
9478 |
+
}
|
9479 |
+
// Detect whether an element with the move class applied has
|
9480 |
+
// CSS transitions. Since the element may be inside an entering
|
9481 |
+
// transition at this very moment, we make a clone of it and remove
|
9482 |
+
// all other transition classes applied to ensure only the move class
|
9483 |
+
// is applied.
|
9484 |
+
var clone = el.cloneNode();
|
9485 |
+
if (el._transitionClasses) {
|
9486 |
+
el._transitionClasses.forEach(function (cls) {
|
9487 |
+
removeClass(clone, cls);
|
9488 |
+
});
|
9489 |
+
}
|
9490 |
+
addClass(clone, moveClass);
|
9491 |
+
clone.style.display = 'none';
|
9492 |
+
this.$el.appendChild(clone);
|
9493 |
+
var info = getTransitionInfo(clone);
|
9494 |
+
this.$el.removeChild(clone);
|
9495 |
+
return (this._hasMove = info.hasTransform);
|
9496 |
+
}
|
9497 |
+
}
|
9498 |
+
};
|
9499 |
+
function callPendingCbs(c) {
|
9500 |
+
/* istanbul ignore if */
|
9501 |
+
if (c.elm._moveCb) {
|
9502 |
+
c.elm._moveCb();
|
9503 |
+
}
|
9504 |
+
/* istanbul ignore if */
|
9505 |
+
if (c.elm._enterCb) {
|
9506 |
+
c.elm._enterCb();
|
9507 |
+
}
|
9508 |
+
}
|
9509 |
+
function recordPosition(c) {
|
9510 |
+
c.data.newPos = c.elm.getBoundingClientRect();
|
9511 |
+
}
|
9512 |
+
function applyTranslation(c) {
|
9513 |
+
var oldPos = c.data.pos;
|
9514 |
+
var newPos = c.data.newPos;
|
9515 |
+
var dx = oldPos.left - newPos.left;
|
9516 |
+
var dy = oldPos.top - newPos.top;
|
9517 |
+
if (dx || dy) {
|
9518 |
+
c.data.moved = true;
|
9519 |
+
var s = c.elm.style;
|
9520 |
+
s.transform = s.WebkitTransform = "translate(".concat(dx, "px,").concat(dy, "px)");
|
9521 |
+
s.transitionDuration = '0s';
|
9522 |
+
}
|
9523 |
+
}
|
9524 |
+
|
9525 |
+
var platformComponents = {
|
9526 |
+
Transition: Transition,
|
9527 |
+
TransitionGroup: TransitionGroup
|
9528 |
+
};
|
9529 |
|
9530 |
+
// install platform specific utils
|
9531 |
+
Vue.config.mustUseProp = mustUseProp;
|
9532 |
+
Vue.config.isReservedTag = isReservedTag;
|
9533 |
+
Vue.config.isReservedAttr = isReservedAttr;
|
9534 |
+
Vue.config.getTagNamespace = getTagNamespace;
|
9535 |
+
Vue.config.isUnknownElement = isUnknownElement;
|
9536 |
+
// install platform runtime directives & components
|
9537 |
+
extend(Vue.options.directives, platformDirectives);
|
9538 |
+
extend(Vue.options.components, platformComponents);
|
9539 |
+
// install platform patch function
|
9540 |
+
Vue.prototype.__patch__ = inBrowser ? patch : noop;
|
9541 |
+
// public mount method
|
9542 |
+
Vue.prototype.$mount = function (el, hydrating) {
|
9543 |
+
el = el && inBrowser ? query(el) : undefined;
|
9544 |
+
return mountComponent(this, el, hydrating);
|
9545 |
+
};
|
9546 |
+
// devtools global hook
|
9547 |
+
/* istanbul ignore next */
|
9548 |
+
if (inBrowser) {
|
9549 |
+
setTimeout(function () {
|
9550 |
+
if (config.devtools) {
|
9551 |
+
if (devtools) {
|
9552 |
+
devtools.emit('init', Vue);
|
9553 |
+
}
|
9554 |
+
else if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {
|
9555 |
+
// @ts-expect-error
|
9556 |
+
console[console.info ? 'info' : 'log']('Download the Vue Devtools extension for a better development experience:\n' +
|
9557 |
+
'https://github.com/vuejs/vue-devtools');
|
9558 |
+
}
|
9559 |
+
}
|
9560 |
+
if (process.env.NODE_ENV !== 'production' &&
|
9561 |
+
process.env.NODE_ENV !== 'test' &&
|
9562 |
+
config.productionTip !== false &&
|
9563 |
+
typeof console !== 'undefined') {
|
9564 |
+
// @ts-expect-error
|
9565 |
+
console[console.info ? 'info' : 'log']("You are running Vue in development mode.\n" +
|
9566 |
+
"Make sure to turn on production mode when deploying for production.\n" +
|
9567 |
+
"See more tips at https://vuejs.org/guide/deployment.html");
|
9568 |
+
}
|
9569 |
+
}, 0);
|
9570 |
+
}
|
9571 |
+
|
9572 |
+
var defaultTagRE = /\{\{((?:.|\r?\n)+?)\}\}/g;
|
9573 |
+
var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g;
|
9574 |
+
var buildRegex = cached(function (delimiters) {
|
9575 |
+
var open = delimiters[0].replace(regexEscapeRE, '\\$&');
|
9576 |
+
var close = delimiters[1].replace(regexEscapeRE, '\\$&');
|
9577 |
+
return new RegExp(open + '((?:.|\\n)+?)' + close, 'g');
|
9578 |
+
});
|
9579 |
+
function parseText(text, delimiters) {
|
9580 |
+
//@ts-expect-error
|
9581 |
+
var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
|
9582 |
+
if (!tagRE.test(text)) {
|
9583 |
+
return;
|
9584 |
+
}
|
9585 |
+
var tokens = [];
|
9586 |
+
var rawTokens = [];
|
9587 |
+
var lastIndex = (tagRE.lastIndex = 0);
|
9588 |
+
var match, index, tokenValue;
|
9589 |
+
while ((match = tagRE.exec(text))) {
|
9590 |
+
index = match.index;
|
9591 |
+
// push text token
|
9592 |
+
if (index > lastIndex) {
|
9593 |
+
rawTokens.push((tokenValue = text.slice(lastIndex, index)));
|
9594 |
+
tokens.push(JSON.stringify(tokenValue));
|
9595 |
+
}
|
9596 |
+
// tag token
|
9597 |
+
var exp = parseFilters(match[1].trim());
|
9598 |
+
tokens.push("_s(".concat(exp, ")"));
|
9599 |
+
rawTokens.push({ '@binding': exp });
|
9600 |
+
lastIndex = index + match[0].length;
|
9601 |
+
}
|
9602 |
+
if (lastIndex < text.length) {
|
9603 |
+
rawTokens.push((tokenValue = text.slice(lastIndex)));
|
9604 |
+
tokens.push(JSON.stringify(tokenValue));
|
9605 |
+
}
|
9606 |
+
return {
|
9607 |
+
expression: tokens.join('+'),
|
9608 |
+
tokens: rawTokens
|
9609 |
+
};
|
9610 |
+
}
|
9611 |
+
|
9612 |
+
function transformNode$1(el, options) {
|
9613 |
+
var warn = options.warn || baseWarn;
|
9614 |
+
var staticClass = getAndRemoveAttr(el, 'class');
|
9615 |
+
if (process.env.NODE_ENV !== 'production' && staticClass) {
|
9616 |
+
var res = parseText(staticClass, options.delimiters);
|
9617 |
+
if (res) {
|
9618 |
+
warn("class=\"".concat(staticClass, "\": ") +
|
9619 |
+
'Interpolation inside attributes has been removed. ' +
|
9620 |
+
'Use v-bind or the colon shorthand instead. For example, ' +
|
9621 |
+
'instead of <div class="{{ val }}">, use <div :class="val">.', el.rawAttrsMap['class']);
|
9622 |
+
}
|
9623 |
+
}
|
9624 |
+
if (staticClass) {
|
9625 |
+
el.staticClass = JSON.stringify(staticClass.replace(/\s+/g, ' ').trim());
|
9626 |
+
}
|
9627 |
+
var classBinding = getBindingAttr(el, 'class', false /* getStatic */);
|
9628 |
+
if (classBinding) {
|
9629 |
+
el.classBinding = classBinding;
|
9630 |
+
}
|
9631 |
+
}
|
9632 |
+
function genData$2(el) {
|
9633 |
+
var data = '';
|
9634 |
+
if (el.staticClass) {
|
9635 |
+
data += "staticClass:".concat(el.staticClass, ",");
|
9636 |
+
}
|
9637 |
+
if (el.classBinding) {
|
9638 |
+
data += "class:".concat(el.classBinding, ",");
|
9639 |
+
}
|
9640 |
+
return data;
|
9641 |
+
}
|
9642 |
+
var klass = {
|
9643 |
+
staticKeys: ['staticClass'],
|
9644 |
+
transformNode: transformNode$1,
|
9645 |
+
genData: genData$2
|
9646 |
+
};
|
9647 |
|
9648 |
+
function transformNode(el, options) {
|
9649 |
+
var warn = options.warn || baseWarn;
|
9650 |
+
var staticStyle = getAndRemoveAttr(el, 'style');
|
9651 |
+
if (staticStyle) {
|
9652 |
+
/* istanbul ignore if */
|
9653 |
+
if (process.env.NODE_ENV !== 'production') {
|
9654 |
+
var res = parseText(staticStyle, options.delimiters);
|
9655 |
+
if (res) {
|
9656 |
+
warn("style=\"".concat(staticStyle, "\": ") +
|
9657 |
+
'Interpolation inside attributes has been removed. ' +
|
9658 |
+
'Use v-bind or the colon shorthand instead. For example, ' +
|
9659 |
+
'instead of <div style="{{ val }}">, use <div :style="val">.', el.rawAttrsMap['style']);
|
9660 |
+
}
|
9661 |
+
}
|
9662 |
+
el.staticStyle = JSON.stringify(parseStyleText(staticStyle));
|
9663 |
+
}
|
9664 |
+
var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);
|
9665 |
+
if (styleBinding) {
|
9666 |
+
el.styleBinding = styleBinding;
|
9667 |
+
}
|
9668 |
+
}
|
9669 |
+
function genData$1(el) {
|
9670 |
+
var data = '';
|
9671 |
+
if (el.staticStyle) {
|
9672 |
+
data += "staticStyle:".concat(el.staticStyle, ",");
|
9673 |
+
}
|
9674 |
+
if (el.styleBinding) {
|
9675 |
+
data += "style:(".concat(el.styleBinding, "),");
|
9676 |
+
}
|
9677 |
+
return data;
|
9678 |
+
}
|
9679 |
+
var style = {
|
9680 |
+
staticKeys: ['staticStyle'],
|
9681 |
+
transformNode: transformNode,
|
9682 |
+
genData: genData$1
|
9683 |
+
};
|
9684 |
|
9685 |
+
var decoder;
|
9686 |
+
var he = {
|
9687 |
+
decode: function (html) {
|
9688 |
+
decoder = decoder || document.createElement('div');
|
9689 |
+
decoder.innerHTML = html;
|
9690 |
+
return decoder.textContent;
|
9691 |
+
}
|
9692 |
+
};
|
9693 |
|
9694 |
+
var isUnaryTag = makeMap('area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
|
9695 |
+
'link,meta,param,source,track,wbr');
|
9696 |
+
// Elements that you can, intentionally, leave open
|
9697 |
+
// (and which close themselves)
|
9698 |
+
var canBeLeftOpenTag = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source');
|
9699 |
+
// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
|
9700 |
+
// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
|
9701 |
+
var isNonPhrasingTag = makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +
|
9702 |
+
'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +
|
9703 |
+
'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +
|
9704 |
+
'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +
|
9705 |
+
'title,tr,track');
|
9706 |
+
|
9707 |
+
/**
|
9708 |
+
* Not type-checking this file because it's mostly vendor code.
|
9709 |
+
*/
|
9710 |
+
// Regular Expressions for parsing tags and attributes
|
9711 |
+
var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9712 |
+
var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
|
9713 |
+
var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(unicodeRegExp.source, "]*");
|
9714 |
+
var qnameCapture = "((?:".concat(ncname, "\\:)?").concat(ncname, ")");
|
9715 |
+
var startTagOpen = new RegExp("^<".concat(qnameCapture));
|
9716 |
+
var startTagClose = /^\s*(\/?)>/;
|
9717 |
+
var endTag = new RegExp("^<\\/".concat(qnameCapture, "[^>]*>"));
|
9718 |
+
var doctype = /^<!DOCTYPE [^>]+>/i;
|
9719 |
+
// #7298: escape - to avoid being passed as HTML comment when inlined in page
|
9720 |
+
var comment = /^<!\--/;
|
9721 |
+
var conditionalComment = /^<!\[/;
|
9722 |
+
// Special Elements (can contain anything)
|
9723 |
+
var isPlainTextElement = makeMap('script,style,textarea', true);
|
9724 |
+
var reCache = {};
|
9725 |
+
var decodingMap = {
|
9726 |
+
'<': '<',
|
9727 |
+
'>': '>',
|
9728 |
+
'"': '"',
|
9729 |
+
'&': '&',
|
9730 |
+
' ': '\n',
|
9731 |
+
'	': '\t',
|
9732 |
+
''': "'"
|
9733 |
+
};
|
9734 |
+
var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;
|
9735 |
+
var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;
|
9736 |
+
// #5992
|
9737 |
+
var isIgnoreNewlineTag = makeMap('pre,textarea', true);
|
9738 |
+
var shouldIgnoreFirstNewline = function (tag, html) {
|
9739 |
+
return tag && isIgnoreNewlineTag(tag) && html[0] === '\n';
|
9740 |
+
};
|
9741 |
+
function decodeAttr(value, shouldDecodeNewlines) {
|
9742 |
+
var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;
|
9743 |
+
return value.replace(re, function (match) { return decodingMap[match]; });
|
9744 |
+
}
|
9745 |
+
function parseHTML(html, options) {
|
9746 |
+
var stack = [];
|
9747 |
+
var expectHTML = options.expectHTML;
|
9748 |
+
var isUnaryTag = options.isUnaryTag || no;
|
9749 |
+
var canBeLeftOpenTag = options.canBeLeftOpenTag || no;
|
9750 |
+
var index = 0;
|
9751 |
+
var last, lastTag;
|
9752 |
+
var _loop_1 = function () {
|
9753 |
+
last = html;
|
9754 |
+
// Make sure we're not in a plaintext content element like script/style
|
9755 |
+
if (!lastTag || !isPlainTextElement(lastTag)) {
|
9756 |
+
var textEnd = html.indexOf('<');
|
9757 |
+
if (textEnd === 0) {
|
9758 |
+
// Comment:
|
9759 |
+
if (comment.test(html)) {
|
9760 |
+
var commentEnd = html.indexOf('-->');
|
9761 |
+
if (commentEnd >= 0) {
|
9762 |
+
if (options.shouldKeepComment && options.comment) {
|
9763 |
+
options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);
|
9764 |
+
}
|
9765 |
+
advance(commentEnd + 3);
|
9766 |
+
return "continue";
|
9767 |
+
}
|
9768 |
+
}
|
9769 |
+
// http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
|
9770 |
+
if (conditionalComment.test(html)) {
|
9771 |
+
var conditionalEnd = html.indexOf(']>');
|
9772 |
+
if (conditionalEnd >= 0) {
|
9773 |
+
advance(conditionalEnd + 2);
|
9774 |
+
return "continue";
|
9775 |
+
}
|
9776 |
+
}
|
9777 |
+
// Doctype:
|
9778 |
+
var doctypeMatch = html.match(doctype);
|
9779 |
+
if (doctypeMatch) {
|
9780 |
+
advance(doctypeMatch[0].length);
|
9781 |
+
return "continue";
|
9782 |
+
}
|
9783 |
+
// End tag:
|
9784 |
+
var endTagMatch = html.match(endTag);
|
9785 |
+
if (endTagMatch) {
|
9786 |
+
var curIndex = index;
|
9787 |
+
advance(endTagMatch[0].length);
|
9788 |
+
parseEndTag(endTagMatch[1], curIndex, index);
|
9789 |
+
return "continue";
|
9790 |
+
}
|
9791 |
+
// Start tag:
|
9792 |
+
var startTagMatch = parseStartTag();
|
9793 |
+
if (startTagMatch) {
|
9794 |
+
handleStartTag(startTagMatch);
|
9795 |
+
if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {
|
9796 |
+
advance(1);
|
9797 |
+
}
|
9798 |
+
return "continue";
|
9799 |
+
}
|
9800 |
+
}
|
9801 |
+
var text = void 0, rest = void 0, next = void 0;
|
9802 |
+
if (textEnd >= 0) {
|
9803 |
+
rest = html.slice(textEnd);
|
9804 |
+
while (!endTag.test(rest) &&
|
9805 |
+
!startTagOpen.test(rest) &&
|
9806 |
+
!comment.test(rest) &&
|
9807 |
+
!conditionalComment.test(rest)) {
|
9808 |
+
// < in plain text, be forgiving and treat it as text
|
9809 |
+
next = rest.indexOf('<', 1);
|
9810 |
+
if (next < 0)
|
9811 |
+
break;
|
9812 |
+
textEnd += next;
|
9813 |
+
rest = html.slice(textEnd);
|
9814 |
+
}
|
9815 |
+
text = html.substring(0, textEnd);
|
9816 |
+
}
|
9817 |
+
if (textEnd < 0) {
|
9818 |
+
text = html;
|
9819 |
+
}
|
9820 |
+
if (text) {
|
9821 |
+
advance(text.length);
|
9822 |
+
}
|
9823 |
+
if (options.chars && text) {
|
9824 |
+
options.chars(text, index - text.length, index);
|
9825 |
+
}
|
9826 |
+
}
|
9827 |
+
else {
|
9828 |
+
var endTagLength_1 = 0;
|
9829 |
+
var stackedTag_1 = lastTag.toLowerCase();
|
9830 |
+
var reStackedTag = reCache[stackedTag_1] ||
|
9831 |
+
(reCache[stackedTag_1] = new RegExp('([\\s\\S]*?)(</' + stackedTag_1 + '[^>]*>)', 'i'));
|
9832 |
+
var rest = html.replace(reStackedTag, function (all, text, endTag) {
|
9833 |
+
endTagLength_1 = endTag.length;
|
9834 |
+
if (!isPlainTextElement(stackedTag_1) && stackedTag_1 !== 'noscript') {
|
9835 |
+
text = text
|
9836 |
+
.replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298
|
9837 |
+
.replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1');
|
9838 |
+
}
|
9839 |
+
if (shouldIgnoreFirstNewline(stackedTag_1, text)) {
|
9840 |
+
text = text.slice(1);
|
9841 |
+
}
|
9842 |
+
if (options.chars) {
|
9843 |
+
options.chars(text);
|
9844 |
+
}
|
9845 |
+
return '';
|
9846 |
+
});
|
9847 |
+
index += html.length - rest.length;
|
9848 |
+
html = rest;
|
9849 |
+
parseEndTag(stackedTag_1, index - endTagLength_1, index);
|
9850 |
+
}
|
9851 |
+
if (html === last) {
|
9852 |
+
options.chars && options.chars(html);
|
9853 |
+
if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {
|
9854 |
+
options.warn("Mal-formatted tag at end of template: \"".concat(html, "\""), {
|
9855 |
+
start: index + html.length
|
9856 |
+
});
|
9857 |
+
}
|
9858 |
+
return "break";
|
9859 |
+
}
|
9860 |
+
};
|
9861 |
+
while (html) {
|
9862 |
+
var state_1 = _loop_1();
|
9863 |
+
if (state_1 === "break")
|
9864 |
+
break;
|
9865 |
+
}
|
9866 |
+
// Clean up any remaining tags
|
9867 |
+
parseEndTag();
|
9868 |
+
function advance(n) {
|
9869 |
+
index += n;
|
9870 |
+
html = html.substring(n);
|
9871 |
+
}
|
9872 |
+
function parseStartTag() {
|
9873 |
+
var start = html.match(startTagOpen);
|
9874 |
+
if (start) {
|
9875 |
+
var match = {
|
9876 |
+
tagName: start[1],
|
9877 |
+
attrs: [],
|
9878 |
+
start: index
|
9879 |
+
};
|
9880 |
+
advance(start[0].length);
|
9881 |
+
var end = void 0, attr = void 0;
|
9882 |
+
while (!(end = html.match(startTagClose)) &&
|
9883 |
+
(attr = html.match(dynamicArgAttribute) || html.match(attribute))) {
|
9884 |
+
attr.start = index;
|
9885 |
+
advance(attr[0].length);
|
9886 |
+
attr.end = index;
|
9887 |
+
match.attrs.push(attr);
|
9888 |
+
}
|
9889 |
+
if (end) {
|
9890 |
+
match.unarySlash = end[1];
|
9891 |
+
advance(end[0].length);
|
9892 |
+
match.end = index;
|
9893 |
+
return match;
|
9894 |
+
}
|
9895 |
+
}
|
9896 |
+
}
|
9897 |
+
function handleStartTag(match) {
|
9898 |
+
var tagName = match.tagName;
|
9899 |
+
var unarySlash = match.unarySlash;
|
9900 |
+
if (expectHTML) {
|
9901 |
+
if (lastTag === 'p' && isNonPhrasingTag(tagName)) {
|
9902 |
+
parseEndTag(lastTag);
|
9903 |
+
}
|
9904 |
+
if (canBeLeftOpenTag(tagName) && lastTag === tagName) {
|
9905 |
+
parseEndTag(tagName);
|
9906 |
+
}
|
9907 |
+
}
|
9908 |
+
var unary = isUnaryTag(tagName) || !!unarySlash;
|
9909 |
+
var l = match.attrs.length;
|
9910 |
+
var attrs = new Array(l);
|
9911 |
+
for (var i = 0; i < l; i++) {
|
9912 |
+
var args = match.attrs[i];
|
9913 |
+
var value = args[3] || args[4] || args[5] || '';
|
9914 |
+
var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'
|
9915 |
+
? options.shouldDecodeNewlinesForHref
|
9916 |
+
: options.shouldDecodeNewlines;
|
9917 |
+
attrs[i] = {
|
9918 |
+
name: args[1],
|
9919 |
+
value: decodeAttr(value, shouldDecodeNewlines)
|
9920 |
+
};
|
9921 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
9922 |
+
attrs[i].start = args.start + args[0].match(/^\s*/).length;
|
9923 |
+
attrs[i].end = args.end;
|
9924 |
+
}
|
9925 |
+
}
|
9926 |
+
if (!unary) {
|
9927 |
+
stack.push({
|
9928 |
+
tag: tagName,
|
9929 |
+
lowerCasedTag: tagName.toLowerCase(),
|
9930 |
+
attrs: attrs,
|
9931 |
+
start: match.start,
|
9932 |
+
end: match.end
|
9933 |
+
});
|
9934 |
+
lastTag = tagName;
|
9935 |
+
}
|
9936 |
+
if (options.start) {
|
9937 |
+
options.start(tagName, attrs, unary, match.start, match.end);
|
9938 |
+
}
|
9939 |
+
}
|
9940 |
+
function parseEndTag(tagName, start, end) {
|
9941 |
+
var pos, lowerCasedTagName;
|
9942 |
+
if (start == null)
|
9943 |
+
start = index;
|
9944 |
+
if (end == null)
|
9945 |
+
end = index;
|
9946 |
+
// Find the closest opened tag of the same type
|
9947 |
+
if (tagName) {
|
9948 |
+
lowerCasedTagName = tagName.toLowerCase();
|
9949 |
+
for (pos = stack.length - 1; pos >= 0; pos--) {
|
9950 |
+
if (stack[pos].lowerCasedTag === lowerCasedTagName) {
|
9951 |
+
break;
|
9952 |
+
}
|
9953 |
+
}
|
9954 |
+
}
|
9955 |
+
else {
|
9956 |
+
// If no tag name is provided, clean shop
|
9957 |
+
pos = 0;
|
9958 |
+
}
|
9959 |
+
if (pos >= 0) {
|
9960 |
+
// Close all the open elements, up the stack
|
9961 |
+
for (var i = stack.length - 1; i >= pos; i--) {
|
9962 |
+
if (process.env.NODE_ENV !== 'production' && (i > pos || !tagName) && options.warn) {
|
9963 |
+
options.warn("tag <".concat(stack[i].tag, "> has no matching end tag."), {
|
9964 |
+
start: stack[i].start,
|
9965 |
+
end: stack[i].end
|
9966 |
+
});
|
9967 |
+
}
|
9968 |
+
if (options.end) {
|
9969 |
+
options.end(stack[i].tag, start, end);
|
9970 |
+
}
|
9971 |
+
}
|
9972 |
+
// Remove the open elements from the stack
|
9973 |
+
stack.length = pos;
|
9974 |
+
lastTag = pos && stack[pos - 1].tag;
|
9975 |
+
}
|
9976 |
+
else if (lowerCasedTagName === 'br') {
|
9977 |
+
if (options.start) {
|
9978 |
+
options.start(tagName, [], true, start, end);
|
9979 |
+
}
|
9980 |
+
}
|
9981 |
+
else if (lowerCasedTagName === 'p') {
|
9982 |
+
if (options.start) {
|
9983 |
+
options.start(tagName, [], false, start, end);
|
9984 |
+
}
|
9985 |
+
if (options.end) {
|
9986 |
+
options.end(tagName, start, end);
|
9987 |
+
}
|
9988 |
+
}
|
9989 |
+
}
|
9990 |
+
}
|
9991 |
+
|
9992 |
+
var onRE = /^@|^v-on:/;
|
9993 |
+
var dirRE = /^v-|^@|^:|^#/;
|
9994 |
+
var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
|
9995 |
+
var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
|
9996 |
+
var stripParensRE = /^\(|\)$/g;
|
9997 |
+
var dynamicArgRE = /^\[.*\]$/;
|
9998 |
+
var argRE = /:(.*)$/;
|
9999 |
+
var bindRE = /^:|^\.|^v-bind:/;
|
10000 |
+
var modifierRE = /\.[^.\]]+(?=[^\]]*$)/g;
|
10001 |
+
var slotRE = /^v-slot(:|$)|^#/;
|
10002 |
+
var lineBreakRE = /[\r\n]/;
|
10003 |
+
var whitespaceRE = /[ \f\t\r\n]+/g;
|
10004 |
+
var invalidAttributeRE = /[\s"'<>\/=]/;
|
10005 |
+
var decodeHTMLCached = cached(he.decode);
|
10006 |
+
var emptySlotScopeToken = "_empty_";
|
10007 |
+
// configurable state
|
10008 |
+
var warn;
|
10009 |
+
var delimiters;
|
10010 |
+
var transforms;
|
10011 |
+
var preTransforms;
|
10012 |
+
var postTransforms;
|
10013 |
+
var platformIsPreTag;
|
10014 |
+
var platformMustUseProp;
|
10015 |
+
var platformGetTagNamespace;
|
10016 |
+
var maybeComponent;
|
10017 |
+
function createASTElement(tag, attrs, parent) {
|
10018 |
+
return {
|
10019 |
+
type: 1,
|
10020 |
+
tag: tag,
|
10021 |
+
attrsList: attrs,
|
10022 |
+
attrsMap: makeAttrsMap(attrs),
|
10023 |
+
rawAttrsMap: {},
|
10024 |
+
parent: parent,
|
10025 |
+
children: []
|
10026 |
+
};
|
10027 |
+
}
|
10028 |
+
/**
|
10029 |
+
* Convert HTML string to AST.
|
10030 |
+
*/
|
10031 |
+
function parse(template, options) {
|
10032 |
+
warn = options.warn || baseWarn;
|
10033 |
+
platformIsPreTag = options.isPreTag || no;
|
10034 |
+
platformMustUseProp = options.mustUseProp || no;
|
10035 |
+
platformGetTagNamespace = options.getTagNamespace || no;
|
10036 |
+
var isReservedTag = options.isReservedTag || no;
|
10037 |
+
maybeComponent = function (el) {
|
10038 |
+
return !!(el.component ||
|
10039 |
+
el.attrsMap[':is'] ||
|
10040 |
+
el.attrsMap['v-bind:is'] ||
|
10041 |
+
!(el.attrsMap.is ? isReservedTag(el.attrsMap.is) : isReservedTag(el.tag)));
|
10042 |
+
};
|
10043 |
+
transforms = pluckModuleFunction(options.modules, 'transformNode');
|
10044 |
+
preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
|
10045 |
+
postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');
|
10046 |
+
delimiters = options.delimiters;
|
10047 |
+
var stack = [];
|
10048 |
+
var preserveWhitespace = options.preserveWhitespace !== false;
|
10049 |
+
var whitespaceOption = options.whitespace;
|
10050 |
+
var root;
|
10051 |
+
var currentParent;
|
10052 |
+
var inVPre = false;
|
10053 |
+
var inPre = false;
|
10054 |
+
var warned = false;
|
10055 |
+
function warnOnce(msg, range) {
|
10056 |
+
if (!warned) {
|
10057 |
+
warned = true;
|
10058 |
+
warn(msg, range);
|
10059 |
+
}
|
10060 |
+
}
|
10061 |
+
function closeElement(element) {
|
10062 |
+
trimEndingWhitespace(element);
|
10063 |
+
if (!inVPre && !element.processed) {
|
10064 |
+
element = processElement(element, options);
|
10065 |
+
}
|
10066 |
+
// tree management
|
10067 |
+
if (!stack.length && element !== root) {
|
10068 |
+
// allow root elements with v-if, v-else-if and v-else
|
10069 |
+
if (root.if && (element.elseif || element.else)) {
|
10070 |
+
if (process.env.NODE_ENV !== 'production') {
|
10071 |
+
checkRootConstraints(element);
|
10072 |
+
}
|
10073 |
+
addIfCondition(root, {
|
10074 |
+
exp: element.elseif,
|
10075 |
+
block: element
|
10076 |
+
});
|
10077 |
+
}
|
10078 |
+
else if (process.env.NODE_ENV !== 'production') {
|
10079 |
+
warnOnce("Component template should contain exactly one root element. " +
|
10080 |
+
"If you are using v-if on multiple elements, " +
|
10081 |
+
"use v-else-if to chain them instead.", { start: element.start });
|
10082 |
+
}
|
10083 |
+
}
|
10084 |
+
if (currentParent && !element.forbidden) {
|
10085 |
+
if (element.elseif || element.else) {
|
10086 |
+
processIfConditions(element, currentParent);
|
10087 |
+
}
|
10088 |
+
else {
|
10089 |
+
if (element.slotScope) {
|
10090 |
+
// scoped slot
|
10091 |
+
// keep it in the children list so that v-else(-if) conditions can
|
10092 |
+
// find it as the prev node.
|
10093 |
+
var name_1 = element.slotTarget || '"default"';
|
10094 |
+
(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name_1] = element;
|
10095 |
+
}
|
10096 |
+
currentParent.children.push(element);
|
10097 |
+
element.parent = currentParent;
|
10098 |
+
}
|
10099 |
+
}
|
10100 |
+
// final children cleanup
|
10101 |
+
// filter out scoped slots
|
10102 |
+
element.children = element.children.filter(function (c) { return !c.slotScope; });
|
10103 |
+
// remove trailing whitespace node again
|
10104 |
+
trimEndingWhitespace(element);
|
10105 |
+
// check pre state
|
10106 |
+
if (element.pre) {
|
10107 |
+
inVPre = false;
|
10108 |
+
}
|
10109 |
+
if (platformIsPreTag(element.tag)) {
|
10110 |
+
inPre = false;
|
10111 |
+
}
|
10112 |
+
// apply post-transforms
|
10113 |
+
for (var i = 0; i < postTransforms.length; i++) {
|
10114 |
+
postTransforms[i](element, options);
|
10115 |
+
}
|
10116 |
+
}
|
10117 |
+
function trimEndingWhitespace(el) {
|
10118 |
+
// remove trailing whitespace node
|
10119 |
+
if (!inPre) {
|
10120 |
+
var lastNode = void 0;
|
10121 |
+
while ((lastNode = el.children[el.children.length - 1]) &&
|
10122 |
+
lastNode.type === 3 &&
|
10123 |
+
lastNode.text === ' ') {
|
10124 |
+
el.children.pop();
|
10125 |
+
}
|
10126 |
+
}
|
10127 |
+
}
|
10128 |
+
function checkRootConstraints(el) {
|
10129 |
+
if (el.tag === 'slot' || el.tag === 'template') {
|
10130 |
+
warnOnce("Cannot use <".concat(el.tag, "> as component root element because it may ") +
|
10131 |
+
'contain multiple nodes.', { start: el.start });
|
10132 |
+
}
|
10133 |
+
if (el.attrsMap.hasOwnProperty('v-for')) {
|
10134 |
+
warnOnce('Cannot use v-for on stateful component root element because ' +
|
10135 |
+
'it renders multiple elements.', el.rawAttrsMap['v-for']);
|
10136 |
+
}
|
10137 |
+
}
|
10138 |
+
parseHTML(template, {
|
10139 |
+
warn: warn,
|
10140 |
+
expectHTML: options.expectHTML,
|
10141 |
+
isUnaryTag: options.isUnaryTag,
|
10142 |
+
canBeLeftOpenTag: options.canBeLeftOpenTag,
|
10143 |
+
shouldDecodeNewlines: options.shouldDecodeNewlines,
|
10144 |
+
shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,
|
10145 |
+
shouldKeepComment: options.comments,
|
10146 |
+
outputSourceRange: options.outputSourceRange,
|
10147 |
+
start: function (tag, attrs, unary, start, end) {
|
10148 |
+
// check namespace.
|
10149 |
+
// inherit parent ns if there is one
|
10150 |
+
var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
|
10151 |
+
// handle IE svg bug
|
10152 |
+
/* istanbul ignore if */
|
10153 |
+
if (isIE && ns === 'svg') {
|
10154 |
+
attrs = guardIESVGBug(attrs);
|
10155 |
+
}
|
10156 |
+
var element = createASTElement(tag, attrs, currentParent);
|
10157 |
+
if (ns) {
|
10158 |
+
element.ns = ns;
|
10159 |
+
}
|
10160 |
+
if (process.env.NODE_ENV !== 'production') {
|
10161 |
+
if (options.outputSourceRange) {
|
10162 |
+
element.start = start;
|
10163 |
+
element.end = end;
|
10164 |
+
element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {
|
10165 |
+
cumulated[attr.name] = attr;
|
10166 |
+
return cumulated;
|
10167 |
+
}, {});
|
10168 |
+
}
|
10169 |
+
attrs.forEach(function (attr) {
|
10170 |
+
if (invalidAttributeRE.test(attr.name)) {
|
10171 |
+
warn("Invalid dynamic argument expression: attribute names cannot contain " +
|
10172 |
+
"spaces, quotes, <, >, / or =.", options.outputSourceRange
|
10173 |
+
? {
|
10174 |
+
start: attr.start + attr.name.indexOf("["),
|
10175 |
+
end: attr.start + attr.name.length
|
10176 |
+
}
|
10177 |
+
: undefined);
|
10178 |
+
}
|
10179 |
+
});
|
10180 |
+
}
|
10181 |
+
if (isForbiddenTag(element) && !isServerRendering()) {
|
10182 |
+
element.forbidden = true;
|
10183 |
+
process.env.NODE_ENV !== 'production' &&
|
10184 |
+
warn('Templates should only be responsible for mapping the state to the ' +
|
10185 |
+
'UI. Avoid placing tags with side-effects in your templates, such as ' +
|
10186 |
+
"<".concat(tag, ">") +
|
10187 |
+
', as they will not be parsed.', { start: element.start });
|
10188 |
+
}
|
10189 |
+
// apply pre-transforms
|
10190 |
+
for (var i = 0; i < preTransforms.length; i++) {
|
10191 |
+
element = preTransforms[i](element, options) || element;
|
10192 |
+
}
|
10193 |
+
if (!inVPre) {
|
10194 |
+
processPre(element);
|
10195 |
+
if (element.pre) {
|
10196 |
+
inVPre = true;
|
10197 |
+
}
|
10198 |
+
}
|
10199 |
+
if (platformIsPreTag(element.tag)) {
|
10200 |
+
inPre = true;
|
10201 |
+
}
|
10202 |
+
if (inVPre) {
|
10203 |
+
processRawAttrs(element);
|
10204 |
+
}
|
10205 |
+
else if (!element.processed) {
|
10206 |
+
// structural directives
|
10207 |
+
processFor(element);
|
10208 |
+
processIf(element);
|
10209 |
+
processOnce(element);
|
10210 |
+
}
|
10211 |
+
if (!root) {
|
10212 |
+
root = element;
|
10213 |
+
if (process.env.NODE_ENV !== 'production') {
|
10214 |
+
checkRootConstraints(root);
|
10215 |
+
}
|
10216 |
+
}
|
10217 |
+
if (!unary) {
|
10218 |
+
currentParent = element;
|
10219 |
+
stack.push(element);
|
10220 |
+
}
|
10221 |
+
else {
|
10222 |
+
closeElement(element);
|
10223 |
+
}
|
10224 |
+
},
|
10225 |
+
end: function (tag, start, end) {
|
10226 |
+
var element = stack[stack.length - 1];
|
10227 |
+
// pop stack
|
10228 |
+
stack.length -= 1;
|
10229 |
+
currentParent = stack[stack.length - 1];
|
10230 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10231 |
+
element.end = end;
|
10232 |
+
}
|
10233 |
+
closeElement(element);
|
10234 |
+
},
|
10235 |
+
chars: function (text, start, end) {
|
10236 |
+
if (!currentParent) {
|
10237 |
+
if (process.env.NODE_ENV !== 'production') {
|
10238 |
+
if (text === template) {
|
10239 |
+
warnOnce('Component template requires a root element, rather than just text.', { start: start });
|
10240 |
+
}
|
10241 |
+
else if ((text = text.trim())) {
|
10242 |
+
warnOnce("text \"".concat(text, "\" outside root element will be ignored."), {
|
10243 |
+
start: start
|
10244 |
+
});
|
10245 |
+
}
|
10246 |
+
}
|
10247 |
+
return;
|
10248 |
+
}
|
10249 |
+
// IE textarea placeholder bug
|
10250 |
+
/* istanbul ignore if */
|
10251 |
+
if (isIE &&
|
10252 |
+
currentParent.tag === 'textarea' &&
|
10253 |
+
currentParent.attrsMap.placeholder === text) {
|
10254 |
+
return;
|
10255 |
+
}
|
10256 |
+
var children = currentParent.children;
|
10257 |
+
if (inPre || text.trim()) {
|
10258 |
+
text = isTextTag(currentParent)
|
10259 |
+
? text
|
10260 |
+
: decodeHTMLCached(text);
|
10261 |
+
}
|
10262 |
+
else if (!children.length) {
|
10263 |
+
// remove the whitespace-only node right after an opening tag
|
10264 |
+
text = '';
|
10265 |
+
}
|
10266 |
+
else if (whitespaceOption) {
|
10267 |
+
if (whitespaceOption === 'condense') {
|
10268 |
+
// in condense mode, remove the whitespace node if it contains
|
10269 |
+
// line break, otherwise condense to a single space
|
10270 |
+
text = lineBreakRE.test(text) ? '' : ' ';
|
10271 |
+
}
|
10272 |
+
else {
|
10273 |
+
text = ' ';
|
10274 |
+
}
|
10275 |
+
}
|
10276 |
+
else {
|
10277 |
+
text = preserveWhitespace ? ' ' : '';
|
10278 |
+
}
|
10279 |
+
if (text) {
|
10280 |
+
if (!inPre && whitespaceOption === 'condense') {
|
10281 |
+
// condense consecutive whitespaces into single space
|
10282 |
+
text = text.replace(whitespaceRE, ' ');
|
10283 |
+
}
|
10284 |
+
var res = void 0;
|
10285 |
+
var child = void 0;
|
10286 |
+
if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {
|
10287 |
+
child = {
|
10288 |
+
type: 2,
|
10289 |
+
expression: res.expression,
|
10290 |
+
tokens: res.tokens,
|
10291 |
+
text: text
|
10292 |
+
};
|
10293 |
+
}
|
10294 |
+
else if (text !== ' ' ||
|
10295 |
+
!children.length ||
|
10296 |
+
children[children.length - 1].text !== ' ') {
|
10297 |
+
child = {
|
10298 |
+
type: 3,
|
10299 |
+
text: text
|
10300 |
+
};
|
10301 |
+
}
|
10302 |
+
if (child) {
|
10303 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10304 |
+
child.start = start;
|
10305 |
+
child.end = end;
|
10306 |
+
}
|
10307 |
+
children.push(child);
|
10308 |
+
}
|
10309 |
+
}
|
10310 |
+
},
|
10311 |
+
comment: function (text, start, end) {
|
10312 |
+
// adding anything as a sibling to the root node is forbidden
|
10313 |
+
// comments should still be allowed, but ignored
|
10314 |
+
if (currentParent) {
|
10315 |
+
var child = {
|
10316 |
+
type: 3,
|
10317 |
+
text: text,
|
10318 |
+
isComment: true
|
10319 |
+
};
|
10320 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
10321 |
+
child.start = start;
|
10322 |
+
child.end = end;
|
10323 |
+
}
|
10324 |
+
currentParent.children.push(child);
|
10325 |
+
}
|
10326 |
+
}
|
10327 |
+
});
|
10328 |
+
return root;
|
10329 |
+
}
|
10330 |
+
function processPre(el) {
|
10331 |
+
if (getAndRemoveAttr(el, 'v-pre') != null) {
|
10332 |
+
el.pre = true;
|
10333 |
+
}
|
10334 |
+
}
|
10335 |
+
function processRawAttrs(el) {
|
10336 |
+
var list = el.attrsList;
|
10337 |
+
var len = list.length;
|
10338 |
+
if (len) {
|
10339 |
+
var attrs = (el.attrs = new Array(len));
|
10340 |
+
for (var i = 0; i < len; i++) {
|
10341 |
+
attrs[i] = {
|
10342 |
+
name: list[i].name,
|
10343 |
+
value: JSON.stringify(list[i].value)
|
10344 |
+
};
|
10345 |
+
if (list[i].start != null) {
|
10346 |
+
attrs[i].start = list[i].start;
|
10347 |
+
attrs[i].end = list[i].end;
|
10348 |
+
}
|
10349 |
+
}
|
10350 |
+
}
|
10351 |
+
else if (!el.pre) {
|
10352 |
+
// non root node in pre blocks with no attributes
|
10353 |
+
el.plain = true;
|
10354 |
+
}
|
10355 |
+
}
|
10356 |
+
function processElement(element, options) {
|
10357 |
+
processKey(element);
|
10358 |
+
// determine whether this is a plain element after
|
10359 |
+
// removing structural attributes
|
10360 |
+
element.plain =
|
10361 |
+
!element.key && !element.scopedSlots && !element.attrsList.length;
|
10362 |
+
processRef(element);
|
10363 |
+
processSlotContent(element);
|
10364 |
+
processSlotOutlet(element);
|
10365 |
+
processComponent(element);
|
10366 |
+
for (var i = 0; i < transforms.length; i++) {
|
10367 |
+
element = transforms[i](element, options) || element;
|
10368 |
+
}
|
10369 |
+
processAttrs(element);
|
10370 |
+
return element;
|
10371 |
+
}
|
10372 |
+
function processKey(el) {
|
10373 |
+
var exp = getBindingAttr(el, 'key');
|
10374 |
+
if (exp) {
|
10375 |
+
if (process.env.NODE_ENV !== 'production') {
|
10376 |
+
if (el.tag === 'template') {
|
10377 |
+
warn("<template> cannot be keyed. Place the key on real elements instead.", getRawBindingAttr(el, 'key'));
|
10378 |
+
}
|
10379 |
+
if (el.for) {
|
10380 |
+
var iterator = el.iterator2 || el.iterator1;
|
10381 |
+
var parent_1 = el.parent;
|
10382 |
+
if (iterator &&
|
10383 |
+
iterator === exp &&
|
10384 |
+
parent_1 &&
|
10385 |
+
parent_1.tag === 'transition-group') {
|
10386 |
+
warn("Do not use v-for index as key on <transition-group> children, " +
|
10387 |
+
"this is the same as not using keys.", getRawBindingAttr(el, 'key'), true /* tip */);
|
10388 |
+
}
|
10389 |
+
}
|
10390 |
+
}
|
10391 |
+
el.key = exp;
|
10392 |
+
}
|
10393 |
+
}
|
10394 |
+
function processRef(el) {
|
10395 |
+
var ref = getBindingAttr(el, 'ref');
|
10396 |
+
if (ref) {
|
10397 |
+
el.ref = ref;
|
10398 |
+
el.refInFor = checkInFor(el);
|
10399 |
+
}
|
10400 |
+
}
|
10401 |
+
function processFor(el) {
|
10402 |
+
var exp;
|
10403 |
+
if ((exp = getAndRemoveAttr(el, 'v-for'))) {
|
10404 |
+
var res = parseFor(exp);
|
10405 |
+
if (res) {
|
10406 |
+
extend(el, res);
|
10407 |
+
}
|
10408 |
+
else if (process.env.NODE_ENV !== 'production') {
|
10409 |
+
warn("Invalid v-for expression: ".concat(exp), el.rawAttrsMap['v-for']);
|
10410 |
+
}
|
10411 |
+
}
|
10412 |
+
}
|
10413 |
+
function parseFor(exp) {
|
10414 |
+
var inMatch = exp.match(forAliasRE);
|
10415 |
+
if (!inMatch)
|
10416 |
+
return;
|
10417 |
+
var res = {};
|
10418 |
+
res.for = inMatch[2].trim();
|
10419 |
+
var alias = inMatch[1].trim().replace(stripParensRE, '');
|
10420 |
+
var iteratorMatch = alias.match(forIteratorRE);
|
10421 |
+
if (iteratorMatch) {
|
10422 |
+
res.alias = alias.replace(forIteratorRE, '').trim();
|
10423 |
+
res.iterator1 = iteratorMatch[1].trim();
|
10424 |
+
if (iteratorMatch[2]) {
|
10425 |
+
res.iterator2 = iteratorMatch[2].trim();
|
10426 |
+
}
|
10427 |
+
}
|
10428 |
+
else {
|
10429 |
+
res.alias = alias;
|
10430 |
+
}
|
10431 |
+
return res;
|
10432 |
+
}
|
10433 |
+
function processIf(el) {
|
10434 |
+
var exp = getAndRemoveAttr(el, 'v-if');
|
10435 |
+
if (exp) {
|
10436 |
+
el.if = exp;
|
10437 |
+
addIfCondition(el, {
|
10438 |
+
exp: exp,
|
10439 |
+
block: el
|
10440 |
+
});
|
10441 |
+
}
|
10442 |
+
else {
|
10443 |
+
if (getAndRemoveAttr(el, 'v-else') != null) {
|
10444 |
+
el.else = true;
|
10445 |
+
}
|
10446 |
+
var elseif = getAndRemoveAttr(el, 'v-else-if');
|
10447 |
+
if (elseif) {
|
10448 |
+
el.elseif = elseif;
|
10449 |
+
}
|
10450 |
+
}
|
10451 |
+
}
|
10452 |
+
function processIfConditions(el, parent) {
|
10453 |
+
var prev = findPrevElement(parent.children);
|
10454 |
+
if (prev && prev.if) {
|
10455 |
+
addIfCondition(prev, {
|
10456 |
+
exp: el.elseif,
|
10457 |
+
block: el
|
10458 |
+
});
|
10459 |
+
}
|
10460 |
+
else if (process.env.NODE_ENV !== 'production') {
|
10461 |
+
warn("v-".concat(el.elseif ? 'else-if="' + el.elseif + '"' : 'else', " ") +
|
10462 |
+
"used on element <".concat(el.tag, "> without corresponding v-if."), el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']);
|
10463 |
+
}
|
10464 |
+
}
|
10465 |
+
function findPrevElement(children) {
|
10466 |
+
var i = children.length;
|
10467 |
+
while (i--) {
|
10468 |
+
if (children[i].type === 1) {
|
10469 |
+
return children[i];
|
10470 |
+
}
|
10471 |
+
else {
|
10472 |
+
if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {
|
10473 |
+
warn("text \"".concat(children[i].text.trim(), "\" between v-if and v-else(-if) ") +
|
10474 |
+
"will be ignored.", children[i]);
|
10475 |
+
}
|
10476 |
+
children.pop();
|
10477 |
+
}
|
10478 |
+
}
|
10479 |
+
}
|
10480 |
+
function addIfCondition(el, condition) {
|
10481 |
+
if (!el.ifConditions) {
|
10482 |
+
el.ifConditions = [];
|
10483 |
+
}
|
10484 |
+
el.ifConditions.push(condition);
|
10485 |
+
}
|
10486 |
+
function processOnce(el) {
|
10487 |
+
var once = getAndRemoveAttr(el, 'v-once');
|
10488 |
+
if (once != null) {
|
10489 |
+
el.once = true;
|
10490 |
+
}
|
10491 |
+
}
|
10492 |
+
// handle content being passed to a component as slot,
|
10493 |
+
// e.g. <template slot="xxx">, <div slot-scope="xxx">
|
10494 |
+
function processSlotContent(el) {
|
10495 |
+
var slotScope;
|
10496 |
+
if (el.tag === 'template') {
|
10497 |
+
slotScope = getAndRemoveAttr(el, 'scope');
|
10498 |
+
/* istanbul ignore if */
|
10499 |
+
if (process.env.NODE_ENV !== 'production' && slotScope) {
|
10500 |
+
warn("the \"scope\" attribute for scoped slots have been deprecated and " +
|
10501 |
+
"replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " +
|
10502 |
+
"can also be used on plain elements in addition to <template> to " +
|
10503 |
+
"denote scoped slots.", el.rawAttrsMap['scope'], true);
|
10504 |
+
}
|
10505 |
+
el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');
|
10506 |
+
}
|
10507 |
+
else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {
|
10508 |
+
/* istanbul ignore if */
|
10509 |
+
if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {
|
10510 |
+
warn("Ambiguous combined usage of slot-scope and v-for on <".concat(el.tag, "> ") +
|
10511 |
+
"(v-for takes higher priority). Use a wrapper <template> for the " +
|
10512 |
+
"scoped slot to make it clearer.", el.rawAttrsMap['slot-scope'], true);
|
10513 |
+
}
|
10514 |
+
el.slotScope = slotScope;
|
10515 |
+
}
|
10516 |
+
// slot="xxx"
|
10517 |
+
var slotTarget = getBindingAttr(el, 'slot');
|
10518 |
+
if (slotTarget) {
|
10519 |
+
el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget;
|
10520 |
+
el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);
|
10521 |
+
// preserve slot as an attribute for native shadow DOM compat
|
10522 |
+
// only for non-scoped slots.
|
10523 |
+
if (el.tag !== 'template' && !el.slotScope) {
|
10524 |
+
addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));
|
10525 |
+
}
|
10526 |
+
}
|
10527 |
+
// 2.6 v-slot syntax
|
10528 |
+
{
|
10529 |
+
if (el.tag === 'template') {
|
10530 |
+
// v-slot on <template>
|
10531 |
+
var slotBinding = getAndRemoveAttrByRegex(el, slotRE);
|
10532 |
+
if (slotBinding) {
|
10533 |
+
if (process.env.NODE_ENV !== 'production') {
|
10534 |
+
if (el.slotTarget || el.slotScope) {
|
10535 |
+
warn("Unexpected mixed usage of different slot syntaxes.", el);
|
10536 |
+
}
|
10537 |
+
if (el.parent && !maybeComponent(el.parent)) {
|
10538 |
+
warn("<template v-slot> can only appear at the root level inside " +
|
10539 |
+
"the receiving component", el);
|
10540 |
+
}
|
10541 |
+
}
|
10542 |
+
var _a = getSlotName(slotBinding), name_2 = _a.name, dynamic = _a.dynamic;
|
10543 |
+
el.slotTarget = name_2;
|
10544 |
+
el.slotTargetDynamic = dynamic;
|
10545 |
+
el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf
|
10546 |
+
}
|
10547 |
+
}
|
10548 |
+
else {
|
10549 |
+
// v-slot on component, denotes default slot
|
10550 |
+
var slotBinding = getAndRemoveAttrByRegex(el, slotRE);
|
10551 |
+
if (slotBinding) {
|
10552 |
+
if (process.env.NODE_ENV !== 'production') {
|
10553 |
+
if (!maybeComponent(el)) {
|
10554 |
+
warn("v-slot can only be used on components or <template>.", slotBinding);
|
10555 |
+
}
|
10556 |
+
if (el.slotScope || el.slotTarget) {
|
10557 |
+
warn("Unexpected mixed usage of different slot syntaxes.", el);
|
10558 |
+
}
|
10559 |
+
if (el.scopedSlots) {
|
10560 |
+
warn("To avoid scope ambiguity, the default slot should also use " +
|
10561 |
+
"<template> syntax when there are other named slots.", slotBinding);
|
10562 |
+
}
|
10563 |
+
}
|
10564 |
+
// add the component's children to its default slot
|
10565 |
+
var slots = el.scopedSlots || (el.scopedSlots = {});
|
10566 |
+
var _b = getSlotName(slotBinding), name_3 = _b.name, dynamic = _b.dynamic;
|
10567 |
+
var slotContainer_1 = (slots[name_3] = createASTElement('template', [], el));
|
10568 |
+
slotContainer_1.slotTarget = name_3;
|
10569 |
+
slotContainer_1.slotTargetDynamic = dynamic;
|
10570 |
+
slotContainer_1.children = el.children.filter(function (c) {
|
10571 |
+
if (!c.slotScope) {
|
10572 |
+
c.parent = slotContainer_1;
|
10573 |
+
return true;
|
10574 |
+
}
|
10575 |
+
});
|
10576 |
+
slotContainer_1.slotScope = slotBinding.value || emptySlotScopeToken;
|
10577 |
+
// remove children as they are returned from scopedSlots now
|
10578 |
+
el.children = [];
|
10579 |
+
// mark el non-plain so data gets generated
|
10580 |
+
el.plain = false;
|
10581 |
+
}
|
10582 |
+
}
|
10583 |
+
}
|
10584 |
+
}
|
10585 |
+
function getSlotName(binding) {
|
10586 |
+
var name = binding.name.replace(slotRE, '');
|
10587 |
+
if (!name) {
|
10588 |
+
if (binding.name[0] !== '#') {
|
10589 |
+
name = 'default';
|
10590 |
+
}
|
10591 |
+
else if (process.env.NODE_ENV !== 'production') {
|
10592 |
+
warn("v-slot shorthand syntax requires a slot name.", binding);
|
10593 |
+
}
|
10594 |
+
}
|
10595 |
+
return dynamicArgRE.test(name)
|
10596 |
+
? // dynamic [name]
|
10597 |
+
{ name: name.slice(1, -1), dynamic: true }
|
10598 |
+
: // static name
|
10599 |
+
{ name: "\"".concat(name, "\""), dynamic: false };
|
10600 |
+
}
|
10601 |
+
// handle <slot/> outlets
|
10602 |
+
function processSlotOutlet(el) {
|
10603 |
+
if (el.tag === 'slot') {
|
10604 |
+
el.slotName = getBindingAttr(el, 'name');
|
10605 |
+
if (process.env.NODE_ENV !== 'production' && el.key) {
|
10606 |
+
warn("`key` does not work on <slot> because slots are abstract outlets " +
|
10607 |
+
"and can possibly expand into multiple elements. " +
|
10608 |
+
"Use the key on a wrapping element instead.", getRawBindingAttr(el, 'key'));
|
10609 |
+
}
|
10610 |
+
}
|
10611 |
+
}
|
10612 |
+
function processComponent(el) {
|
10613 |
+
var binding;
|
10614 |
+
if ((binding = getBindingAttr(el, 'is'))) {
|
10615 |
+
el.component = binding;
|
10616 |
+
}
|
10617 |
+
if (getAndRemoveAttr(el, 'inline-template') != null) {
|
10618 |
+
el.inlineTemplate = true;
|
10619 |
+
}
|
10620 |
+
}
|
10621 |
+
function processAttrs(el) {
|
10622 |
+
var list = el.attrsList;
|
10623 |
+
var i, l, name, rawName, value, modifiers, syncGen, isDynamic;
|
10624 |
+
for (i = 0, l = list.length; i < l; i++) {
|
10625 |
+
name = rawName = list[i].name;
|
10626 |
+
value = list[i].value;
|
10627 |
+
if (dirRE.test(name)) {
|
10628 |
+
// mark element as dynamic
|
10629 |
+
el.hasBindings = true;
|
10630 |
+
// modifiers
|
10631 |
+
modifiers = parseModifiers(name.replace(dirRE, ''));
|
10632 |
+
// support .foo shorthand syntax for the .prop modifier
|
10633 |
+
if (modifiers) {
|
10634 |
+
name = name.replace(modifierRE, '');
|
10635 |
+
}
|
10636 |
+
if (bindRE.test(name)) {
|
10637 |
+
// v-bind
|
10638 |
+
name = name.replace(bindRE, '');
|
10639 |
+
value = parseFilters(value);
|
10640 |
+
isDynamic = dynamicArgRE.test(name);
|
10641 |
+
if (isDynamic) {
|
10642 |
+
name = name.slice(1, -1);
|
10643 |
+
}
|
10644 |
+
if (process.env.NODE_ENV !== 'production' && value.trim().length === 0) {
|
10645 |
+
warn("The value for a v-bind expression cannot be empty. Found in \"v-bind:".concat(name, "\""));
|
10646 |
+
}
|
10647 |
+
if (modifiers) {
|
10648 |
+
if (modifiers.prop && !isDynamic) {
|
10649 |
+
name = camelize(name);
|
10650 |
+
if (name === 'innerHtml')
|
10651 |
+
name = 'innerHTML';
|
10652 |
+
}
|
10653 |
+
if (modifiers.camel && !isDynamic) {
|
10654 |
+
name = camelize(name);
|
10655 |
+
}
|
10656 |
+
if (modifiers.sync) {
|
10657 |
+
syncGen = genAssignmentCode(value, "$event");
|
10658 |
+
if (!isDynamic) {
|
10659 |
+
addHandler(el, "update:".concat(camelize(name)), syncGen, null, false, warn, list[i]);
|
10660 |
+
if (hyphenate(name) !== camelize(name)) {
|
10661 |
+
addHandler(el, "update:".concat(hyphenate(name)), syncGen, null, false, warn, list[i]);
|
10662 |
+
}
|
10663 |
+
}
|
10664 |
+
else {
|
10665 |
+
// handler w/ dynamic event name
|
10666 |
+
addHandler(el, "\"update:\"+(".concat(name, ")"), syncGen, null, false, warn, list[i], true // dynamic
|
10667 |
+
);
|
10668 |
+
}
|
10669 |
+
}
|
10670 |
+
}
|
10671 |
+
if ((modifiers && modifiers.prop) ||
|
10672 |
+
(!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name))) {
|
10673 |
+
addProp(el, name, value, list[i], isDynamic);
|
10674 |
+
}
|
10675 |
+
else {
|
10676 |
+
addAttr(el, name, value, list[i], isDynamic);
|
10677 |
+
}
|
10678 |
+
}
|
10679 |
+
else if (onRE.test(name)) {
|
10680 |
+
// v-on
|
10681 |
+
name = name.replace(onRE, '');
|
10682 |
+
isDynamic = dynamicArgRE.test(name);
|
10683 |
+
if (isDynamic) {
|
10684 |
+
name = name.slice(1, -1);
|
10685 |
+
}
|
10686 |
+
addHandler(el, name, value, modifiers, false, warn, list[i], isDynamic);
|
10687 |
+
}
|
10688 |
+
else {
|
10689 |
+
// normal directives
|
10690 |
+
name = name.replace(dirRE, '');
|
10691 |
+
// parse arg
|
10692 |
+
var argMatch = name.match(argRE);
|
10693 |
+
var arg = argMatch && argMatch[1];
|
10694 |
+
isDynamic = false;
|
10695 |
+
if (arg) {
|
10696 |
+
name = name.slice(0, -(arg.length + 1));
|
10697 |
+
if (dynamicArgRE.test(arg)) {
|
10698 |
+
arg = arg.slice(1, -1);
|
10699 |
+
isDynamic = true;
|
10700 |
+
}
|
10701 |
+
}
|
10702 |
+
addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);
|
10703 |
+
if (process.env.NODE_ENV !== 'production' && name === 'model') {
|
10704 |
+
checkForAliasModel(el, value);
|
10705 |
+
}
|
10706 |
+
}
|
10707 |
+
}
|
10708 |
+
else {
|
10709 |
+
// literal attribute
|
10710 |
+
if (process.env.NODE_ENV !== 'production') {
|
10711 |
+
var res = parseText(value, delimiters);
|
10712 |
+
if (res) {
|
10713 |
+
warn("".concat(name, "=\"").concat(value, "\": ") +
|
10714 |
+
'Interpolation inside attributes has been removed. ' +
|
10715 |
+
'Use v-bind or the colon shorthand instead. For example, ' +
|
10716 |
+
'instead of <div id="{{ val }}">, use <div :id="val">.', list[i]);
|
10717 |
+
}
|
10718 |
+
}
|
10719 |
+
addAttr(el, name, JSON.stringify(value), list[i]);
|
10720 |
+
// #6887 firefox doesn't update muted state if set via attribute
|
10721 |
+
// even immediately after element creation
|
10722 |
+
if (!el.component &&
|
10723 |
+
name === 'muted' &&
|
10724 |
+
platformMustUseProp(el.tag, el.attrsMap.type, name)) {
|
10725 |
+
addProp(el, name, 'true', list[i]);
|
10726 |
+
}
|
10727 |
+
}
|
10728 |
+
}
|
10729 |
+
}
|
10730 |
+
function checkInFor(el) {
|
10731 |
+
var parent = el;
|
10732 |
+
while (parent) {
|
10733 |
+
if (parent.for !== undefined) {
|
10734 |
+
return true;
|
10735 |
+
}
|
10736 |
+
parent = parent.parent;
|
10737 |
+
}
|
10738 |
+
return false;
|
10739 |
+
}
|
10740 |
+
function parseModifiers(name) {
|
10741 |
+
var match = name.match(modifierRE);
|
10742 |
+
if (match) {
|
10743 |
+
var ret_1 = {};
|
10744 |
+
match.forEach(function (m) {
|
10745 |
+
ret_1[m.slice(1)] = true;
|
10746 |
+
});
|
10747 |
+
return ret_1;
|
10748 |
+
}
|
10749 |
+
}
|
10750 |
+
function makeAttrsMap(attrs) {
|
10751 |
+
var map = {};
|
10752 |
+
for (var i = 0, l = attrs.length; i < l; i++) {
|
10753 |
+
if (process.env.NODE_ENV !== 'production' && map[attrs[i].name] && !isIE && !isEdge) {
|
10754 |
+
warn('duplicate attribute: ' + attrs[i].name, attrs[i]);
|
10755 |
+
}
|
10756 |
+
map[attrs[i].name] = attrs[i].value;
|
10757 |
+
}
|
10758 |
+
return map;
|
10759 |
+
}
|
10760 |
+
// for script (e.g. type="x/template") or style, do not decode content
|
10761 |
+
function isTextTag(el) {
|
10762 |
+
return el.tag === 'script' || el.tag === 'style';
|
10763 |
+
}
|
10764 |
+
function isForbiddenTag(el) {
|
10765 |
+
return (el.tag === 'style' ||
|
10766 |
+
(el.tag === 'script' &&
|
10767 |
+
(!el.attrsMap.type || el.attrsMap.type === 'text/javascript')));
|
10768 |
+
}
|
10769 |
+
var ieNSBug = /^xmlns:NS\d+/;
|
10770 |
+
var ieNSPrefix = /^NS\d+:/;
|
10771 |
+
/* istanbul ignore next */
|
10772 |
+
function guardIESVGBug(attrs) {
|
10773 |
+
var res = [];
|
10774 |
+
for (var i = 0; i < attrs.length; i++) {
|
10775 |
+
var attr = attrs[i];
|
10776 |
+
if (!ieNSBug.test(attr.name)) {
|
10777 |
+
attr.name = attr.name.replace(ieNSPrefix, '');
|
10778 |
+
res.push(attr);
|
10779 |
+
}
|
10780 |
+
}
|
10781 |
+
return res;
|
10782 |
+
}
|
10783 |
+
function checkForAliasModel(el, value) {
|
10784 |
+
var _el = el;
|
10785 |
+
while (_el) {
|
10786 |
+
if (_el.for && _el.alias === value) {
|
10787 |
+
warn("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") +
|
10788 |
+
"You are binding v-model directly to a v-for iteration alias. " +
|
10789 |
+
"This will not be able to modify the v-for source array because " +
|
10790 |
+
"writing to the alias is like modifying a function local variable. " +
|
10791 |
+
"Consider using an array of objects and use v-model on an object property instead.", el.rawAttrsMap['v-model']);
|
10792 |
+
}
|
10793 |
+
_el = _el.parent;
|
10794 |
+
}
|
10795 |
+
}
|
10796 |
+
|
10797 |
+
/**
|
10798 |
+
* Expand input[v-model] with dynamic type bindings into v-if-else chains
|
10799 |
+
* Turn this:
|
10800 |
+
* <input v-model="data[type]" :type="type">
|
10801 |
+
* into this:
|
10802 |
+
* <input v-if="type === 'checkbox'" type="checkbox" v-model="data[type]">
|
10803 |
+
* <input v-else-if="type === 'radio'" type="radio" v-model="data[type]">
|
10804 |
+
* <input v-else :type="type" v-model="data[type]">
|
10805 |
+
*/
|
10806 |
+
function preTransformNode(el, options) {
|
10807 |
+
if (el.tag === 'input') {
|
10808 |
+
var map = el.attrsMap;
|
10809 |
+
if (!map['v-model']) {
|
10810 |
+
return;
|
10811 |
+
}
|
10812 |
+
var typeBinding = void 0;
|
10813 |
+
if (map[':type'] || map['v-bind:type']) {
|
10814 |
+
typeBinding = getBindingAttr(el, 'type');
|
10815 |
+
}
|
10816 |
+
if (!map.type && !typeBinding && map['v-bind']) {
|
10817 |
+
typeBinding = "(".concat(map['v-bind'], ").type");
|
10818 |
+
}
|
10819 |
+
if (typeBinding) {
|
10820 |
+
var ifCondition = getAndRemoveAttr(el, 'v-if', true);
|
10821 |
+
var ifConditionExtra = ifCondition ? "&&(".concat(ifCondition, ")") : "";
|
10822 |
+
var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;
|
10823 |
+
var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);
|
10824 |
+
// 1. checkbox
|
10825 |
+
var branch0 = cloneASTElement(el);
|
10826 |
+
// process for on the main node
|
10827 |
+
processFor(branch0);
|
10828 |
+
addRawAttr(branch0, 'type', 'checkbox');
|
10829 |
+
processElement(branch0, options);
|
10830 |
+
branch0.processed = true; // prevent it from double-processed
|
10831 |
+
branch0.if = "(".concat(typeBinding, ")==='checkbox'") + ifConditionExtra;
|
10832 |
+
addIfCondition(branch0, {
|
10833 |
+
exp: branch0.if,
|
10834 |
+
block: branch0
|
10835 |
+
});
|
10836 |
+
// 2. add radio else-if condition
|
10837 |
+
var branch1 = cloneASTElement(el);
|
10838 |
+
getAndRemoveAttr(branch1, 'v-for', true);
|
10839 |
+
addRawAttr(branch1, 'type', 'radio');
|
10840 |
+
processElement(branch1, options);
|
10841 |
+
addIfCondition(branch0, {
|
10842 |
+
exp: "(".concat(typeBinding, ")==='radio'") + ifConditionExtra,
|
10843 |
+
block: branch1
|
10844 |
+
});
|
10845 |
+
// 3. other
|
10846 |
+
var branch2 = cloneASTElement(el);
|
10847 |
+
getAndRemoveAttr(branch2, 'v-for', true);
|
10848 |
+
addRawAttr(branch2, ':type', typeBinding);
|
10849 |
+
processElement(branch2, options);
|
10850 |
+
addIfCondition(branch0, {
|
10851 |
+
exp: ifCondition,
|
10852 |
+
block: branch2
|
10853 |
+
});
|
10854 |
+
if (hasElse) {
|
10855 |
+
branch0.else = true;
|
10856 |
+
}
|
10857 |
+
else if (elseIfCondition) {
|
10858 |
+
branch0.elseif = elseIfCondition;
|
10859 |
+
}
|
10860 |
+
return branch0;
|
10861 |
+
}
|
10862 |
+
}
|
10863 |
+
}
|
10864 |
+
function cloneASTElement(el) {
|
10865 |
+
return createASTElement(el.tag, el.attrsList.slice(), el.parent);
|
10866 |
+
}
|
10867 |
+
var model = {
|
10868 |
+
preTransformNode: preTransformNode
|
10869 |
+
};
|
10870 |
|
10871 |
+
var modules = [klass, style, model];
|
10872 |
|
10873 |
+
function text(el, dir) {
|
10874 |
+
if (dir.value) {
|
10875 |
+
addProp(el, 'textContent', "_s(".concat(dir.value, ")"), dir);
|
10876 |
+
}
|
|
|
|
|
10877 |
}
|
10878 |
|
10879 |
+
function html(el, dir) {
|
10880 |
+
if (dir.value) {
|
10881 |
+
addProp(el, 'innerHTML', "_s(".concat(dir.value, ")"), dir);
|
10882 |
+
}
|
10883 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10884 |
|
10885 |
+
var directives = {
|
10886 |
+
model: model$1,
|
10887 |
+
text: text,
|
10888 |
+
html: html
|
10889 |
+
};
|
|
|
|
|
10890 |
|
10891 |
+
var baseOptions = {
|
10892 |
+
expectHTML: true,
|
10893 |
+
modules: modules,
|
10894 |
+
directives: directives,
|
10895 |
+
isPreTag: isPreTag,
|
10896 |
+
isUnaryTag: isUnaryTag,
|
10897 |
+
mustUseProp: mustUseProp,
|
10898 |
+
canBeLeftOpenTag: canBeLeftOpenTag,
|
10899 |
+
isReservedTag: isReservedTag,
|
10900 |
+
getTagNamespace: getTagNamespace,
|
10901 |
+
staticKeys: genStaticKeys$1(modules)
|
10902 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10903 |
|
10904 |
+
var isStaticKey;
|
10905 |
+
var isPlatformReservedTag;
|
10906 |
+
var genStaticKeysCached = cached(genStaticKeys);
|
10907 |
+
/**
|
10908 |
+
* Goal of the optimizer: walk the generated template AST tree
|
10909 |
+
* and detect sub-trees that are purely static, i.e. parts of
|
10910 |
+
* the DOM that never needs to change.
|
10911 |
+
*
|
10912 |
+
* Once we detect these sub-trees, we can:
|
10913 |
+
*
|
10914 |
+
* 1. Hoist them into constants, so that we no longer need to
|
10915 |
+
* create fresh nodes for them on each re-render;
|
10916 |
+
* 2. Completely skip them in the patching process.
|
10917 |
+
*/
|
10918 |
+
function optimize(root, options) {
|
10919 |
+
if (!root)
|
10920 |
+
return;
|
10921 |
+
isStaticKey = genStaticKeysCached(options.staticKeys || '');
|
10922 |
+
isPlatformReservedTag = options.isReservedTag || no;
|
10923 |
+
// first pass: mark all non-static nodes.
|
10924 |
+
markStatic(root);
|
10925 |
+
// second pass: mark static roots.
|
10926 |
+
markStaticRoots(root, false);
|
10927 |
+
}
|
10928 |
+
function genStaticKeys(keys) {
|
10929 |
+
return makeMap('type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +
|
10930 |
+
(keys ? ',' + keys : ''));
|
10931 |
+
}
|
10932 |
+
function markStatic(node) {
|
10933 |
+
node.static = isStatic(node);
|
10934 |
+
if (node.type === 1) {
|
10935 |
+
// do not make component slot content static. this avoids
|
10936 |
+
// 1. components not able to mutate slot nodes
|
10937 |
+
// 2. static slot content fails for hot-reloading
|
10938 |
+
if (!isPlatformReservedTag(node.tag) &&
|
10939 |
+
node.tag !== 'slot' &&
|
10940 |
+
node.attrsMap['inline-template'] == null) {
|
10941 |
+
return;
|
10942 |
+
}
|
10943 |
+
for (var i = 0, l = node.children.length; i < l; i++) {
|
10944 |
+
var child = node.children[i];
|
10945 |
+
markStatic(child);
|
10946 |
+
if (!child.static) {
|
10947 |
+
node.static = false;
|
10948 |
+
}
|
10949 |
+
}
|
10950 |
+
if (node.ifConditions) {
|
10951 |
+
for (var i = 1, l = node.ifConditions.length; i < l; i++) {
|
10952 |
+
var block = node.ifConditions[i].block;
|
10953 |
+
markStatic(block);
|
10954 |
+
if (!block.static) {
|
10955 |
+
node.static = false;
|
10956 |
+
}
|
10957 |
+
}
|
10958 |
+
}
|
10959 |
+
}
|
10960 |
+
}
|
10961 |
+
function markStaticRoots(node, isInFor) {
|
10962 |
+
if (node.type === 1) {
|
10963 |
+
if (node.static || node.once) {
|
10964 |
+
node.staticInFor = isInFor;
|
10965 |
+
}
|
10966 |
+
// For a node to qualify as a static root, it should have children that
|
10967 |
+
// are not just static text. Otherwise the cost of hoisting out will
|
10968 |
+
// outweigh the benefits and it's better off to just always render it fresh.
|
10969 |
+
if (node.static &&
|
10970 |
+
node.children.length &&
|
10971 |
+
!(node.children.length === 1 && node.children[0].type === 3)) {
|
10972 |
+
node.staticRoot = true;
|
10973 |
+
return;
|
10974 |
+
}
|
10975 |
+
else {
|
10976 |
+
node.staticRoot = false;
|
10977 |
+
}
|
10978 |
+
if (node.children) {
|
10979 |
+
for (var i = 0, l = node.children.length; i < l; i++) {
|
10980 |
+
markStaticRoots(node.children[i], isInFor || !!node.for);
|
10981 |
+
}
|
10982 |
+
}
|
10983 |
+
if (node.ifConditions) {
|
10984 |
+
for (var i = 1, l = node.ifConditions.length; i < l; i++) {
|
10985 |
+
markStaticRoots(node.ifConditions[i].block, isInFor);
|
10986 |
+
}
|
10987 |
+
}
|
10988 |
+
}
|
10989 |
+
}
|
10990 |
+
function isStatic(node) {
|
10991 |
+
if (node.type === 2) {
|
10992 |
+
// expression
|
10993 |
+
return false;
|
10994 |
+
}
|
10995 |
+
if (node.type === 3) {
|
10996 |
+
// text
|
10997 |
+
return true;
|
10998 |
+
}
|
10999 |
+
return !!(node.pre ||
|
11000 |
+
(!node.hasBindings && // no dynamic bindings
|
11001 |
+
!node.if &&
|
11002 |
+
!node.for && // not v-if or v-for or v-else
|
11003 |
+
!isBuiltInTag(node.tag) && // not a built-in
|
11004 |
+
isPlatformReservedTag(node.tag) && // not a component
|
11005 |
+
!isDirectChildOfTemplateFor(node) &&
|
11006 |
+
Object.keys(node).every(isStaticKey)));
|
11007 |
+
}
|
11008 |
+
function isDirectChildOfTemplateFor(node) {
|
11009 |
+
while (node.parent) {
|
11010 |
+
node = node.parent;
|
11011 |
+
if (node.tag !== 'template') {
|
11012 |
+
return false;
|
11013 |
+
}
|
11014 |
+
if (node.for) {
|
11015 |
+
return true;
|
11016 |
+
}
|
11017 |
+
}
|
11018 |
+
return false;
|
11019 |
+
}
|
11020 |
+
|
11021 |
+
var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/;
|
11022 |
+
var fnInvokeRE = /\([^)]*?\);*$/;
|
11023 |
+
var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/;
|
11024 |
+
// KeyboardEvent.keyCode aliases
|
11025 |
+
var keyCodes = {
|
11026 |
+
esc: 27,
|
11027 |
+
tab: 9,
|
11028 |
+
enter: 13,
|
11029 |
+
space: 32,
|
11030 |
+
up: 38,
|
11031 |
+
left: 37,
|
11032 |
+
right: 39,
|
11033 |
+
down: 40,
|
11034 |
+
delete: [8, 46]
|
11035 |
+
};
|
11036 |
+
// KeyboardEvent.key aliases
|
11037 |
+
var keyNames = {
|
11038 |
+
// #7880: IE11 and Edge use `Esc` for Escape key name.
|
11039 |
+
esc: ['Esc', 'Escape'],
|
11040 |
+
tab: 'Tab',
|
11041 |
+
enter: 'Enter',
|
11042 |
+
// #9112: IE11 uses `Spacebar` for Space key name.
|
11043 |
+
space: [' ', 'Spacebar'],
|
11044 |
+
// #7806: IE11 uses key names without `Arrow` prefix for arrow keys.
|
11045 |
+
up: ['Up', 'ArrowUp'],
|
11046 |
+
left: ['Left', 'ArrowLeft'],
|
11047 |
+
right: ['Right', 'ArrowRight'],
|
11048 |
+
down: ['Down', 'ArrowDown'],
|
11049 |
+
// #9112: IE11 uses `Del` for Delete key name.
|
11050 |
+
delete: ['Backspace', 'Delete', 'Del']
|
11051 |
+
};
|
11052 |
+
// #4868: modifiers that prevent the execution of the listener
|
11053 |
+
// need to explicitly return null so that we can determine whether to remove
|
11054 |
+
// the listener for .once
|
11055 |
+
var genGuard = function (condition) { return "if(".concat(condition, ")return null;"); };
|
11056 |
+
var modifierCode = {
|
11057 |
+
stop: '$event.stopPropagation();',
|
11058 |
+
prevent: '$event.preventDefault();',
|
11059 |
+
self: genGuard("$event.target !== $event.currentTarget"),
|
11060 |
+
ctrl: genGuard("!$event.ctrlKey"),
|
11061 |
+
shift: genGuard("!$event.shiftKey"),
|
11062 |
+
alt: genGuard("!$event.altKey"),
|
11063 |
+
meta: genGuard("!$event.metaKey"),
|
11064 |
+
left: genGuard("'button' in $event && $event.button !== 0"),
|
11065 |
+
middle: genGuard("'button' in $event && $event.button !== 1"),
|
11066 |
+
right: genGuard("'button' in $event && $event.button !== 2")
|
11067 |
+
};
|
11068 |
+
function genHandlers(events, isNative) {
|
11069 |
+
var prefix = isNative ? 'nativeOn:' : 'on:';
|
11070 |
+
var staticHandlers = "";
|
11071 |
+
var dynamicHandlers = "";
|
11072 |
+
for (var name_1 in events) {
|
11073 |
+
var handlerCode = genHandler(events[name_1]);
|
11074 |
+
//@ts-expect-error
|
11075 |
+
if (events[name_1] && events[name_1].dynamic) {
|
11076 |
+
dynamicHandlers += "".concat(name_1, ",").concat(handlerCode, ",");
|
11077 |
+
}
|
11078 |
+
else {
|
11079 |
+
staticHandlers += "\"".concat(name_1, "\":").concat(handlerCode, ",");
|
11080 |
+
}
|
11081 |
+
}
|
11082 |
+
staticHandlers = "{".concat(staticHandlers.slice(0, -1), "}");
|
11083 |
+
if (dynamicHandlers) {
|
11084 |
+
return prefix + "_d(".concat(staticHandlers, ",[").concat(dynamicHandlers.slice(0, -1), "])");
|
11085 |
+
}
|
11086 |
+
else {
|
11087 |
+
return prefix + staticHandlers;
|
11088 |
+
}
|
11089 |
+
}
|
11090 |
+
function genHandler(handler) {
|
11091 |
+
if (!handler) {
|
11092 |
+
return 'function(){}';
|
11093 |
+
}
|
11094 |
+
if (Array.isArray(handler)) {
|
11095 |
+
return "[".concat(handler.map(function (handler) { return genHandler(handler); }).join(','), "]");
|
11096 |
+
}
|
11097 |
+
var isMethodPath = simplePathRE.test(handler.value);
|
11098 |
+
var isFunctionExpression = fnExpRE.test(handler.value);
|
11099 |
+
var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));
|
11100 |
+
if (!handler.modifiers) {
|
11101 |
+
if (isMethodPath || isFunctionExpression) {
|
11102 |
+
return handler.value;
|
11103 |
+
}
|
11104 |
+
return "function($event){".concat(isFunctionInvocation ? "return ".concat(handler.value) : handler.value, "}"); // inline statement
|
11105 |
+
}
|
11106 |
+
else {
|
11107 |
+
var code = '';
|
11108 |
+
var genModifierCode = '';
|
11109 |
+
var keys = [];
|
11110 |
+
var _loop_1 = function (key) {
|
11111 |
+
if (modifierCode[key]) {
|
11112 |
+
genModifierCode += modifierCode[key];
|
11113 |
+
// left/right
|
11114 |
+
if (keyCodes[key]) {
|
11115 |
+
keys.push(key);
|
11116 |
+
}
|
11117 |
+
}
|
11118 |
+
else if (key === 'exact') {
|
11119 |
+
var modifiers_1 = handler.modifiers;
|
11120 |
+
genModifierCode += genGuard(['ctrl', 'shift', 'alt', 'meta']
|
11121 |
+
.filter(function (keyModifier) { return !modifiers_1[keyModifier]; })
|
11122 |
+
.map(function (keyModifier) { return "$event.".concat(keyModifier, "Key"); })
|
11123 |
+
.join('||'));
|
11124 |
+
}
|
11125 |
+
else {
|
11126 |
+
keys.push(key);
|
11127 |
+
}
|
11128 |
+
};
|
11129 |
+
for (var key in handler.modifiers) {
|
11130 |
+
_loop_1(key);
|
11131 |
+
}
|
11132 |
+
if (keys.length) {
|
11133 |
+
code += genKeyFilter(keys);
|
11134 |
+
}
|
11135 |
+
// Make sure modifiers like prevent and stop get executed after key filtering
|
11136 |
+
if (genModifierCode) {
|
11137 |
+
code += genModifierCode;
|
11138 |
+
}
|
11139 |
+
var handlerCode = isMethodPath
|
11140 |
+
? "return ".concat(handler.value, ".apply(null, arguments)")
|
11141 |
+
: isFunctionExpression
|
11142 |
+
? "return (".concat(handler.value, ").apply(null, arguments)")
|
11143 |
+
: isFunctionInvocation
|
11144 |
+
? "return ".concat(handler.value)
|
11145 |
+
: handler.value;
|
11146 |
+
return "function($event){".concat(code).concat(handlerCode, "}");
|
11147 |
+
}
|
11148 |
+
}
|
11149 |
+
function genKeyFilter(keys) {
|
11150 |
+
return (
|
11151 |
+
// make sure the key filters only apply to KeyboardEvents
|
11152 |
+
// #9441: can't use 'keyCode' in $event because Chrome autofill fires fake
|
11153 |
+
// key events that do not have keyCode property...
|
11154 |
+
"if(!$event.type.indexOf('key')&&" +
|
11155 |
+
"".concat(keys.map(genFilterCode).join('&&'), ")return null;"));
|
11156 |
+
}
|
11157 |
+
function genFilterCode(key) {
|
11158 |
+
var keyVal = parseInt(key, 10);
|
11159 |
+
if (keyVal) {
|
11160 |
+
return "$event.keyCode!==".concat(keyVal);
|
11161 |
+
}
|
11162 |
+
var keyCode = keyCodes[key];
|
11163 |
+
var keyName = keyNames[key];
|
11164 |
+
return ("_k($event.keyCode," +
|
11165 |
+
"".concat(JSON.stringify(key), ",") +
|
11166 |
+
"".concat(JSON.stringify(keyCode), ",") +
|
11167 |
+
"$event.key," +
|
11168 |
+
"".concat(JSON.stringify(keyName)) +
|
11169 |
+
")");
|
11170 |
+
}
|
11171 |
+
|
11172 |
+
function on(el, dir) {
|
11173 |
+
if (process.env.NODE_ENV !== 'production' && dir.modifiers) {
|
11174 |
+
warn$2("v-on without argument does not support modifiers.");
|
11175 |
+
}
|
11176 |
+
el.wrapListeners = function (code) { return "_g(".concat(code, ",").concat(dir.value, ")"); };
|
11177 |
+
}
|
11178 |
+
|
11179 |
+
function bind(el, dir) {
|
11180 |
+
el.wrapData = function (code) {
|
11181 |
+
return "_b(".concat(code, ",'").concat(el.tag, "',").concat(dir.value, ",").concat(dir.modifiers && dir.modifiers.prop ? 'true' : 'false').concat(dir.modifiers && dir.modifiers.sync ? ',true' : '', ")");
|
11182 |
+
};
|
11183 |
+
}
|
11184 |
+
|
11185 |
+
var baseDirectives = {
|
11186 |
+
on: on,
|
11187 |
+
bind: bind,
|
11188 |
+
cloak: noop
|
11189 |
};
|
11190 |
|
11191 |
+
var CodegenState = /** @class */ (function () {
|
11192 |
+
function CodegenState(options) {
|
11193 |
+
this.options = options;
|
11194 |
+
this.warn = options.warn || baseWarn;
|
11195 |
+
this.transforms = pluckModuleFunction(options.modules, 'transformCode');
|
11196 |
+
this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
|
11197 |
+
this.directives = extend(extend({}, baseDirectives), options.directives);
|
11198 |
+
var isReservedTag = options.isReservedTag || no;
|
11199 |
+
this.maybeComponent = function (el) {
|
11200 |
+
return !!el.component || !isReservedTag(el.tag);
|
11201 |
+
};
|
11202 |
+
this.onceId = 0;
|
11203 |
+
this.staticRenderFns = [];
|
11204 |
+
this.pre = false;
|
11205 |
+
}
|
11206 |
+
return CodegenState;
|
11207 |
+
}());
|
11208 |
+
function generate(ast, options) {
|
11209 |
+
var state = new CodegenState(options);
|
11210 |
+
// fix #11483, Root level <script> tags should not be rendered.
|
11211 |
+
var code = ast
|
11212 |
+
? ast.tag === 'script'
|
11213 |
+
? 'null'
|
11214 |
+
: genElement(ast, state)
|
11215 |
+
: '_c("div")';
|
11216 |
+
return {
|
11217 |
+
render: "with(this){return ".concat(code, "}"),
|
11218 |
+
staticRenderFns: state.staticRenderFns
|
11219 |
+
};
|
11220 |
+
}
|
11221 |
+
function genElement(el, state) {
|
11222 |
+
if (el.parent) {
|
11223 |
+
el.pre = el.pre || el.parent.pre;
|
11224 |
+
}
|
11225 |
+
if (el.staticRoot && !el.staticProcessed) {
|
11226 |
+
return genStatic(el, state);
|
11227 |
+
}
|
11228 |
+
else if (el.once && !el.onceProcessed) {
|
11229 |
+
return genOnce(el, state);
|
11230 |
+
}
|
11231 |
+
else if (el.for && !el.forProcessed) {
|
11232 |
+
return genFor(el, state);
|
11233 |
+
}
|
11234 |
+
else if (el.if && !el.ifProcessed) {
|
11235 |
+
return genIf(el, state);
|
11236 |
+
}
|
11237 |
+
else if (el.tag === 'template' && !el.slotTarget && !state.pre) {
|
11238 |
+
return genChildren(el, state) || 'void 0';
|
11239 |
+
}
|
11240 |
+
else if (el.tag === 'slot') {
|
11241 |
+
return genSlot(el, state);
|
11242 |
+
}
|
11243 |
+
else {
|
11244 |
+
// component or element
|
11245 |
+
var code = void 0;
|
11246 |
+
if (el.component) {
|
11247 |
+
code = genComponent(el.component, el, state);
|
11248 |
+
}
|
11249 |
+
else {
|
11250 |
+
var data = void 0;
|
11251 |
+
var maybeComponent = state.maybeComponent(el);
|
11252 |
+
if (!el.plain || (el.pre && maybeComponent)) {
|
11253 |
+
data = genData(el, state);
|
11254 |
+
}
|
11255 |
+
var tag
|
11256 |
+
// check if this is a component in <script setup>
|
11257 |
+
= void 0;
|
11258 |
+
// check if this is a component in <script setup>
|
11259 |
+
var bindings = state.options.bindings;
|
11260 |
+
if (maybeComponent && bindings && bindings.__isScriptSetup !== false) {
|
11261 |
+
tag = checkBindingType(bindings, el.tag);
|
11262 |
+
}
|
11263 |
+
if (!tag)
|
11264 |
+
tag = "'".concat(el.tag, "'");
|
11265 |
+
var children = el.inlineTemplate ? null : genChildren(el, state, true);
|
11266 |
+
code = "_c(".concat(tag).concat(data ? ",".concat(data) : '' // data
|
11267 |
+
).concat(children ? ",".concat(children) : '' // children
|
11268 |
+
, ")");
|
11269 |
+
}
|
11270 |
+
// module transforms
|
11271 |
+
for (var i = 0; i < state.transforms.length; i++) {
|
11272 |
+
code = state.transforms[i](el, code);
|
11273 |
+
}
|
11274 |
+
return code;
|
11275 |
+
}
|
11276 |
+
}
|
11277 |
+
function checkBindingType(bindings, key) {
|
11278 |
+
var camelName = camelize(key);
|
11279 |
+
var PascalName = capitalize(camelName);
|
11280 |
+
var checkType = function (type) {
|
11281 |
+
if (bindings[key] === type) {
|
11282 |
+
return key;
|
11283 |
+
}
|
11284 |
+
if (bindings[camelName] === type) {
|
11285 |
+
return camelName;
|
11286 |
+
}
|
11287 |
+
if (bindings[PascalName] === type) {
|
11288 |
+
return PascalName;
|
11289 |
+
}
|
11290 |
+
};
|
11291 |
+
var fromConst = checkType("setup-const" /* BindingTypes.SETUP_CONST */) ||
|
11292 |
+
checkType("setup-reactive-const" /* BindingTypes.SETUP_REACTIVE_CONST */);
|
11293 |
+
if (fromConst) {
|
11294 |
+
return fromConst;
|
11295 |
+
}
|
11296 |
+
var fromMaybeRef = checkType("setup-let" /* BindingTypes.SETUP_LET */) ||
|
11297 |
+
checkType("setup-ref" /* BindingTypes.SETUP_REF */) ||
|
11298 |
+
checkType("setup-maybe-ref" /* BindingTypes.SETUP_MAYBE_REF */);
|
11299 |
+
if (fromMaybeRef) {
|
11300 |
+
return fromMaybeRef;
|
11301 |
+
}
|
11302 |
+
}
|
11303 |
+
// hoist static sub-trees out
|
11304 |
+
function genStatic(el, state) {
|
11305 |
+
el.staticProcessed = true;
|
11306 |
+
// Some elements (templates) need to behave differently inside of a v-pre
|
11307 |
+
// node. All pre nodes are static roots, so we can use this as a location to
|
11308 |
+
// wrap a state change and reset it upon exiting the pre node.
|
11309 |
+
var originalPreState = state.pre;
|
11310 |
+
if (el.pre) {
|
11311 |
+
state.pre = el.pre;
|
11312 |
+
}
|
11313 |
+
state.staticRenderFns.push("with(this){return ".concat(genElement(el, state), "}"));
|
11314 |
+
state.pre = originalPreState;
|
11315 |
+
return "_m(".concat(state.staticRenderFns.length - 1).concat(el.staticInFor ? ',true' : '', ")");
|
11316 |
+
}
|
11317 |
+
// v-once
|
11318 |
+
function genOnce(el, state) {
|
11319 |
+
el.onceProcessed = true;
|
11320 |
+
if (el.if && !el.ifProcessed) {
|
11321 |
+
return genIf(el, state);
|
11322 |
+
}
|
11323 |
+
else if (el.staticInFor) {
|
11324 |
+
var key = '';
|
11325 |
+
var parent_1 = el.parent;
|
11326 |
+
while (parent_1) {
|
11327 |
+
if (parent_1.for) {
|
11328 |
+
key = parent_1.key;
|
11329 |
+
break;
|
11330 |
+
}
|
11331 |
+
parent_1 = parent_1.parent;
|
11332 |
+
}
|
11333 |
+
if (!key) {
|
11334 |
+
process.env.NODE_ENV !== 'production' &&
|
11335 |
+
state.warn("v-once can only be used inside v-for that is keyed. ", el.rawAttrsMap['v-once']);
|
11336 |
+
return genElement(el, state);
|
11337 |
+
}
|
11338 |
+
return "_o(".concat(genElement(el, state), ",").concat(state.onceId++, ",").concat(key, ")");
|
11339 |
+
}
|
11340 |
+
else {
|
11341 |
+
return genStatic(el, state);
|
11342 |
+
}
|
11343 |
+
}
|
11344 |
+
function genIf(el, state, altGen, altEmpty) {
|
11345 |
+
el.ifProcessed = true; // avoid recursion
|
11346 |
+
return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty);
|
11347 |
+
}
|
11348 |
+
function genIfConditions(conditions, state, altGen, altEmpty) {
|
11349 |
+
if (!conditions.length) {
|
11350 |
+
return altEmpty || '_e()';
|
11351 |
+
}
|
11352 |
+
var condition = conditions.shift();
|
11353 |
+
if (condition.exp) {
|
11354 |
+
return "(".concat(condition.exp, ")?").concat(genTernaryExp(condition.block), ":").concat(genIfConditions(conditions, state, altGen, altEmpty));
|
11355 |
+
}
|
11356 |
+
else {
|
11357 |
+
return "".concat(genTernaryExp(condition.block));
|
11358 |
+
}
|
11359 |
+
// v-if with v-once should generate code like (a)?_m(0):_m(1)
|
11360 |
+
function genTernaryExp(el) {
|
11361 |
+
return altGen
|
11362 |
+
? altGen(el, state)
|
11363 |
+
: el.once
|
11364 |
+
? genOnce(el, state)
|
11365 |
+
: genElement(el, state);
|
11366 |
+
}
|
11367 |
+
}
|
11368 |
+
function genFor(el, state, altGen, altHelper) {
|
11369 |
+
var exp = el.for;
|
11370 |
+
var alias = el.alias;
|
11371 |
+
var iterator1 = el.iterator1 ? ",".concat(el.iterator1) : '';
|
11372 |
+
var iterator2 = el.iterator2 ? ",".concat(el.iterator2) : '';
|
11373 |
+
if (process.env.NODE_ENV !== 'production' &&
|
11374 |
+
state.maybeComponent(el) &&
|
11375 |
+
el.tag !== 'slot' &&
|
11376 |
+
el.tag !== 'template' &&
|
11377 |
+
!el.key) {
|
11378 |
+
state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") +
|
11379 |
+
"v-for should have explicit keys. " +
|
11380 |
+
"See https://vuejs.org/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
|
11381 |
+
}
|
11382 |
+
el.forProcessed = true; // avoid recursion
|
11383 |
+
return ("".concat(altHelper || '_l', "((").concat(exp, "),") +
|
11384 |
+
"function(".concat(alias).concat(iterator1).concat(iterator2, "){") +
|
11385 |
+
"return ".concat((altGen || genElement)(el, state)) +
|
11386 |
+
'})');
|
11387 |
+
}
|
11388 |
+
function genData(el, state) {
|
11389 |
+
var data = '{';
|
11390 |
+
// directives first.
|
11391 |
+
// directives may mutate the el's other properties before they are generated.
|
11392 |
+
var dirs = genDirectives(el, state);
|
11393 |
+
if (dirs)
|
11394 |
+
data += dirs + ',';
|
11395 |
+
// key
|
11396 |
+
if (el.key) {
|
11397 |
+
data += "key:".concat(el.key, ",");
|
11398 |
+
}
|
11399 |
+
// ref
|
11400 |
+
if (el.ref) {
|
11401 |
+
data += "ref:".concat(el.ref, ",");
|
11402 |
+
}
|
11403 |
+
if (el.refInFor) {
|
11404 |
+
data += "refInFor:true,";
|
11405 |
+
}
|
11406 |
+
// pre
|
11407 |
+
if (el.pre) {
|
11408 |
+
data += "pre:true,";
|
11409 |
+
}
|
11410 |
+
// record original tag name for components using "is" attribute
|
11411 |
+
if (el.component) {
|
11412 |
+
data += "tag:\"".concat(el.tag, "\",");
|
11413 |
+
}
|
11414 |
+
// module data generation functions
|
11415 |
+
for (var i = 0; i < state.dataGenFns.length; i++) {
|
11416 |
+
data += state.dataGenFns[i](el);
|
11417 |
+
}
|
11418 |
+
// attributes
|
11419 |
+
if (el.attrs) {
|
11420 |
+
data += "attrs:".concat(genProps(el.attrs), ",");
|
11421 |
+
}
|
11422 |
+
// DOM props
|
11423 |
+
if (el.props) {
|
11424 |
+
data += "domProps:".concat(genProps(el.props), ",");
|
11425 |
+
}
|
11426 |
+
// event handlers
|
11427 |
+
if (el.events) {
|
11428 |
+
data += "".concat(genHandlers(el.events, false), ",");
|
11429 |
+
}
|
11430 |
+
if (el.nativeEvents) {
|
11431 |
+
data += "".concat(genHandlers(el.nativeEvents, true), ",");
|
11432 |
+
}
|
11433 |
+
// slot target
|
11434 |
+
// only for non-scoped slots
|
11435 |
+
if (el.slotTarget && !el.slotScope) {
|
11436 |
+
data += "slot:".concat(el.slotTarget, ",");
|
11437 |
+
}
|
11438 |
+
// scoped slots
|
11439 |
+
if (el.scopedSlots) {
|
11440 |
+
data += "".concat(genScopedSlots(el, el.scopedSlots, state), ",");
|
11441 |
+
}
|
11442 |
+
// component v-model
|
11443 |
+
if (el.model) {
|
11444 |
+
data += "model:{value:".concat(el.model.value, ",callback:").concat(el.model.callback, ",expression:").concat(el.model.expression, "},");
|
11445 |
+
}
|
11446 |
+
// inline-template
|
11447 |
+
if (el.inlineTemplate) {
|
11448 |
+
var inlineTemplate = genInlineTemplate(el, state);
|
11449 |
+
if (inlineTemplate) {
|
11450 |
+
data += "".concat(inlineTemplate, ",");
|
11451 |
+
}
|
11452 |
+
}
|
11453 |
+
data = data.replace(/,$/, '') + '}';
|
11454 |
+
// v-bind dynamic argument wrap
|
11455 |
+
// v-bind with dynamic arguments must be applied using the same v-bind object
|
11456 |
+
// merge helper so that class/style/mustUseProp attrs are handled correctly.
|
11457 |
+
if (el.dynamicAttrs) {
|
11458 |
+
data = "_b(".concat(data, ",\"").concat(el.tag, "\",").concat(genProps(el.dynamicAttrs), ")");
|
11459 |
+
}
|
11460 |
+
// v-bind data wrap
|
11461 |
+
if (el.wrapData) {
|
11462 |
+
data = el.wrapData(data);
|
11463 |
+
}
|
11464 |
+
// v-on data wrap
|
11465 |
+
if (el.wrapListeners) {
|
11466 |
+
data = el.wrapListeners(data);
|
11467 |
+
}
|
11468 |
+
return data;
|
11469 |
+
}
|
11470 |
+
function genDirectives(el, state) {
|
11471 |
+
var dirs = el.directives;
|
11472 |
+
if (!dirs)
|
11473 |
+
return;
|
11474 |
+
var res = 'directives:[';
|
11475 |
+
var hasRuntime = false;
|
11476 |
+
var i, l, dir, needRuntime;
|
11477 |
+
for (i = 0, l = dirs.length; i < l; i++) {
|
11478 |
+
dir = dirs[i];
|
11479 |
+
needRuntime = true;
|
11480 |
+
var gen = state.directives[dir.name];
|
11481 |
+
if (gen) {
|
11482 |
+
// compile-time directive that manipulates AST.
|
11483 |
+
// returns true if it also needs a runtime counterpart.
|
11484 |
+
needRuntime = !!gen(el, dir, state.warn);
|
11485 |
+
}
|
11486 |
+
if (needRuntime) {
|
11487 |
+
hasRuntime = true;
|
11488 |
+
res += "{name:\"".concat(dir.name, "\",rawName:\"").concat(dir.rawName, "\"").concat(dir.value
|
11489 |
+
? ",value:(".concat(dir.value, "),expression:").concat(JSON.stringify(dir.value))
|
11490 |
+
: '').concat(dir.arg ? ",arg:".concat(dir.isDynamicArg ? dir.arg : "\"".concat(dir.arg, "\"")) : '').concat(dir.modifiers ? ",modifiers:".concat(JSON.stringify(dir.modifiers)) : '', "},");
|
11491 |
+
}
|
11492 |
+
}
|
11493 |
+
if (hasRuntime) {
|
11494 |
+
return res.slice(0, -1) + ']';
|
11495 |
+
}
|
11496 |
+
}
|
11497 |
+
function genInlineTemplate(el, state) {
|
11498 |
+
var ast = el.children[0];
|
11499 |
+
if (process.env.NODE_ENV !== 'production' && (el.children.length !== 1 || ast.type !== 1)) {
|
11500 |
+
state.warn('Inline-template components must have exactly one child element.', { start: el.start });
|
11501 |
+
}
|
11502 |
+
if (ast && ast.type === 1) {
|
11503 |
+
var inlineRenderFns = generate(ast, state.options);
|
11504 |
+
return "inlineTemplate:{render:function(){".concat(inlineRenderFns.render, "},staticRenderFns:[").concat(inlineRenderFns.staticRenderFns
|
11505 |
+
.map(function (code) { return "function(){".concat(code, "}"); })
|
11506 |
+
.join(','), "]}");
|
11507 |
+
}
|
11508 |
+
}
|
11509 |
+
function genScopedSlots(el, slots, state) {
|
11510 |
+
// by default scoped slots are considered "stable", this allows child
|
11511 |
+
// components with only scoped slots to skip forced updates from parent.
|
11512 |
+
// but in some cases we have to bail-out of this optimization
|
11513 |
+
// for example if the slot contains dynamic names, has v-if or v-for on them...
|
11514 |
+
var needsForceUpdate = el.for ||
|
11515 |
+
Object.keys(slots).some(function (key) {
|
11516 |
+
var slot = slots[key];
|
11517 |
+
return (slot.slotTargetDynamic || slot.if || slot.for || containsSlotChild(slot) // is passing down slot from parent which may be dynamic
|
11518 |
+
);
|
11519 |
+
});
|
11520 |
+
// #9534: if a component with scoped slots is inside a conditional branch,
|
11521 |
+
// it's possible for the same component to be reused but with different
|
11522 |
+
// compiled slot content. To avoid that, we generate a unique key based on
|
11523 |
+
// the generated code of all the slot contents.
|
11524 |
+
var needsKey = !!el.if;
|
11525 |
+
// OR when it is inside another scoped slot or v-for (the reactivity may be
|
11526 |
+
// disconnected due to the intermediate scope variable)
|
11527 |
+
// #9438, #9506
|
11528 |
+
// TODO: this can be further optimized by properly analyzing in-scope bindings
|
11529 |
+
// and skip force updating ones that do not actually use scope variables.
|
11530 |
+
if (!needsForceUpdate) {
|
11531 |
+
var parent_2 = el.parent;
|
11532 |
+
while (parent_2) {
|
11533 |
+
if ((parent_2.slotScope && parent_2.slotScope !== emptySlotScopeToken) ||
|
11534 |
+
parent_2.for) {
|
11535 |
+
needsForceUpdate = true;
|
11536 |
+
break;
|
11537 |
+
}
|
11538 |
+
if (parent_2.if) {
|
11539 |
+
needsKey = true;
|
11540 |
+
}
|
11541 |
+
parent_2 = parent_2.parent;
|
11542 |
+
}
|
11543 |
+
}
|
11544 |
+
var generatedSlots = Object.keys(slots)
|
11545 |
+
.map(function (key) { return genScopedSlot(slots[key], state); })
|
11546 |
+
.join(',');
|
11547 |
+
return "scopedSlots:_u([".concat(generatedSlots, "]").concat(needsForceUpdate ? ",null,true" : "").concat(!needsForceUpdate && needsKey ? ",null,false,".concat(hash(generatedSlots)) : "", ")");
|
11548 |
+
}
|
11549 |
+
function hash(str) {
|
11550 |
+
var hash = 5381;
|
11551 |
+
var i = str.length;
|
11552 |
+
while (i) {
|
11553 |
+
hash = (hash * 33) ^ str.charCodeAt(--i);
|
11554 |
+
}
|
11555 |
+
return hash >>> 0;
|
11556 |
+
}
|
11557 |
+
function containsSlotChild(el) {
|
11558 |
+
if (el.type === 1) {
|
11559 |
+
if (el.tag === 'slot') {
|
11560 |
+
return true;
|
11561 |
+
}
|
11562 |
+
return el.children.some(containsSlotChild);
|
11563 |
+
}
|
11564 |
+
return false;
|
11565 |
+
}
|
11566 |
+
function genScopedSlot(el, state) {
|
11567 |
+
var isLegacySyntax = el.attrsMap['slot-scope'];
|
11568 |
+
if (el.if && !el.ifProcessed && !isLegacySyntax) {
|
11569 |
+
return genIf(el, state, genScopedSlot, "null");
|
11570 |
+
}
|
11571 |
+
if (el.for && !el.forProcessed) {
|
11572 |
+
return genFor(el, state, genScopedSlot);
|
11573 |
+
}
|
11574 |
+
var slotScope = el.slotScope === emptySlotScopeToken ? "" : String(el.slotScope);
|
11575 |
+
var fn = "function(".concat(slotScope, "){") +
|
11576 |
+
"return ".concat(el.tag === 'template'
|
11577 |
+
? el.if && isLegacySyntax
|
11578 |
+
? "(".concat(el.if, ")?").concat(genChildren(el, state) || 'undefined', ":undefined")
|
11579 |
+
: genChildren(el, state) || 'undefined'
|
11580 |
+
: genElement(el, state), "}");
|
11581 |
+
// reverse proxy v-slot without scope on this.$slots
|
11582 |
+
var reverseProxy = slotScope ? "" : ",proxy:true";
|
11583 |
+
return "{key:".concat(el.slotTarget || "\"default\"", ",fn:").concat(fn).concat(reverseProxy, "}");
|
11584 |
+
}
|
11585 |
+
function genChildren(el, state, checkSkip, altGenElement, altGenNode) {
|
11586 |
+
var children = el.children;
|
11587 |
+
if (children.length) {
|
11588 |
+
var el_1 = children[0];
|
11589 |
+
// optimize single v-for
|
11590 |
+
if (children.length === 1 &&
|
11591 |
+
el_1.for &&
|
11592 |
+
el_1.tag !== 'template' &&
|
11593 |
+
el_1.tag !== 'slot') {
|
11594 |
+
var normalizationType_1 = checkSkip
|
11595 |
+
? state.maybeComponent(el_1)
|
11596 |
+
? ",1"
|
11597 |
+
: ",0"
|
11598 |
+
: "";
|
11599 |
+
return "".concat((altGenElement || genElement)(el_1, state)).concat(normalizationType_1);
|
11600 |
+
}
|
11601 |
+
var normalizationType = checkSkip
|
11602 |
+
? getNormalizationType(children, state.maybeComponent)
|
11603 |
+
: 0;
|
11604 |
+
var gen_1 = altGenNode || genNode;
|
11605 |
+
return "[".concat(children.map(function (c) { return gen_1(c, state); }).join(','), "]").concat(normalizationType ? ",".concat(normalizationType) : '');
|
11606 |
+
}
|
11607 |
+
}
|
11608 |
+
// determine the normalization needed for the children array.
|
11609 |
+
// 0: no normalization needed
|
11610 |
+
// 1: simple normalization needed (possible 1-level deep nested array)
|
11611 |
+
// 2: full normalization needed
|
11612 |
+
function getNormalizationType(children, maybeComponent) {
|
11613 |
+
var res = 0;
|
11614 |
+
for (var i = 0; i < children.length; i++) {
|
11615 |
+
var el = children[i];
|
11616 |
+
if (el.type !== 1) {
|
11617 |
+
continue;
|
11618 |
+
}
|
11619 |
+
if (needsNormalization(el) ||
|
11620 |
+
(el.ifConditions &&
|
11621 |
+
el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {
|
11622 |
+
res = 2;
|
11623 |
+
break;
|
11624 |
+
}
|
11625 |
+
if (maybeComponent(el) ||
|
11626 |
+
(el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {
|
11627 |
+
res = 1;
|
11628 |
+
}
|
11629 |
+
}
|
11630 |
+
return res;
|
11631 |
+
}
|
11632 |
+
function needsNormalization(el) {
|
11633 |
+
return el.for !== undefined || el.tag === 'template' || el.tag === 'slot';
|
11634 |
+
}
|
11635 |
+
function genNode(node, state) {
|
11636 |
+
if (node.type === 1) {
|
11637 |
+
return genElement(node, state);
|
11638 |
+
}
|
11639 |
+
else if (node.type === 3 && node.isComment) {
|
11640 |
+
return genComment(node);
|
11641 |
+
}
|
11642 |
+
else {
|
11643 |
+
return genText(node);
|
11644 |
+
}
|
11645 |
+
}
|
11646 |
+
function genText(text) {
|
11647 |
+
return "_v(".concat(text.type === 2
|
11648 |
+
? text.expression // no need for () because already wrapped in _s()
|
11649 |
+
: transformSpecialNewlines(JSON.stringify(text.text)), ")");
|
11650 |
+
}
|
11651 |
+
function genComment(comment) {
|
11652 |
+
return "_e(".concat(JSON.stringify(comment.text), ")");
|
11653 |
+
}
|
11654 |
+
function genSlot(el, state) {
|
11655 |
+
var slotName = el.slotName || '"default"';
|
11656 |
+
var children = genChildren(el, state);
|
11657 |
+
var res = "_t(".concat(slotName).concat(children ? ",function(){return ".concat(children, "}") : '');
|
11658 |
+
var attrs = el.attrs || el.dynamicAttrs
|
11659 |
+
? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({
|
11660 |
+
// slot props are camelized
|
11661 |
+
name: camelize(attr.name),
|
11662 |
+
value: attr.value,
|
11663 |
+
dynamic: attr.dynamic
|
11664 |
+
}); }))
|
11665 |
+
: null;
|
11666 |
+
var bind = el.attrsMap['v-bind'];
|
11667 |
+
if ((attrs || bind) && !children) {
|
11668 |
+
res += ",null";
|
11669 |
+
}
|
11670 |
+
if (attrs) {
|
11671 |
+
res += ",".concat(attrs);
|
11672 |
+
}
|
11673 |
+
if (bind) {
|
11674 |
+
res += "".concat(attrs ? '' : ',null', ",").concat(bind);
|
11675 |
+
}
|
11676 |
+
return res + ')';
|
11677 |
+
}
|
11678 |
+
// componentName is el.component, take it as argument to shun flow's pessimistic refinement
|
11679 |
+
function genComponent(componentName, el, state) {
|
11680 |
+
var children = el.inlineTemplate ? null : genChildren(el, state, true);
|
11681 |
+
return "_c(".concat(componentName, ",").concat(genData(el, state)).concat(children ? ",".concat(children) : '', ")");
|
11682 |
+
}
|
11683 |
+
function genProps(props) {
|
11684 |
+
var staticProps = "";
|
11685 |
+
var dynamicProps = "";
|
11686 |
+
for (var i = 0; i < props.length; i++) {
|
11687 |
+
var prop = props[i];
|
11688 |
+
var value = transformSpecialNewlines(prop.value);
|
11689 |
+
if (prop.dynamic) {
|
11690 |
+
dynamicProps += "".concat(prop.name, ",").concat(value, ",");
|
11691 |
+
}
|
11692 |
+
else {
|
11693 |
+
staticProps += "\"".concat(prop.name, "\":").concat(value, ",");
|
11694 |
+
}
|
11695 |
+
}
|
11696 |
+
staticProps = "{".concat(staticProps.slice(0, -1), "}");
|
11697 |
+
if (dynamicProps) {
|
11698 |
+
return "_d(".concat(staticProps, ",[").concat(dynamicProps.slice(0, -1), "])");
|
11699 |
+
}
|
11700 |
+
else {
|
11701 |
+
return staticProps;
|
11702 |
+
}
|
11703 |
+
}
|
11704 |
+
// #3895, #4268
|
11705 |
+
function transformSpecialNewlines(text) {
|
11706 |
+
return text.replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
|
11707 |
+
}
|
11708 |
+
|
11709 |
+
// these keywords should not appear inside expressions, but operators like
|
11710 |
+
// typeof, instanceof and in are allowed
|
11711 |
+
var prohibitedKeywordRE = new RegExp('\\b' +
|
11712 |
+
('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
|
11713 |
+
'super,throw,while,yield,delete,export,import,return,switch,default,' +
|
11714 |
+
'extends,finally,continue,debugger,function,arguments')
|
11715 |
+
.split(',')
|
11716 |
+
.join('\\b|\\b') +
|
11717 |
+
'\\b');
|
11718 |
+
// these unary operators should not be used as property/method names
|
11719 |
+
var unaryOperatorsRE = new RegExp('\\b' +
|
11720 |
+
'delete,typeof,void'.split(',').join('\\s*\\([^\\)]*\\)|\\b') +
|
11721 |
+
'\\s*\\([^\\)]*\\)');
|
11722 |
+
// strip strings in expressions
|
11723 |
+
var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
|
11724 |
+
// detect problematic expressions in a template
|
11725 |
+
function detectErrors(ast, warn) {
|
11726 |
+
if (ast) {
|
11727 |
+
checkNode(ast, warn);
|
11728 |
+
}
|
11729 |
+
}
|
11730 |
+
function checkNode(node, warn) {
|
11731 |
+
if (node.type === 1) {
|
11732 |
+
for (var name_1 in node.attrsMap) {
|
11733 |
+
if (dirRE.test(name_1)) {
|
11734 |
+
var value = node.attrsMap[name_1];
|
11735 |
+
if (value) {
|
11736 |
+
var range = node.rawAttrsMap[name_1];
|
11737 |
+
if (name_1 === 'v-for') {
|
11738 |
+
checkFor(node, "v-for=\"".concat(value, "\""), warn, range);
|
11739 |
+
}
|
11740 |
+
else if (name_1 === 'v-slot' || name_1[0] === '#') {
|
11741 |
+
checkFunctionParameterExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range);
|
11742 |
+
}
|
11743 |
+
else if (onRE.test(name_1)) {
|
11744 |
+
checkEvent(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range);
|
11745 |
+
}
|
11746 |
+
else {
|
11747 |
+
checkExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range);
|
11748 |
+
}
|
11749 |
+
}
|
11750 |
+
}
|
11751 |
+
}
|
11752 |
+
if (node.children) {
|
11753 |
+
for (var i = 0; i < node.children.length; i++) {
|
11754 |
+
checkNode(node.children[i], warn);
|
11755 |
+
}
|
11756 |
+
}
|
11757 |
+
}
|
11758 |
+
else if (node.type === 2) {
|
11759 |
+
checkExpression(node.expression, node.text, warn, node);
|
11760 |
+
}
|
11761 |
+
}
|
11762 |
+
function checkEvent(exp, text, warn, range) {
|
11763 |
+
var stripped = exp.replace(stripStringRE, '');
|
11764 |
+
var keywordMatch = stripped.match(unaryOperatorsRE);
|
11765 |
+
if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {
|
11766 |
+
warn("avoid using JavaScript unary operator as property name: " +
|
11767 |
+
"\"".concat(keywordMatch[0], "\" in expression ").concat(text.trim()), range);
|
11768 |
+
}
|
11769 |
+
checkExpression(exp, text, warn, range);
|
11770 |
+
}
|
11771 |
+
function checkFor(node, text, warn, range) {
|
11772 |
+
checkExpression(node.for || '', text, warn, range);
|
11773 |
+
checkIdentifier(node.alias, 'v-for alias', text, warn, range);
|
11774 |
+
checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);
|
11775 |
+
checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);
|
11776 |
+
}
|
11777 |
+
function checkIdentifier(ident, type, text, warn, range) {
|
11778 |
+
if (typeof ident === 'string') {
|
11779 |
+
try {
|
11780 |
+
new Function("var ".concat(ident, "=_"));
|
11781 |
+
}
|
11782 |
+
catch (e) {
|
11783 |
+
warn("invalid ".concat(type, " \"").concat(ident, "\" in expression: ").concat(text.trim()), range);
|
11784 |
+
}
|
11785 |
+
}
|
11786 |
+
}
|
11787 |
+
function checkExpression(exp, text, warn, range) {
|
11788 |
+
try {
|
11789 |
+
new Function("return ".concat(exp));
|
11790 |
+
}
|
11791 |
+
catch (e) {
|
11792 |
+
var keywordMatch = exp
|
11793 |
+
.replace(stripStringRE, '')
|
11794 |
+
.match(prohibitedKeywordRE);
|
11795 |
+
if (keywordMatch) {
|
11796 |
+
warn("avoid using JavaScript keyword as property name: " +
|
11797 |
+
"\"".concat(keywordMatch[0], "\"\n Raw expression: ").concat(text.trim()), range);
|
11798 |
+
}
|
11799 |
+
else {
|
11800 |
+
warn("invalid expression: ".concat(e.message, " in\n\n") +
|
11801 |
+
" ".concat(exp, "\n\n") +
|
11802 |
+
" Raw expression: ".concat(text.trim(), "\n"), range);
|
11803 |
+
}
|
11804 |
+
}
|
11805 |
+
}
|
11806 |
+
function checkFunctionParameterExpression(exp, text, warn, range) {
|
11807 |
+
try {
|
11808 |
+
new Function(exp, '');
|
11809 |
+
}
|
11810 |
+
catch (e) {
|
11811 |
+
warn("invalid function parameter expression: ".concat(e.message, " in\n\n") +
|
11812 |
+
" ".concat(exp, "\n\n") +
|
11813 |
+
" Raw expression: ".concat(text.trim(), "\n"), range);
|
11814 |
+
}
|
11815 |
+
}
|
11816 |
+
|
11817 |
+
var range = 2;
|
11818 |
+
function generateCodeFrame(source, start, end) {
|
11819 |
+
if (start === void 0) { start = 0; }
|
11820 |
+
if (end === void 0) { end = source.length; }
|
11821 |
+
var lines = source.split(/\r?\n/);
|
11822 |
+
var count = 0;
|
11823 |
+
var res = [];
|
11824 |
+
for (var i = 0; i < lines.length; i++) {
|
11825 |
+
count += lines[i].length + 1;
|
11826 |
+
if (count >= start) {
|
11827 |
+
for (var j = i - range; j <= i + range || end > count; j++) {
|
11828 |
+
if (j < 0 || j >= lines.length)
|
11829 |
+
continue;
|
11830 |
+
res.push("".concat(j + 1).concat(repeat(" ", 3 - String(j + 1).length), "| ").concat(lines[j]));
|
11831 |
+
var lineLength = lines[j].length;
|
11832 |
+
if (j === i) {
|
11833 |
+
// push underline
|
11834 |
+
var pad = start - (count - lineLength) + 1;
|
11835 |
+
var length_1 = end > count ? lineLength - pad : end - start;
|
11836 |
+
res.push(" | " + repeat(" ", pad) + repeat("^", length_1));
|
11837 |
+
}
|
11838 |
+
else if (j > i) {
|
11839 |
+
if (end > count) {
|
11840 |
+
var length_2 = Math.min(end - count, lineLength);
|
11841 |
+
res.push(" | " + repeat("^", length_2));
|
11842 |
+
}
|
11843 |
+
count += lineLength + 1;
|
11844 |
+
}
|
11845 |
+
}
|
11846 |
+
break;
|
11847 |
+
}
|
11848 |
+
}
|
11849 |
+
return res.join('\n');
|
11850 |
+
}
|
11851 |
+
function repeat(str, n) {
|
11852 |
+
var result = '';
|
11853 |
+
if (n > 0) {
|
11854 |
+
// eslint-disable-next-line no-constant-condition
|
11855 |
+
while (true) {
|
11856 |
+
// eslint-disable-line
|
11857 |
+
if (n & 1)
|
11858 |
+
result += str;
|
11859 |
+
n >>>= 1;
|
11860 |
+
if (n <= 0)
|
11861 |
+
break;
|
11862 |
+
str += str;
|
11863 |
+
}
|
11864 |
+
}
|
11865 |
+
return result;
|
11866 |
+
}
|
11867 |
+
|
11868 |
+
function createFunction(code, errors) {
|
11869 |
+
try {
|
11870 |
+
return new Function(code);
|
11871 |
+
}
|
11872 |
+
catch (err) {
|
11873 |
+
errors.push({ err: err, code: code });
|
11874 |
+
return noop;
|
11875 |
+
}
|
11876 |
+
}
|
11877 |
+
function createCompileToFunctionFn(compile) {
|
11878 |
+
var cache = Object.create(null);
|
11879 |
+
return function compileToFunctions(template, options, vm) {
|
11880 |
+
options = extend({}, options);
|
11881 |
+
var warn = options.warn || warn$2;
|
11882 |
+
delete options.warn;
|
11883 |
+
/* istanbul ignore if */
|
11884 |
+
if (process.env.NODE_ENV !== 'production') {
|
11885 |
+
// detect possible CSP restriction
|
11886 |
+
try {
|
11887 |
+
new Function('return 1');
|
11888 |
+
}
|
11889 |
+
catch (e) {
|
11890 |
+
if (e.toString().match(/unsafe-eval|CSP/)) {
|
11891 |
+
warn('It seems you are using the standalone build of Vue.js in an ' +
|
11892 |
+
'environment with Content Security Policy that prohibits unsafe-eval. ' +
|
11893 |
+
'The template compiler cannot work in this environment. Consider ' +
|
11894 |
+
'relaxing the policy to allow unsafe-eval or pre-compiling your ' +
|
11895 |
+
'templates into render functions.');
|
11896 |
+
}
|
11897 |
+
}
|
11898 |
+
}
|
11899 |
+
// check cache
|
11900 |
+
var key = options.delimiters
|
11901 |
+
? String(options.delimiters) + template
|
11902 |
+
: template;
|
11903 |
+
if (cache[key]) {
|
11904 |
+
return cache[key];
|
11905 |
+
}
|
11906 |
+
// compile
|
11907 |
+
var compiled = compile(template, options);
|
11908 |
+
// check compilation errors/tips
|
11909 |
+
if (process.env.NODE_ENV !== 'production') {
|
11910 |
+
if (compiled.errors && compiled.errors.length) {
|
11911 |
+
if (options.outputSourceRange) {
|
11912 |
+
compiled.errors.forEach(function (e) {
|
11913 |
+
warn("Error compiling template:\n\n".concat(e.msg, "\n\n") +
|
11914 |
+
generateCodeFrame(template, e.start, e.end), vm);
|
11915 |
+
});
|
11916 |
+
}
|
11917 |
+
else {
|
11918 |
+
warn("Error compiling template:\n\n".concat(template, "\n\n") +
|
11919 |
+
compiled.errors.map(function (e) { return "- ".concat(e); }).join('\n') +
|
11920 |
+
'\n', vm);
|
11921 |
+
}
|
11922 |
+
}
|
11923 |
+
if (compiled.tips && compiled.tips.length) {
|
11924 |
+
if (options.outputSourceRange) {
|
11925 |
+
compiled.tips.forEach(function (e) { return tip(e.msg, vm); });
|
11926 |
+
}
|
11927 |
+
else {
|
11928 |
+
compiled.tips.forEach(function (msg) { return tip(msg, vm); });
|
11929 |
+
}
|
11930 |
+
}
|
11931 |
+
}
|
11932 |
+
// turn code into functions
|
11933 |
+
var res = {};
|
11934 |
+
var fnGenErrors = [];
|
11935 |
+
res.render = createFunction(compiled.render, fnGenErrors);
|
11936 |
+
res.staticRenderFns = compiled.staticRenderFns.map(function (code) {
|
11937 |
+
return createFunction(code, fnGenErrors);
|
11938 |
+
});
|
11939 |
+
// check function generation errors.
|
11940 |
+
// this should only happen if there is a bug in the compiler itself.
|
11941 |
+
// mostly for codegen development use
|
11942 |
+
/* istanbul ignore if */
|
11943 |
+
if (process.env.NODE_ENV !== 'production') {
|
11944 |
+
if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {
|
11945 |
+
warn("Failed to generate render function:\n\n" +
|
11946 |
+
fnGenErrors
|
11947 |
+
.map(function (_a) {
|
11948 |
+
var err = _a.err, code = _a.code;
|
11949 |
+
return "".concat(err.toString(), " in\n\n").concat(code, "\n");
|
11950 |
+
})
|
11951 |
+
.join('\n'), vm);
|
11952 |
+
}
|
11953 |
+
}
|
11954 |
+
return (cache[key] = res);
|
11955 |
+
};
|
11956 |
+
}
|
11957 |
+
|
11958 |
+
function createCompilerCreator(baseCompile) {
|
11959 |
+
return function createCompiler(baseOptions) {
|
11960 |
+
function compile(template, options) {
|
11961 |
+
var finalOptions = Object.create(baseOptions);
|
11962 |
+
var errors = [];
|
11963 |
+
var tips = [];
|
11964 |
+
var warn = function (msg, range, tip) {
|
11965 |
+
(tip ? tips : errors).push(msg);
|
11966 |
+
};
|
11967 |
+
if (options) {
|
11968 |
+
if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {
|
11969 |
+
// $flow-disable-line
|
11970 |
+
var leadingSpaceLength_1 = template.match(/^\s*/)[0].length;
|
11971 |
+
warn = function (msg, range, tip) {
|
11972 |
+
var data = typeof msg === 'string' ? { msg: msg } : msg;
|
11973 |
+
if (range) {
|
11974 |
+
if (range.start != null) {
|
11975 |
+
data.start = range.start + leadingSpaceLength_1;
|
11976 |
+
}
|
11977 |
+
if (range.end != null) {
|
11978 |
+
data.end = range.end + leadingSpaceLength_1;
|
11979 |
+
}
|
11980 |
+
}
|
11981 |
+
(tip ? tips : errors).push(data);
|
11982 |
+
};
|
11983 |
+
}
|
11984 |
+
// merge custom modules
|
11985 |
+
if (options.modules) {
|
11986 |
+
finalOptions.modules = (baseOptions.modules || []).concat(options.modules);
|
11987 |
+
}
|
11988 |
+
// merge custom directives
|
11989 |
+
if (options.directives) {
|
11990 |
+
finalOptions.directives = extend(Object.create(baseOptions.directives || null), options.directives);
|
11991 |
+
}
|
11992 |
+
// copy other options
|
11993 |
+
for (var key in options) {
|
11994 |
+
if (key !== 'modules' && key !== 'directives') {
|
11995 |
+
finalOptions[key] = options[key];
|
11996 |
+
}
|
11997 |
+
}
|
11998 |
+
}
|
11999 |
+
finalOptions.warn = warn;
|
12000 |
+
var compiled = baseCompile(template.trim(), finalOptions);
|
12001 |
+
if (process.env.NODE_ENV !== 'production') {
|
12002 |
+
detectErrors(compiled.ast, warn);
|
12003 |
+
}
|
12004 |
+
compiled.errors = errors;
|
12005 |
+
compiled.tips = tips;
|
12006 |
+
return compiled;
|
12007 |
+
}
|
12008 |
+
return {
|
12009 |
+
compile: compile,
|
12010 |
+
compileToFunctions: createCompileToFunctionFn(compile)
|
12011 |
+
};
|
12012 |
+
};
|
12013 |
+
}
|
12014 |
+
|
12015 |
+
// `createCompilerCreator` allows creating compilers that use alternative
|
12016 |
+
// parser/optimizer/codegen, e.g the SSR optimizing compiler.
|
12017 |
+
// Here we just export a default compiler using the default parts.
|
12018 |
+
var createCompiler = createCompilerCreator(function baseCompile(template, options) {
|
12019 |
+
var ast = parse(template.trim(), options);
|
12020 |
+
if (options.optimize !== false) {
|
12021 |
+
optimize(ast, options);
|
12022 |
+
}
|
12023 |
+
var code = generate(ast, options);
|
12024 |
+
return {
|
12025 |
+
ast: ast,
|
12026 |
+
render: code.render,
|
12027 |
+
staticRenderFns: code.staticRenderFns
|
12028 |
+
};
|
12029 |
+
});
|
12030 |
+
|
12031 |
+
var _a = createCompiler(baseOptions), compileToFunctions = _a.compileToFunctions;
|
12032 |
|
12033 |
+
// check whether current browser encodes a char inside attribute values
|
12034 |
+
var div;
|
12035 |
+
function getShouldDecode(href) {
|
12036 |
+
div = div || document.createElement('div');
|
12037 |
+
div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>";
|
12038 |
+
return div.innerHTML.indexOf(' ') > 0;
|
12039 |
+
}
|
12040 |
+
// #3663: IE encodes newlines inside attribute values while other browsers don't
|
12041 |
+
var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;
|
12042 |
+
// #6828: chrome encodes content in a[href]
|
12043 |
+
var shouldDecodeNewlinesForHref = inBrowser
|
12044 |
+
? getShouldDecode(true)
|
12045 |
+
: false;
|
12046 |
+
|
12047 |
+
var idToTemplate = cached(function (id) {
|
12048 |
+
var el = query(id);
|
12049 |
+
return el && el.innerHTML;
|
12050 |
+
});
|
12051 |
+
var mount = Vue.prototype.$mount;
|
12052 |
+
Vue.prototype.$mount = function (el, hydrating) {
|
12053 |
+
el = el && query(el);
|
12054 |
+
/* istanbul ignore if */
|
12055 |
+
if (el === document.body || el === document.documentElement) {
|
12056 |
+
process.env.NODE_ENV !== 'production' &&
|
12057 |
+
warn$2("Do not mount Vue to <html> or <body> - mount to normal elements instead.");
|
12058 |
+
return this;
|
12059 |
+
}
|
12060 |
+
var options = this.$options;
|
12061 |
+
// resolve template/el and convert to render function
|
12062 |
+
if (!options.render) {
|
12063 |
+
var template = options.template;
|
12064 |
+
if (template) {
|
12065 |
+
if (typeof template === 'string') {
|
12066 |
+
if (template.charAt(0) === '#') {
|
12067 |
+
template = idToTemplate(template);
|
12068 |
+
/* istanbul ignore if */
|
12069 |
+
if (process.env.NODE_ENV !== 'production' && !template) {
|
12070 |
+
warn$2("Template element not found or is empty: ".concat(options.template), this);
|
12071 |
+
}
|
12072 |
+
}
|
12073 |
+
}
|
12074 |
+
else if (template.nodeType) {
|
12075 |
+
template = template.innerHTML;
|
12076 |
+
}
|
12077 |
+
else {
|
12078 |
+
if (process.env.NODE_ENV !== 'production') {
|
12079 |
+
warn$2('invalid template option:' + template, this);
|
12080 |
+
}
|
12081 |
+
return this;
|
12082 |
+
}
|
12083 |
+
}
|
12084 |
+
else if (el) {
|
12085 |
+
// @ts-expect-error
|
12086 |
+
template = getOuterHTML(el);
|
12087 |
+
}
|
12088 |
+
if (template) {
|
12089 |
+
/* istanbul ignore if */
|
12090 |
+
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
12091 |
+
mark('compile');
|
12092 |
+
}
|
12093 |
+
var _a = compileToFunctions(template, {
|
12094 |
+
outputSourceRange: process.env.NODE_ENV !== 'production',
|
12095 |
+
shouldDecodeNewlines: shouldDecodeNewlines,
|
12096 |
+
shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,
|
12097 |
+
delimiters: options.delimiters,
|
12098 |
+
comments: options.comments
|
12099 |
+
}, this), render = _a.render, staticRenderFns = _a.staticRenderFns;
|
12100 |
+
options.render = render;
|
12101 |
+
options.staticRenderFns = staticRenderFns;
|
12102 |
+
/* istanbul ignore if */
|
12103 |
+
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
|
12104 |
+
mark('compile end');
|
12105 |
+
measure("vue ".concat(this._name, " compile"), 'compile', 'compile end');
|
12106 |
+
}
|
12107 |
+
}
|
12108 |
+
}
|
12109 |
+
return mount.call(this, el, hydrating);
|
12110 |
+
};
|
12111 |
+
/**
|
12112 |
+
* Get outerHTML of elements, taking care
|
12113 |
+
* of SVG elements in IE as well.
|
12114 |
+
*/
|
12115 |
+
function getOuterHTML(el) {
|
12116 |
+
if (el.outerHTML) {
|
12117 |
+
return el.outerHTML;
|
12118 |
+
}
|
12119 |
+
else {
|
12120 |
+
var container = document.createElement('div');
|
12121 |
+
container.appendChild(el.cloneNode(true));
|
12122 |
+
return container.innerHTML;
|
12123 |
+
}
|
12124 |
+
}
|
12125 |
Vue.compile = compileToFunctions;
|
12126 |
|
12127 |
+
|
12128 |
|
12129 |
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18), __webpack_require__(7), __webpack_require__(111).setImmediate))
|
12130 |
|
13081 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
13082 |
|
13083 |
"use strict";
|
13084 |
+
/* WEBPACK VAR INJECTION */(function(process) {/* unused harmony export NavigationFailureType */
|
13085 |
+
/* unused harmony export RouterLink */
|
13086 |
+
/* unused harmony export RouterView */
|
13087 |
+
/* unused harmony export START_LOCATION */
|
13088 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VueRouter$1; });
|
13089 |
+
/* unused harmony export isNavigationFailure */
|
13090 |
+
/* unused harmony export version */
|
13091 |
+
/*!
|
13092 |
+
* vue-router v3.6.0
|
13093 |
+
* (c) 2022 Evan You
|
13094 |
* @license MIT
|
13095 |
*/
|
13096 |
/* */
|
13608 |
}
|
13609 |
|
13610 |
function cleanPath (path) {
|
13611 |
+
return path.replace(/\/(?:\s*\/)+/g, '/')
|
13612 |
}
|
13613 |
|
13614 |
var isarray = Array.isArray || function (arr) {
|
14180 |
}
|
14181 |
},
|
14182 |
render: function render (h) {
|
14183 |
+
var this$1$1 = this;
|
14184 |
|
14185 |
var router = this.$router;
|
14186 |
var current = this.$route;
|
14223 |
|
14224 |
var handler = function (e) {
|
14225 |
if (guardEvent(e)) {
|
14226 |
+
if (this$1$1.replace) {
|
14227 |
router.replace(location, noop);
|
14228 |
} else {
|
14229 |
router.push(location, noop);
|
14539 |
warn(
|
14540 |
false,
|
14541 |
"Named Route '" + (route.name) + "' has a default child route. " +
|
14542 |
+
"When navigating to this named route (:to=\"{name: '" + (route.name) + "'}\"), " +
|
14543 |
"the default child route will not be rendered. Remove the name from " +
|
14544 |
"this route and use the name of the default child route for named " +
|
14545 |
"links instead."
|
15083 |
pushState(url, true);
|
15084 |
}
|
15085 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15086 |
// When changing thing, also edit router.d.ts
|
15087 |
var NavigationFailureType = {
|
15088 |
redirected: 2,
|
15168 |
|
15169 |
/* */
|
15170 |
|
15171 |
+
function runQueue (queue, fn, cb) {
|
15172 |
+
var step = function (index) {
|
15173 |
+
if (index >= queue.length) {
|
15174 |
+
cb();
|
15175 |
+
} else {
|
15176 |
+
if (queue[index]) {
|
15177 |
+
fn(queue[index], function () {
|
15178 |
+
step(index + 1);
|
15179 |
+
});
|
15180 |
+
} else {
|
15181 |
+
step(index + 1);
|
15182 |
+
}
|
15183 |
+
}
|
15184 |
+
};
|
15185 |
+
step(0);
|
15186 |
+
}
|
15187 |
+
|
15188 |
+
/* */
|
15189 |
+
|
15190 |
function resolveAsyncComponents (matched) {
|
15191 |
return function (to, from, next) {
|
15192 |
var hasAsync = false;
|
15333 |
onComplete,
|
15334 |
onAbort
|
15335 |
) {
|
15336 |
+
var this$1$1 = this;
|
15337 |
|
15338 |
var route;
|
15339 |
// catch redirect option https://github.com/vuejs/vue-router/issues/3201
|
15350 |
this.confirmTransition(
|
15351 |
route,
|
15352 |
function () {
|
15353 |
+
this$1$1.updateRoute(route);
|
15354 |
onComplete && onComplete(route);
|
15355 |
+
this$1$1.ensureURL();
|
15356 |
+
this$1$1.router.afterHooks.forEach(function (hook) {
|
15357 |
hook && hook(route, prev);
|
15358 |
});
|
15359 |
|
15360 |
// fire ready cbs once
|
15361 |
+
if (!this$1$1.ready) {
|
15362 |
+
this$1$1.ready = true;
|
15363 |
+
this$1$1.readyCbs.forEach(function (cb) {
|
15364 |
cb(route);
|
15365 |
});
|
15366 |
}
|
15369 |
if (onAbort) {
|
15370 |
onAbort(err);
|
15371 |
}
|
15372 |
+
if (err && !this$1$1.ready) {
|
15373 |
// Initial redirection should not mark the history as ready yet
|
15374 |
// because it's triggered by the redirection instead
|
15375 |
// https://github.com/vuejs/vue-router/issues/3225
|
15376 |
// https://github.com/vuejs/vue-router/issues/3331
|
15377 |
if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {
|
15378 |
+
this$1$1.ready = true;
|
15379 |
+
this$1$1.readyErrorCbs.forEach(function (cb) {
|
15380 |
cb(err);
|
15381 |
});
|
15382 |
}
|
15386 |
};
|
15387 |
|
15388 |
History.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {
|
15389 |
+
var this$1$1 = this;
|
15390 |
|
15391 |
var current = this.current;
|
15392 |
this.pending = route;
|
15395 |
// https://github.com/vuejs/vue-router/pull/3047 before that change,
|
15396 |
// redirect and aborted navigation would produce an err == null
|
15397 |
if (!isNavigationFailure(err) && isError(err)) {
|
15398 |
+
if (this$1$1.errorCbs.length) {
|
15399 |
+
this$1$1.errorCbs.forEach(function (cb) {
|
15400 |
cb(err);
|
15401 |
});
|
15402 |
} else {
|
15445 |
);
|
15446 |
|
15447 |
var iterator = function (hook, next) {
|
15448 |
+
if (this$1$1.pending !== route) {
|
15449 |
return abort(createNavigationCancelledError(current, route))
|
15450 |
}
|
15451 |
try {
|
15452 |
hook(route, current, function (to) {
|
15453 |
if (to === false) {
|
15454 |
// next(false) -> abort navigation, ensure current URL
|
15455 |
+
this$1$1.ensureURL(true);
|
15456 |
abort(createNavigationAbortedError(current, route));
|
15457 |
} else if (isError(to)) {
|
15458 |
+
this$1$1.ensureURL(true);
|
15459 |
abort(to);
|
15460 |
} else if (
|
15461 |
typeof to === 'string' ||
|
15465 |
// next('/') or next({ path: '/' }) -> redirect
|
15466 |
abort(createNavigationRedirectedError(current, route));
|
15467 |
if (typeof to === 'object' && to.replace) {
|
15468 |
+
this$1$1.replace(to);
|
15469 |
} else {
|
15470 |
+
this$1$1.push(to);
|
15471 |
}
|
15472 |
} else {
|
15473 |
// confirm transition and pass on the value
|
15483 |
// wait until async components are resolved before
|
15484 |
// extracting in-component enter guards
|
15485 |
var enterGuards = extractEnterGuards(activated);
|
15486 |
+
var queue = enterGuards.concat(this$1$1.router.resolveHooks);
|
15487 |
runQueue(queue, iterator, function () {
|
15488 |
+
if (this$1$1.pending !== route) {
|
15489 |
return abort(createNavigationCancelledError(current, route))
|
15490 |
}
|
15491 |
+
this$1$1.pending = null;
|
15492 |
onComplete(route);
|
15493 |
+
if (this$1$1.router.app) {
|
15494 |
+
this$1$1.router.app.$nextTick(function () {
|
15495 |
handleRouteEntered(route);
|
15496 |
});
|
15497 |
}
|
15648 |
HTML5History.prototype.constructor = HTML5History;
|
15649 |
|
15650 |
HTML5History.prototype.setupListeners = function setupListeners () {
|
15651 |
+
var this$1$1 = this;
|
15652 |
|
15653 |
if (this.listeners.length > 0) {
|
15654 |
return
|
15663 |
}
|
15664 |
|
15665 |
var handleRoutingEvent = function () {
|
15666 |
+
var current = this$1$1.current;
|
15667 |
|
15668 |
// Avoiding first `popstate` event dispatched in some browsers but first
|
15669 |
// history route not updated since async guard at the same time.
|
15670 |
+
var location = getLocation(this$1$1.base);
|
15671 |
+
if (this$1$1.current === START && location === this$1$1._startLocation) {
|
15672 |
return
|
15673 |
}
|
15674 |
|
15675 |
+
this$1$1.transitionTo(location, function (route) {
|
15676 |
if (supportsScroll) {
|
15677 |
handleScroll(router, route, current, true);
|
15678 |
}
|
15689 |
};
|
15690 |
|
15691 |
HTML5History.prototype.push = function push (location, onComplete, onAbort) {
|
15692 |
+
var this$1$1 = this;
|
15693 |
|
15694 |
var ref = this;
|
15695 |
var fromRoute = ref.current;
|
15696 |
this.transitionTo(location, function (route) {
|
15697 |
+
pushState(cleanPath(this$1$1.base + route.fullPath));
|
15698 |
+
handleScroll(this$1$1.router, route, fromRoute, false);
|
15699 |
onComplete && onComplete(route);
|
15700 |
}, onAbort);
|
15701 |
};
|
15702 |
|
15703 |
HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {
|
15704 |
+
var this$1$1 = this;
|
15705 |
|
15706 |
var ref = this;
|
15707 |
var fromRoute = ref.current;
|
15708 |
this.transitionTo(location, function (route) {
|
15709 |
+
replaceState(cleanPath(this$1$1.base + route.fullPath));
|
15710 |
+
handleScroll(this$1$1.router, route, fromRoute, false);
|
15711 |
onComplete && onComplete(route);
|
15712 |
}, onAbort);
|
15713 |
};
|
15759 |
// this is delayed until the app mounts
|
15760 |
// to avoid the hashchange listener being fired too early
|
15761 |
HashHistory.prototype.setupListeners = function setupListeners () {
|
15762 |
+
var this$1$1 = this;
|
15763 |
|
15764 |
if (this.listeners.length > 0) {
|
15765 |
return
|
15774 |
}
|
15775 |
|
15776 |
var handleRoutingEvent = function () {
|
15777 |
+
var current = this$1$1.current;
|
15778 |
if (!ensureSlash()) {
|
15779 |
return
|
15780 |
}
|
15781 |
+
this$1$1.transitionTo(getHash(), function (route) {
|
15782 |
if (supportsScroll) {
|
15783 |
+
handleScroll(this$1$1.router, route, current, true);
|
15784 |
}
|
15785 |
if (!supportsPushState) {
|
15786 |
replaceHash(route.fullPath);
|
15798 |
};
|
15799 |
|
15800 |
HashHistory.prototype.push = function push (location, onComplete, onAbort) {
|
15801 |
+
var this$1$1 = this;
|
15802 |
|
15803 |
var ref = this;
|
15804 |
var fromRoute = ref.current;
|
15806 |
location,
|
15807 |
function (route) {
|
15808 |
pushHash(route.fullPath);
|
15809 |
+
handleScroll(this$1$1.router, route, fromRoute, false);
|
15810 |
onComplete && onComplete(route);
|
15811 |
},
|
15812 |
onAbort
|
15814 |
};
|
15815 |
|
15816 |
HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {
|
15817 |
+
var this$1$1 = this;
|
15818 |
|
15819 |
var ref = this;
|
15820 |
var fromRoute = ref.current;
|
15822 |
location,
|
15823 |
function (route) {
|
15824 |
replaceHash(route.fullPath);
|
15825 |
+
handleScroll(this$1$1.router, route, fromRoute, false);
|
15826 |
onComplete && onComplete(route);
|
15827 |
},
|
15828 |
onAbort
|
15914 |
AbstractHistory.prototype.constructor = AbstractHistory;
|
15915 |
|
15916 |
AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {
|
15917 |
+
var this$1$1 = this;
|
15918 |
|
15919 |
this.transitionTo(
|
15920 |
location,
|
15921 |
function (route) {
|
15922 |
+
this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);
|
15923 |
+
this$1$1.index++;
|
15924 |
onComplete && onComplete(route);
|
15925 |
},
|
15926 |
onAbort
|
15928 |
};
|
15929 |
|
15930 |
AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {
|
15931 |
+
var this$1$1 = this;
|
15932 |
|
15933 |
this.transitionTo(
|
15934 |
location,
|
15935 |
function (route) {
|
15936 |
+
this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);
|
15937 |
onComplete && onComplete(route);
|
15938 |
},
|
15939 |
onAbort
|
15941 |
};
|
15942 |
|
15943 |
AbstractHistory.prototype.go = function go (n) {
|
15944 |
+
var this$1$1 = this;
|
15945 |
|
15946 |
var targetIndex = this.index + n;
|
15947 |
if (targetIndex < 0 || targetIndex >= this.stack.length) {
|
15951 |
this.confirmTransition(
|
15952 |
route,
|
15953 |
function () {
|
15954 |
+
var prev = this$1$1.current;
|
15955 |
+
this$1$1.index = targetIndex;
|
15956 |
+
this$1$1.updateRoute(route);
|
15957 |
+
this$1$1.router.afterHooks.forEach(function (hook) {
|
15958 |
hook && hook(route, prev);
|
15959 |
});
|
15960 |
},
|
15961 |
function (err) {
|
15962 |
if (isNavigationFailure(err, NavigationFailureType.duplicated)) {
|
15963 |
+
this$1$1.index = targetIndex;
|
15964 |
}
|
15965 |
}
|
15966 |
);
|
15980 |
|
15981 |
/* */
|
15982 |
|
15983 |
+
|
15984 |
+
|
15985 |
var VueRouter = function VueRouter (options) {
|
15986 |
if ( options === void 0 ) options = {};
|
15987 |
|
16035 |
};
|
16036 |
|
16037 |
VueRouter.prototype.init = function init (app /* Vue component instance */) {
|
16038 |
+
var this$1$1 = this;
|
16039 |
|
16040 |
process.env.NODE_ENV !== 'production' &&
|
16041 |
assert(
|
16050 |
// https://github.com/vuejs/vue-router/issues/2639
|
16051 |
app.$once('hook:destroyed', function () {
|
16052 |
// clean out app from this.apps array once destroyed
|
16053 |
+
var index = this$1$1.apps.indexOf(app);
|
16054 |
+
if (index > -1) { this$1$1.apps.splice(index, 1); }
|
16055 |
// ensure we still have a main app or null if no apps
|
16056 |
// we do not release the router so it can be reused
|
16057 |
+
if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }
|
16058 |
|
16059 |
+
if (!this$1$1.app) { this$1$1.history.teardown(); }
|
16060 |
});
|
16061 |
|
16062 |
// main app previously initialized
|
16072 |
if (history instanceof HTML5History || history instanceof HashHistory) {
|
16073 |
var handleInitialScroll = function (routeOrError) {
|
16074 |
var from = history.current;
|
16075 |
+
var expectScroll = this$1$1.options.scrollBehavior;
|
16076 |
var supportsScroll = supportsPushState && expectScroll;
|
16077 |
|
16078 |
if (supportsScroll && 'fullPath' in routeOrError) {
|
16079 |
+
handleScroll(this$1$1, routeOrError, from, false);
|
16080 |
}
|
16081 |
};
|
16082 |
var setupListeners = function (routeOrError) {
|
16091 |
}
|
16092 |
|
16093 |
history.listen(function (route) {
|
16094 |
+
this$1$1.apps.forEach(function (app) {
|
16095 |
app._route = route;
|
16096 |
});
|
16097 |
});
|
16118 |
};
|
16119 |
|
16120 |
VueRouter.prototype.push = function push (location, onComplete, onAbort) {
|
16121 |
+
var this$1$1 = this;
|
16122 |
|
16123 |
// $flow-disable-line
|
16124 |
if (!onComplete && !onAbort && typeof Promise !== 'undefined') {
|
16125 |
return new Promise(function (resolve, reject) {
|
16126 |
+
this$1$1.history.push(location, resolve, reject);
|
16127 |
})
|
16128 |
} else {
|
16129 |
this.history.push(location, onComplete, onAbort);
|
16131 |
};
|
16132 |
|
16133 |
VueRouter.prototype.replace = function replace (location, onComplete, onAbort) {
|
16134 |
+
var this$1$1 = this;
|
16135 |
|
16136 |
// $flow-disable-line
|
16137 |
if (!onComplete && !onAbort && typeof Promise !== 'undefined') {
|
16138 |
return new Promise(function (resolve, reject) {
|
16139 |
+
this$1$1.history.replace(location, resolve, reject);
|
16140 |
})
|
16141 |
} else {
|
16142 |
this.history.replace(location, onComplete, onAbort);
|
16218 |
|
16219 |
Object.defineProperties( VueRouter.prototype, prototypeAccessors );
|
16220 |
|
16221 |
+
var VueRouter$1 = VueRouter;
|
16222 |
+
|
16223 |
function registerHook (list, fn) {
|
16224 |
list.push(fn);
|
16225 |
return function () {
|
16233 |
return base ? cleanPath(base + '/' + path) : path
|
16234 |
}
|
16235 |
|
16236 |
+
if (inBrowser && window.Vue) {
|
16237 |
+
window.Vue.use(VueRouter);
|
16238 |
+
}
|
16239 |
+
|
16240 |
+
// We cannot remove this as it would be a breaking change
|
16241 |
VueRouter.install = install;
|
16242 |
+
VueRouter.version = '3.6.0';
|
16243 |
VueRouter.isNavigationFailure = isNavigationFailure;
|
16244 |
VueRouter.NavigationFailureType = NavigationFailureType;
|
16245 |
VueRouter.START_LOCATION = START;
|
16246 |
|
16247 |
+
var version = '3.6.0';
|
16248 |
+
|
|
|
16249 |
|
|
|
16250 |
|
16251 |
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18)))
|
16252 |
|
19620 |
|
19621 |
|
19622 |
//
|
19623 |
+
|
19624 |
+
// Check if the request came from the browser and is not server rendered
|
19625 |
+
if (typeof window !== 'undefined') {
|
19626 |
+
Promise.resolve().then(function () { return slick$1; });
|
19627 |
+
}
|
19628 |
+
|
19629 |
+
var script = {
|
19630 |
+
props: {
|
19631 |
+
options: {
|
19632 |
+
type: Object,
|
19633 |
+
default: function() {
|
19634 |
+
return {};
|
19635 |
+
},
|
19636 |
+
},
|
19637 |
+
},
|
19638 |
+
|
19639 |
+
mounted: function() {
|
19640 |
+
this.create();
|
19641 |
+
},
|
19642 |
+
|
19643 |
+
destroyed: function() {
|
19644 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('unslick');
|
19645 |
+
},
|
19646 |
+
|
19647 |
+
methods: {
|
19648 |
+
create: function() {
|
19649 |
+
var $slick = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el);
|
19650 |
+
|
19651 |
+
$slick.on('afterChange', this.onAfterChange);
|
19652 |
+
$slick.on('beforeChange', this.onBeforeChange);
|
19653 |
+
$slick.on('breakpoint', this.onBreakpoint);
|
19654 |
+
$slick.on('destroy', this.onDestroy);
|
19655 |
+
$slick.on('edge', this.onEdge);
|
19656 |
+
$slick.on('init', this.onInit);
|
19657 |
+
$slick.on('reInit', this.onReInit);
|
19658 |
+
$slick.on('setPosition', this.onSetPosition);
|
19659 |
+
$slick.on('swipe', this.onSwipe);
|
19660 |
+
$slick.on('lazyLoaded', this.onLazyLoaded);
|
19661 |
+
$slick.on('lazyLoadError', this.onLazyLoadError);
|
19662 |
+
|
19663 |
+
$slick.slick(this.options);
|
19664 |
+
},
|
19665 |
+
|
19666 |
+
destroy: function() {
|
19667 |
+
var $slick = __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el);
|
19668 |
+
|
19669 |
+
$slick.off('afterChange', this.onAfterChange);
|
19670 |
+
$slick.off('beforeChange', this.onBeforeChange);
|
19671 |
+
$slick.off('breakpoint', this.onBreakpoint);
|
19672 |
+
$slick.off('destroy', this.onDestroy);
|
19673 |
+
$slick.off('edge', this.onEdge);
|
19674 |
+
$slick.off('init', this.onInit);
|
19675 |
+
$slick.off('reInit', this.onReInit);
|
19676 |
+
$slick.off('setPosition', this.onSetPosition);
|
19677 |
+
$slick.off('swipe', this.onSwipe);
|
19678 |
+
$slick.off('lazyLoaded', this.onLazyLoaded);
|
19679 |
+
$slick.off('lazyLoadError', this.onLazyLoadError);
|
19680 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('unslick');
|
19681 |
+
},
|
19682 |
+
|
19683 |
+
reSlick: function() {
|
19684 |
+
this.destroy();
|
19685 |
+
this.create();
|
19686 |
+
},
|
19687 |
+
|
19688 |
+
next: function() {
|
19689 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickNext');
|
19690 |
+
},
|
19691 |
+
|
19692 |
+
prev: function() {
|
19693 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickPrev');
|
19694 |
+
},
|
19695 |
+
|
19696 |
+
pause: function() {
|
19697 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickPause');
|
19698 |
+
},
|
19699 |
+
|
19700 |
+
play: function() {
|
19701 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickPlay');
|
19702 |
+
},
|
19703 |
+
|
19704 |
+
goTo: function(index, dontAnimate) {
|
19705 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickGoTo', index, dontAnimate);
|
19706 |
+
},
|
19707 |
+
|
19708 |
+
currentSlide: function() {
|
19709 |
+
return __WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickCurrentSlide');
|
19710 |
+
},
|
19711 |
+
|
19712 |
+
add: function(element, index, addBefore) {
|
19713 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickAdd', element, index, addBefore);
|
19714 |
+
},
|
19715 |
+
|
19716 |
+
remove: function(index, removeBefore) {
|
19717 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickRemove', index, removeBefore);
|
19718 |
+
},
|
19719 |
+
|
19720 |
+
filter: function(filterData) {
|
19721 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickFilter', filterData);
|
19722 |
+
},
|
19723 |
+
|
19724 |
+
unfilter: function() {
|
19725 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickUnfilter');
|
19726 |
+
},
|
19727 |
+
|
19728 |
+
getOption: function(option) {
|
19729 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickGetOption', option);
|
19730 |
+
},
|
19731 |
+
|
19732 |
+
setOption: function(option, value, refresh) {
|
19733 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('slickSetOption', option, value, refresh);
|
19734 |
+
},
|
19735 |
+
|
19736 |
+
setPosition: function() {
|
19737 |
+
__WEBPACK_IMPORTED_MODULE_0_jquery___default()(this.$el).slick('setPosition');
|
19738 |
+
},
|
19739 |
+
|
19740 |
+
// Events
|
19741 |
+
onAfterChange: function(event, slick, currentSlide) {
|
19742 |
+
this.$emit('afterChange', event, slick, currentSlide);
|
19743 |
+
},
|
19744 |
+
|
19745 |
+
onBeforeChange: function(event, slick, currentSlide, nextSlide) {
|
19746 |
+
this.$emit('beforeChange', event, slick, currentSlide, nextSlide);
|
19747 |
+
},
|
19748 |
+
|
19749 |
+
onBreakpoint: function(event, slick, breakpoint) {
|
19750 |
+
this.$emit('breakpoint', event, slick, breakpoint);
|
19751 |
+
},
|
19752 |
+
|
19753 |
+
onDestroy: function(event, slick) {
|
19754 |
+
this.$emit('destroy', event, slick);
|
19755 |
+
},
|
19756 |
+
|
19757 |
+
onEdge: function(event, slick, direction) {
|
19758 |
+
this.$emit('edge', event, slick, direction);
|
19759 |
+
},
|
19760 |
+
|
19761 |
+
onInit: function(event, slick) {
|
19762 |
+
this.$emit('init', event, slick);
|
19763 |
+
},
|
19764 |
+
|
19765 |
+
onReInit: function(event, slick) {
|
19766 |
+
this.$emit('reInit', event, slick);
|
19767 |
+
},
|
19768 |
+
|
19769 |
+
onSetPosition: function(event, slick) {
|
19770 |
+
this.$emit('setPosition', event, slick);
|
19771 |
+
},
|
19772 |
+
|
19773 |
+
onSwipe: function(event, slick, direction) {
|
19774 |
+
this.$emit('swipe', event, slick, direction);
|
19775 |
+
},
|
19776 |
+
|
19777 |
+
onLazyLoaded: function(event, slick, image, imageSource) {
|
19778 |
+
this.$emit('lazyLoaded', event, slick, image, imageSource);
|
19779 |
+
},
|
19780 |
+
|
19781 |
+
onLazyLoadError: function(event, slick, image, imageSource) {
|
19782 |
+
this.$emit('lazyLoadError', event, slick, image, imageSource);
|
19783 |
+
},
|
19784 |
+
},
|
19785 |
+
|
19786 |
};
|
19787 |
|
19788 |
function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier
|
19908 |
undefined
|
19909 |
);
|
19910 |
|
19911 |
+
var install = function installMyComponent(Vue, opt) {
|
19912 |
+
// Don't install if already installed, or SSR
|
19913 |
+
if (install.installed || Vue.prototype.$isServer) { return }
|
19914 |
+
install.installed = true;
|
19915 |
+
|
19916 |
+
Vue.component('slick', Slick);
|
19917 |
+
};
|
19918 |
+
|
19919 |
+
// Inject install function into component - allows component
|
19920 |
+
// to be registered via Vue.use() as well as Vue.component()
|
19921 |
Slick.install = install;
|
19922 |
|
19923 |
function createCommonjsModule(fn, module) {
|
assets/js/vue-vendor.min.js
CHANGED
@@ -1,18 +1,19 @@
|
|
1 |
-
!function(t){var e=window.dokanWebpack;window.dokanWebpack=function(n,
|
2 |
/*!
|
3 |
-
* Vue.js v2.
|
4 |
-
* (c) 2014-
|
5 |
* Released under the MIT License.
|
6 |
*/
|
7 |
-
var r=Object.freeze({});function i(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function a(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function l(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function u(t){return c.call(t).slice(8,-1)}function d(t){return"[object Object]"===c.call(t)}function p(t){return"[object RegExp]"===c.call(t)}function f(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function h(t){return o(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||d(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}var y=g("slot,component",!0),b=g("key,ref,slot,slot-scope,is");function w(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function x(t,e){return _.call(t,e)}function k(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var S=/-(\w)/g,C=k(function(t){return t.replace(S,function(t,e){return e?e.toUpperCase():""})}),O=k(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),E=/\B([A-Z])/g,T=k(function(t){return t.replace(E,"-$1").toLowerCase()});var A=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function $(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function D(t,e){for(var n in e)t[n]=e[n];return t}function N(t){for(var e={},n=0;n<t.length;n++)t[n]&&D(e,t[n]);return e}function P(t,e,n){}var j=function(t,e,n){return!1},M=function(t){return t};function L(t,e){if(t===e)return!0;var n=l(t),r=l(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=Array.isArray(t),o=Array.isArray(e);if(i&&o)return t.length===e.length&&t.every(function(t,n){return L(t,e[n])});if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(i||o)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every(function(n){return L(t[n],e[n])})}catch(t){return!1}}function R(t,e){for(var n=0;n<t.length;n++)if(L(t[n],e))return n;return-1}function I(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var V="data-server-rendered",F=["component","directive","filter"],B=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],H={optionMergeStrategies:Object.create(null),silent:!1,productionTip:"production"!==production.NODE_ENV,devtools:"production"!==production.NODE_ENV,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:j,isReservedAttr:j,isUnknownElement:j,getTagNamespace:P,parsePlatformTagName:M,mustUseProp:j,async:!0,_lifecycleHooks:B},z=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function U(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function q(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var W=new RegExp("[^"+z.source+".$_\\d]");var Y,G="__proto__"in{},X="undefined"!=typeof window,K="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,J=K&&WXEnvironment.platform.toLowerCase(),Z=X&&window.navigator.userAgent.toLowerCase(),Q=Z&&/msie|trident/.test(Z),tt=Z&&Z.indexOf("msie 9.0")>0,et=Z&&Z.indexOf("edge/")>0,nt=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===J),rt=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),it={}.watch,ot=!1;if(X)try{var at={};Object.defineProperty(at,"passive",{get:function(){ot=!0}}),window.addEventListener("test-passive",null,at)}catch(t){}var st=function(){return void 0===Y&&(Y=!X&&!K&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),Y},lt=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ct(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,dt="undefined"!=typeof Symbol&&ct(Symbol)&&"undefined"!=typeof Reflect&&ct(Reflect.ownKeys);ut="undefined"!=typeof Set&&ct(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var pt=P,ft=P,ht=P,mt=P;if("production"!==production.NODE_ENV){var vt="undefined"!=typeof console,gt=/(?:^|[-_])(\w)/g;pt=function(t,e){var n=e?ht(e):"";H.warnHandler?H.warnHandler.call(null,t,e,n):vt&&!H.silent&&console.error("[Vue warn]: "+t+n)},ft=function(t,e){vt&&!H.silent&&console.warn("[Vue tip]: "+t+(e?ht(e):""))},mt=function(t,e){if(t.$root===t)return"<Root>";var n="function"==typeof t&&null!=t.cid?t.options:t._isVue?t.$options||t.constructor.options:t,r=n.name||n._componentTag,i=n.__file;if(!r&&i){var o=i.match(/([^/\\]+)\.vue$/);r=o&&o[1]}return(r?"<"+function(t){return t.replace(gt,function(t){return t.toUpperCase()}).replace(/[-_]/g,"")}(r)+">":"<Anonymous>")+(i&&!1!==e?" at "+i:"")};ht=function(t){if(t._isVue&&t.$parent){for(var e=[],n=0;t;){if(e.length>0){var r=e[e.length-1];if(r.constructor===t.constructor){n++,t=t.$parent;continue}n>0&&(e[e.length-1]=[r,n],n=0)}e.push(t),t=t.$parent}return"\n\nfound in\n\n"+e.map(function(t,e){return""+(0===e?"---\x3e ":function(t,e){for(var n="";e;)e%2==1&&(n+=t),e>1&&(t+=t),e>>=1;return n}(" ",5+2*e))+(Array.isArray(t)?mt(t[0])+"... ("+t[1]+" recursive calls)":mt(t))}).join("\n")}return"\n\n(found in "+mt(t)+")"}}var yt=0,bt=function(){this.id=yt++,this.subs=[]};bt.prototype.addSub=function(t){this.subs.push(t)},bt.prototype.removeSub=function(t){w(this.subs,t)},bt.prototype.depend=function(){bt.target&&bt.target.addDep(this)},bt.prototype.notify=function(){var t=this.subs.slice();"production"===production.NODE_ENV||H.async||t.sort(function(t,e){return t.id-e.id});for(var e=0,n=t.length;e<n;e++)t[e].update()},bt.target=null;var wt=[];function _t(t){wt.push(t),bt.target=t}function xt(){wt.pop(),bt.target=wt[wt.length-1]}var kt=function(t,e,n,r,i,o,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},St={child:{configurable:!0}};St.child.get=function(){return this.componentInstance},Object.defineProperties(kt.prototype,St);var Ct=function(t){void 0===t&&(t="");var e=new kt;return e.text=t,e.isComment=!0,e};function Ot(t){return new kt(void 0,void 0,void 0,String(t))}function Et(t){var e=new kt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var Tt=Array.prototype,At=Object.create(Tt);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=Tt[t];q(At,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o})});var $t=Object.getOwnPropertyNames(At),Dt=!0;function Nt(t){Dt=t}var Pt=function(t){this.value=t,this.dep=new bt,this.vmCount=0,q(t,"__ob__",this),Array.isArray(t)?(G?function(t,e){t.__proto__=e}(t,At):function(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];q(t,o,e[o])}}(t,At,$t),this.observeArray(t)):this.walk(t)};function jt(t,e){var n;if(l(t)&&!(t instanceof kt))return x(t,"__ob__")&&t.__ob__ instanceof Pt?n=t.__ob__:Dt&&!st()&&(Array.isArray(t)||d(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new Pt(t)),e&&n&&n.vmCount++,n}function Mt(t,e,n,r,i){var o=new bt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,l=a&&a.set;s&&!l||2!==arguments.length||(n=t[e]);var c=!i&&jt(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return bt.target&&(o.depend(),c&&(c.dep.depend(),Array.isArray(e)&&function t(e){for(var n=void 0,r=0,i=e.length;r<i;r++)(n=e[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&t(n)}(e))),e},set:function(e){var a=s?s.call(t):n;e===a||e!=e&&a!=a||("production"!==production.NODE_ENV&&r&&r(),s&&!l||(l?l.call(t,e):n=e,c=!i&&jt(e),o.notify()))}})}}function Lt(t,e,n){if("production"!==production.NODE_ENV&&(i(t)||s(t))&&pt("Cannot set reactive property on undefined, null, or primitive value: "+t),Array.isArray(t)&&f(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?("production"!==production.NODE_ENV&&pt("Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option."),n):r?(Mt(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function Rt(t,e){if("production"!==production.NODE_ENV&&(i(t)||s(t))&&pt("Cannot delete reactive property on undefined, null, or primitive value: "+t),Array.isArray(t)&&f(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount?"production"!==production.NODE_ENV&&pt("Avoid deleting properties on a Vue instance or its root $data - just set it to null."):x(t,e)&&(delete t[e],n&&n.dep.notify())}}Pt.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)Mt(t,e[n])},Pt.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)jt(t[e])};var It=H.optionMergeStrategies;function Vt(t,e){if(!e)return t;for(var n,r,i,o=dt?Reflect.ownKeys(e):Object.keys(e),a=0;a<o.length;a++)"__ob__"!==(n=o[a])&&(r=t[n],i=e[n],x(t,n)?r!==i&&d(r)&&d(i)&&Vt(r,i):Lt(t,n,i));return t}function Ft(t,e,n){return n?function(){var r="function"==typeof e?e.call(n,n):e,i="function"==typeof t?t.call(n,n):t;return r?Vt(r,i):i}:e?t?function(){return Vt("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function Bt(t,e){var n=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return n?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(n):n}function Ht(t,e,n,r){var i=Object.create(t||null);return e?("production"!==production.NODE_ENV&&qt(r,e,n),D(i,e)):i}"production"!==production.NODE_ENV&&(It.el=It.propsData=function(t,e,n,r){return n||pt('option "'+r+'" can only be used during instance creation with the `new` keyword.'),zt(t,e)}),It.data=function(t,e,n){return n?Ft(t,e,n):e&&"function"!=typeof e?("production"!==production.NODE_ENV&&pt('The "data" option should be a function that returns a per-instance value in component definitions.',n),t):Ft(t,e)},B.forEach(function(t){It[t]=Bt}),F.forEach(function(t){It[t+"s"]=Ht}),It.watch=function(t,e,n,r){if(t===it&&(t=void 0),e===it&&(e=void 0),!e)return Object.create(t||null);if("production"!==production.NODE_ENV&&qt(r,e,n),!t)return e;var i={};for(var o in D(i,t),e){var a=i[o],s=e[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},It.props=It.methods=It.inject=It.computed=function(t,e,n,r){if(e&&"production"!==production.NODE_ENV&&qt(r,e,n),!t)return e;var i=Object.create(null);return D(i,t),e&&D(i,e),i},It.provide=Ft;var zt=function(t,e){return void 0===e?t:e};function Ut(t){new RegExp("^[a-zA-Z][\\-\\.0-9_"+z.source+"]*$").test(t)||pt('Invalid component name: "'+t+'". Component names should conform to valid custom element name in html5 specification.'),(y(t)||H.isReservedTag(t))&&pt("Do not use built-in or reserved HTML elements as component id: "+t)}function qt(t,e,n){d(e)||pt('Invalid value for option "'+t+'": expected an Object, but got '+u(e)+".",n)}function Wt(t,e,n){if("production"!==production.NODE_ENV&&function(t){for(var e in t.components)Ut(e)}(e),"function"==typeof e&&(e=e.options),function(t,e){var n=t.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])?o[C(i)]={type:null}:"production"!==production.NODE_ENV&&pt("props must be strings when using array syntax.");else if(d(n))for(var a in n)i=n[a],o[C(a)]=d(i)?i:{type:i};else"production"!==production.NODE_ENV&&pt('Invalid value for option "props": expected an Array or an Object, but got '+u(n)+".",e);t.props=o}}(e,n),function(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(d(n))for(var o in n){var a=n[o];r[o]=d(a)?D({from:o},a):{from:a}}else"production"!==production.NODE_ENV&&pt('Invalid value for option "inject": expected an Array or an Object, but got '+u(n)+".",e)}}(e,n),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"==typeof r&&(e[n]={bind:r,update:r})}}(e),!e._base&&(e.extends&&(t=Wt(t,e.extends,n)),e.mixins))for(var r=0,i=e.mixins.length;r<i;r++)t=Wt(t,e.mixins[r],n);var o,a={};for(o in t)s(o);for(o in e)x(t,o)||s(o);function s(r){var i=It[r]||zt;a[r]=i(t[r],e[r],n,r)}return a}function Yt(t,e,n,r){if("string"==typeof n){var i=t[e];if(x(i,n))return i[n];var o=C(n);if(x(i,o))return i[o];var a=O(o);if(x(i,a))return i[a];var s=i[n]||i[o]||i[a];return"production"!==production.NODE_ENV&&r&&!s&&pt("Failed to resolve "+e.slice(0,-1)+": "+n,t),s}}function Gt(t,e,n,r){var i=e[t],o=!x(n,t),a=n[t],s=te(Boolean,i.type);if(s>-1)if(o&&!x(i,"default"))a=!1;else if(""===a||a===T(t)){var c=te(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=function(t,e,n){if(!x(e,"default"))return;var r=e.default;"production"!==production.NODE_ENV&&l(r)&&pt('Invalid default value for prop "'+n+'": Props with type Object/Array must use a factory function to return the default value.',t);if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return"function"==typeof r&&"Function"!==Zt(e.type)?r.call(t):r}(r,i,t);var d=Dt;Nt(!0),jt(a),Nt(d)}return"production"!==production.NODE_ENV&&function(t,e,n,r,i){if(t.required&&i)return void pt('Missing required prop: "'+e+'"',r);if(null==n&&!t.required)return;var o=t.type,a=!o||!0===o,s=[];if(o){Array.isArray(o)||(o=[o]);for(var l=0;l<o.length&&!a;l++){var c=Kt(n,o[l],r);s.push(c.expectedType||""),a=c.valid}}var d=s.some(function(t){return t});if(!a&&d)return void pt(function(t,e,n){var r='Invalid prop: type check failed for prop "'+t+'". Expected '+n.map(O).join(", "),i=n[0],o=u(e);1===n.length&&re(i)&&re(typeof e)&&!function(){var t=[],e=arguments.length;for(;e--;)t[e]=arguments[e];return t.some(function(t){return"boolean"===t.toLowerCase()})}(i,o)&&(r+=" with value "+ee(e,i));r+=", got "+o+" ",re(o)&&(r+="with value "+ee(e,o)+".");return r}(e,n,s),r);var p=t.validator;p&&(p(n)||pt('Invalid prop: custom validator check failed for prop "'+e+'".',r))}(i,t,a,r,o),a}var Xt=/^(String|Number|Boolean|Function|Symbol|BigInt)$/;function Kt(t,e,n){var r,i=Zt(e);if(Xt.test(i)){var o=typeof t;(r=o===i.toLowerCase())||"object"!==o||(r=t instanceof e)}else if("Object"===i)r=d(t);else if("Array"===i)r=Array.isArray(t);else try{r=t instanceof e}catch(t){pt('Invalid prop type: "'+String(e)+'" is not a constructor',n),r=!1}return{valid:r,expectedType:i}}var Jt=/^\s*function (\w+)/;function Zt(t){var e=t&&t.toString().match(Jt);return e?e[1]:""}function Qt(t,e){return Zt(t)===Zt(e)}function te(t,e){if(!Array.isArray(e))return Qt(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(Qt(e[n],t))return n;return-1}function ee(t,e){return"String"===e?'"'+t+'"':"Number"===e?""+Number(t):""+t}var ne=["string","number","boolean"];function re(t){return ne.some(function(e){return t.toLowerCase()===e})}function ie(t,e,n){_t();try{if(e)for(var r=e;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,t,e,n))return}catch(t){ae(t,r,"errorCaptured hook")}}ae(t,e,n)}finally{xt()}}function oe(t,e,n,r,i){var o;try{(o=n?t.apply(e,n):t.call(e))&&!o._isVue&&h(o)&&!o._handled&&(o.catch(function(t){return ie(t,r,i+" (Promise/async)")}),o._handled=!0)}catch(t){ie(t,r,i)}return o}function ae(t,e,n){if(H.errorHandler)try{return H.errorHandler.call(null,t,e,n)}catch(e){e!==t&&se(e,null,"config.errorHandler")}se(t,e,n)}function se(t,e,n){if("production"!==production.NODE_ENV&&pt("Error in "+n+': "'+t.toString()+'"',e),!X&&!K||"undefined"==typeof console)throw t;console.error(t)}var le,ce,ue,de,pe=!1,fe=[],he=!1;function me(){he=!1;var t=fe.slice(0);fe.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&ct(Promise)){var ve=Promise.resolve();le=function(){ve.then(me),nt&&setTimeout(P)},pe=!0}else if(Q||"undefined"==typeof MutationObserver||!ct(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())le=void 0!==n&&ct(n)?function(){n(me)}:function(){setTimeout(me,0)};else{var ge=1,ye=new MutationObserver(me),be=document.createTextNode(String(ge));ye.observe(be,{characterData:!0}),le=function(){ge=(ge+1)%2,be.data=String(ge)},pe=!0}function we(t,e){var n;if(fe.push(function(){if(t)try{t.call(e)}catch(t){ie(t,e,"nextTick")}else n&&n(e)}),he||(he=!0,le()),!t&&"undefined"!=typeof Promise)return new Promise(function(t){n=t})}if("production"!==production.NODE_ENV){var _e=X&&window.performance;_e&&_e.mark&&_e.measure&&_e.clearMarks&&_e.clearMeasures&&(ce=function(t){return _e.mark(t)},ue=function(t,e,n){_e.measure(t,e,n),_e.clearMarks(e),_e.clearMarks(n)})}if("production"!==production.NODE_ENV){var xe=g("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,require"),ke=function(t,e){pt('Property or method "'+e+'" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',t)},Se=function(t,e){pt('Property "'+e+'" must be accessed with "$data.'+e+'" because properties starting with "$" or "_" are not proxied in the Vue instance to prevent conflicts with Vue internals. See: https://vuejs.org/v2/api/#data',t)},Ce="undefined"!=typeof Proxy&&ct(Proxy);if(Ce){var Oe=g("stop,prevent,self,ctrl,shift,alt,meta,exact");H.keyCodes=new Proxy(H.keyCodes,{set:function(t,e,n){return Oe(e)?(pt("Avoid overwriting built-in modifier in config.keyCodes: ."+e),!1):(t[e]=n,!0)}})}var Ee={has:function(t,e){var n=e in t,r=xe(e)||"string"==typeof e&&"_"===e.charAt(0)&&!(e in t.$data);return n||r||(e in t.$data?Se(t,e):ke(t,e)),n||!r}},Te={get:function(t,e){return"string"!=typeof e||e in t||(e in t.$data?Se(t,e):ke(t,e)),t[e]}};de=function(t){if(Ce){var e=t.$options,n=e.render&&e.render._withStripped?Te:Ee;t._renderProxy=new Proxy(t,n)}else t._renderProxy=t}}var Ae=new ut;function $e(t){!function t(e,n){var r,i;var o=Array.isArray(e);if(!o&&!l(e)||Object.isFrozen(e)||e instanceof kt)return;if(e.__ob__){var a=e.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(o)for(r=e.length;r--;)t(e[r],n);else for(i=Object.keys(e),r=i.length;r--;)t(e[i[r]],n)}(t,Ae),Ae.clear()}var De=k(function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}});function Ne(t,e){function n(){var t=arguments,r=n.fns;if(!Array.isArray(r))return oe(r,null,arguments,e,"v-on handler");for(var i=r.slice(),o=0;o<i.length;o++)oe(i[o],null,t,e,"v-on handler")}return n.fns=t,n}function Pe(t,e,n,r,o,s){var l,c,u,d;for(l in t)c=t[l],u=e[l],d=De(l),i(c)?"production"!==production.NODE_ENV&&pt('Invalid handler for event "'+d.name+'": got '+String(c),s):i(u)?(i(c.fns)&&(c=t[l]=Ne(c,s)),a(d.once)&&(c=t[l]=o(d.name,c,d.capture)),n(d.name,c,d.capture,d.passive,d.params)):c!==u&&(u.fns=c,t[l]=u);for(l in e)i(t[l])&&r((d=De(l)).name,e[l],d.capture)}function je(t,e,n){var r;t instanceof kt&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function l(){n.apply(this,arguments),w(r.fns,l)}i(s)?r=Ne([l]):o(s.fns)&&a(s.merged)?(r=s).fns.push(l):r=Ne([s,l]),r.merged=!0,t[e]=r}function Me(t,e,n,r,i){if(o(e)){if(x(e,n))return t[n]=e[n],i||delete e[n],!0;if(x(e,r))return t[n]=e[r],i||delete e[r],!0}return!1}function Le(t){return s(t)?[Ot(t)]:Array.isArray(t)?function t(e,n){var r=[];var l,c,u,d;for(l=0;l<e.length;l++)i(c=e[l])||"boolean"==typeof c||(u=r.length-1,d=r[u],Array.isArray(c)?c.length>0&&(Re((c=t(c,(n||"")+"_"+l))[0])&&Re(d)&&(r[u]=Ot(d.text+c[0].text),c.shift()),r.push.apply(r,c)):s(c)?Re(d)?r[u]=Ot(d.text+c):""!==c&&r.push(Ot(c)):Re(c)&&Re(d)?r[u]=Ot(d.text+c.text):(a(e._isVList)&&o(c.tag)&&i(c.key)&&o(n)&&(c.key="__vlist"+n+"_"+l+"__"),r.push(c)));return r}(t):void 0}function Re(t){return o(t)&&o(t.text)&&function(t){return!1===t}(t.isComment)}function Ie(t,e){if(t){for(var n=Object.create(null),r=dt?Reflect.ownKeys(t):Object.keys(t),i=0;i<r.length;i++){var o=r[i];if("__ob__"!==o){for(var a=t[o].from,s=e;s;){if(s._provided&&x(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[o]){var l=t[o].default;n[o]="function"==typeof l?l.call(e):l}else"production"!==production.NODE_ENV&&pt('Injection "'+o+'" not found',e)}}return n}}function Ve(t,e){if(!t||!t.length)return{};for(var n={},r=0,i=t.length;r<i;r++){var o=t[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==e&&o.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,l=n[s]||(n[s]=[]);"template"===o.tag?l.push.apply(l,o.children||[]):l.push(o)}}for(var c in n)n[c].every(Fe)&&delete n[c];return n}function Fe(t){return t.isComment&&!t.asyncFactory||" "===t.text}function Be(t){return t.isComment&&t.asyncFactory}function He(t,e,n){var i,o=Object.keys(e).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==r&&s===n.$key&&!o&&!n.$hasNormal)return n;for(var l in i={},t)t[l]&&"$"!==l[0]&&(i[l]=ze(e,l,t[l]))}else i={};for(var c in e)c in i||(i[c]=Ue(e,c));return t&&Object.isExtensible(t)&&(t._normalized=i),q(i,"$stable",a),q(i,"$key",s),q(i,"$hasNormal",o),i}function ze(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:Le(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!Be(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function Ue(t,e){return function(){return t[e]}}function qe(t,e){var n,r,i,a,s;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=e(t[r],r);else if("number"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(l(t))if(dt&&t[Symbol.iterator]){n=[];for(var c=t[Symbol.iterator](),u=c.next();!u.done;)n.push(e(u.value,n.length)),u=c.next()}else for(a=Object.keys(t),n=new Array(a.length),r=0,i=a.length;r<i;r++)s=a[r],n[r]=e(t[s],s,r);return o(n)||(n=[]),n._isVList=!0,n}function We(t,e,n,r){var i,o=this.$scopedSlots[t];o?(n=n||{},r&&("production"===production.NODE_ENV||l(r)||pt("slot v-bind without argument expects an Object",this),n=D(D({},r),n)),i=o(n)||("function"==typeof e?e():e)):i=this.$slots[t]||("function"==typeof e?e():e);var a=n&&n.slot;return a?this.$createElement("template",{slot:a},i):i}function Ye(t){return Yt(this.$options,"filters",t,!0)||M}function Ge(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function Xe(t,e,n,r,i){var o=H.keyCodes[e]||n;return i&&r&&!H.keyCodes[e]?Ge(i,r):o?Ge(o,t):r?T(r)!==e:void 0===t}function Ke(t,e,n,r,i){if(n)if(l(n)){var o;Array.isArray(n)&&(n=N(n));var a=function(a){if("class"===a||"style"===a||b(a))o=t;else{var s=t.attrs&&t.attrs.type;o=r||H.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var l=C(a),c=T(a);l in o||c in o||(o[a]=n[a],i&&((t.on||(t.on={}))["update:"+a]=function(t){n[a]=t}))};for(var s in n)a(s)}else"production"!==production.NODE_ENV&&pt("v-bind without argument expects an Object or Array value",this);return t}function Je(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?r:(Qe(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),"__static__"+t,!1),r)}function Ze(t,e,n){return Qe(t,"__once__"+e+(n?"_"+n:""),!0),t}function Qe(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&tn(t[r],e+"_"+r,n);else tn(t,e,n)}function tn(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function en(t,e){if(e)if(d(e)){var n=t.on=t.on?D({},t.on):{};for(var r in e){var i=n[r],o=e[r];n[r]=i?[].concat(i,o):o}}else"production"!==production.NODE_ENV&&pt("v-on without argument expects an Object value",this);return t}function nn(t,e,n,r){e=e||{$stable:!n};for(var i=0;i<t.length;i++){var o=t[i];Array.isArray(o)?nn(o,e,n):o&&(o.proxy&&(o.fn.proxy=!0),e[o.key]=o.fn)}return r&&(e.$key=r),e}function rn(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r?t[e[n]]=e[n+1]:"production"!==production.NODE_ENV&&""!==r&&null!==r&&pt("Invalid value for dynamic directive argument (expected string or null): "+r,this)}return t}function on(t,e){return"string"==typeof t?e+t:t}function an(t){t._o=Ze,t._n=v,t._s=m,t._l=qe,t._t=We,t._q=L,t._i=R,t._m=Je,t._f=Ye,t._k=Xe,t._b=Ke,t._v=Ot,t._e=Ct,t._u=nn,t._g=en,t._d=rn,t._p=on}function sn(t,e,n,i,o){var s,l=this,c=o.options;x(i,"_uid")?(s=Object.create(i))._original=i:(s=i,i=i._original);var u=a(c._compiled),d=!u;this.data=t,this.props=e,this.children=n,this.parent=i,this.listeners=t.on||r,this.injections=Ie(c.inject,i),this.slots=function(){return l.$slots||He(t.scopedSlots,l.$slots=Ve(n,i)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return He(t.scopedSlots,this.slots())}}),u&&(this.$options=c,this.$slots=this.slots(),this.$scopedSlots=He(t.scopedSlots,this.$slots)),c._scopeId?this._c=function(t,e,n,r){var o=vn(s,t,e,n,r,d);return o&&!Array.isArray(o)&&(o.fnScopeId=c._scopeId,o.fnContext=i),o}:this._c=function(t,e,n,r){return vn(s,t,e,n,r,d)}}function ln(t,e,n,r,i){var o=Et(t);return o.fnContext=n,o.fnOptions=r,"production"!==production.NODE_ENV&&((o.devtoolsMeta=o.devtoolsMeta||{}).renderContext=i),e.slot&&((o.data||(o.data={})).slot=e.slot),o}function cn(t,e){for(var n in e)t[C(n)]=e[n]}an(sn.prototype);var un={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;un.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},r=t.data.inlineTemplate;o(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,Cn)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,i,o){"production"!==production.NODE_ENV&&(On=!0);var a=i.data.scopedSlots,s=t.$scopedSlots,l=!!(a&&!a.$stable||s!==r&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),c=!!(o||t.$options._renderChildren||l);t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i);if(t.$options._renderChildren=o,t.$attrs=i.data.attrs||r,t.$listeners=n||r,e&&t.$options.props){Nt(!1);for(var u=t._props,d=t.$options._propKeys||[],p=0;p<d.length;p++){var f=d[p],h=t.$options.props;u[f]=Gt(f,h,e,t)}Nt(!0),t.$options.propsData=e}n=n||r;var m=t.$options._parentListeners;t.$options._parentListeners=n,Sn(t,n,m),c&&(t.$slots=Ve(o,i.context),t.$forceUpdate());"production"!==production.NODE_ENV&&(On=!1)}(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,$n(n,"mounted")),t.data.keepAlive&&(e._isMounted?function(t){t._inactive=!1,Pn.push(t)}(n):An(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?function t(e,n){if(n&&(e._directInactive=!0,Tn(e)))return;if(!e._inactive){e._inactive=!0;for(var r=0;r<e.$children.length;r++)t(e.$children[r]);$n(e,"deactivated")}}(e,!0):e.$destroy())}},dn=Object.keys(un);function pn(t,e,n,s,c){if(!i(t)){var u=n.$options._base;if(l(t)&&(t=u.extend(t)),"function"==typeof t){var d;if(i(t.cid)&&void 0===(t=function(t,e){if(a(t.error)&&o(t.errorComp))return t.errorComp;if(o(t.resolved))return t.resolved;var n=yn;n&&o(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n);if(a(t.loading)&&o(t.loadingComp))return t.loadingComp;if(n&&!o(t.owners)){var r=t.owners=[n],s=!0,c=null,u=null;n.$on("hook:destroyed",function(){return w(r,n)});var d=function(t){for(var e=0,n=r.length;e<n;e++)r[e].$forceUpdate();t&&(r.length=0,null!==c&&(clearTimeout(c),c=null),null!==u&&(clearTimeout(u),u=null))},p=I(function(n){t.resolved=bn(n,e),s?r.length=0:d(!0)}),f=I(function(e){"production"!==production.NODE_ENV&&pt("Failed to resolve async component: "+String(t)+(e?"\nReason: "+e:"")),o(t.errorComp)&&(t.error=!0,d(!0))}),m=t(p,f);return l(m)&&(h(m)?i(t.resolved)&&m.then(p,f):h(m.component)&&(m.component.then(p,f),o(m.error)&&(t.errorComp=bn(m.error,e)),o(m.loading)&&(t.loadingComp=bn(m.loading,e),0===m.delay?t.loading=!0:c=setTimeout(function(){c=null,i(t.resolved)&&i(t.error)&&(t.loading=!0,d(!1))},m.delay||200)),o(m.timeout)&&(u=setTimeout(function(){u=null,i(t.resolved)&&f("production"!==production.NODE_ENV?"timeout ("+m.timeout+"ms)":null)},m.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}(d=t,u)))return function(t,e,n,r,i){var o=Ct();return o.asyncFactory=t,o.asyncMeta={data:e,context:n,children:r,tag:i},o}(d,e,n,s,c);e=e||{},tr(t),o(e.model)&&function(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;var i=e.on||(e.on={}),a=i[r],s=e.model.callback;o(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(i[r]=[s].concat(a)):i[r]=s}(t.options,e);var p=function(t,e,n){var r=e.options.props;if(!i(r)){var a={},s=t.attrs,l=t.props;if(o(s)||o(l))for(var c in r){var u=T(c);if("production"!==production.NODE_ENV){var d=c.toLowerCase();c!==d&&s&&x(s,d)&&ft('Prop "'+d+'" is passed to component '+mt(n||e)+', but the declared prop name is "'+c+'". Note that HTML attributes are case-insensitive and camelCased props need to use their kebab-case equivalents when using in-DOM templates. You should probably use "'+u+'" instead of "'+c+'".')}Me(a,l,c,u,!0)||Me(a,s,c,u,!1)}return a}}(e,t,c);if(a(t.options.functional))return function(t,e,n,i,a){var s=t.options,l={},c=s.props;if(o(c))for(var u in c)l[u]=Gt(u,c,e||r);else o(n.attrs)&&cn(l,n.attrs),o(n.props)&&cn(l,n.props);var d=new sn(n,l,a,i,t),p=s.render.call(null,d._c,d);if(p instanceof kt)return ln(p,n,d.parent,s,d);if(Array.isArray(p)){for(var f=Le(p)||[],h=new Array(f.length),m=0;m<f.length;m++)h[m]=ln(f[m],n,d.parent,s,d);return h}}(t,p,e,n,s);var f=e.on;if(e.on=e.nativeOn,a(t.options.abstract)){var m=e.slot;e={},m&&(e.slot=m)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<dn.length;n++){var r=dn[n],i=e[r],o=un[r];i===o||i&&i._merged||(e[r]=i?fn(o,i):o)}}(e);var v=t.options.name||c;return new kt("vue-component-"+t.cid+(v?"-"+v:""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:p,listeners:f,tag:c,children:s},d)}"production"!==production.NODE_ENV&&pt("Invalid Component definition: "+String(t),n)}}function fn(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}var hn=1,mn=2;function vn(t,e,n,r,c,u){return(Array.isArray(n)||s(n))&&(c=r,r=n,n=void 0),a(u)&&(c=mn),function(t,e,n,r,c){if(o(n)&&o(n.__ob__))return"production"!==production.NODE_ENV&&pt("Avoid using observed data object as vnode data: "+JSON.stringify(n)+"\nAlways create fresh vnode data objects in each render!",t),Ct();o(n)&&o(n.is)&&(e=n.is);if(!e)return Ct();"production"!==production.NODE_ENV&&o(n)&&o(n.key)&&!s(n.key)&&pt("Avoid using non-primitive value as key, use string/number value instead.",t);Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);c===mn?r=Le(r):c===hn&&(r=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(r));var u,d;if("string"==typeof e){var p;d=t.$vnode&&t.$vnode.ns||H.getTagNamespace(e),H.isReservedTag(e)?("production"!==production.NODE_ENV&&o(n)&&o(n.nativeOn)&&"component"!==n.tag&&pt("The .native modifier for v-on is only valid on components but it was used on <"+e+">.",t),u=new kt(H.parsePlatformTagName(e),n,r,void 0,void 0,t)):u=n&&n.pre||!o(p=Yt(t.$options,"components",e))?new kt(e,n,r,void 0,void 0,t):pn(p,n,t,r,e)}else u=pn(e,n,t,r);return Array.isArray(u)?u:o(u)?(o(d)&&function t(e,n,r){e.ns=n;"foreignObject"===e.tag&&(n=void 0,r=!0);if(o(e.children))for(var s=0,l=e.children.length;s<l;s++){var c=e.children[s];o(c.tag)&&(i(c.ns)||a(r)&&"svg"!==c.tag)&&t(c,n,r)}}(u,d),o(n)&&function(t){l(t.style)&&$e(t.style);l(t.class)&&$e(t.class)}(n),u):Ct()}(t,e,n,r,c)}var gn,yn=null;function bn(t,e){return(t.__esModule||dt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function wn(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(o(n)&&(o(n.componentOptions)||Be(n)))return n}}function _n(t,e){gn.$on(t,e)}function xn(t,e){gn.$off(t,e)}function kn(t,e){var n=gn;return function r(){null!==e.apply(null,arguments)&&n.$off(t,r)}}function Sn(t,e,n){gn=t,Pe(e,n||{},_n,xn,kn,t),gn=void 0}var Cn=null,On=!1;function En(t){var e=Cn;return Cn=t,function(){Cn=e}}function Tn(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function An(t,e){if(e){if(t._directInactive=!1,Tn(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)An(t.$children[n]);$n(t,"activated")}}function $n(t,e){_t();var n=t.$options[e],r=e+" hook";if(n)for(var i=0,o=n.length;i<o;i++)oe(n[i],t,null,t,r);t._hasHookEvent&&t.$emit("hook:"+e),xt()}var Dn=100,Nn=[],Pn=[],jn={},Mn={},Ln=!1,Rn=!1,In=0;var Vn=0,Fn=Date.now;if(X&&!Q){var Bn=window.performance;Bn&&"function"==typeof Bn.now&&Fn()>document.createEvent("Event").timeStamp&&(Fn=function(){return Bn.now()})}function Hn(){var t,e;for(Vn=Fn(),Rn=!0,Nn.sort(function(t,e){return t.id-e.id}),In=0;In<Nn.length;In++)if((t=Nn[In]).before&&t.before(),e=t.id,jn[e]=null,t.run(),"production"!==production.NODE_ENV&&null!=jn[e]&&(Mn[e]=(Mn[e]||0)+1,Mn[e]>Dn)){pt("You may have an infinite update loop "+(t.user?'in watcher with expression "'+t.expression+'"':"in a component render function."),t.vm);break}var n=Pn.slice(),r=Nn.slice();In=Nn.length=Pn.length=0,jn={},"production"!==production.NODE_ENV&&(Mn={}),Ln=Rn=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,An(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&$n(r,"updated")}}(r),lt&&H.devtools&<.emit("flush")}var zn=0,Un=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++zn,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ut,this.newDepIds=new ut,this.expression="production"!==production.NODE_ENV?e.toString():"","function"==typeof e?this.getter=e:(this.getter=function(t){if(!W.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=P,"production"!==production.NODE_ENV&&pt('Failed watching path: "'+e+'" Watcher only accepts simple dot-delimited paths. For full control, use a function instead.',t))),this.value=this.lazy?void 0:this.get()};Un.prototype.get=function(){var t;_t(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;ie(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&$e(t),xt(),this.cleanupDeps()}return t},Un.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},Un.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},Un.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==jn[e]){if(jn[e]=!0,Rn){for(var n=Nn.length-1;n>In&&Nn[n].id>t.id;)n--;Nn.splice(n+1,0,t)}else Nn.push(t);if(!Ln){if(Ln=!0,"production"!==production.NODE_ENV&&!H.async)return void Hn();we(Hn)}}}(this)},Un.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||l(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';oe(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},Un.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Un.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Un.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||w(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var qn={enumerable:!0,configurable:!0,get:P,set:P};function Wn(t,e,n){qn.get=function(){return this[e][n]},qn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,qn)}function Yn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||Nt(!1);var a=function(a){i.push(a);var s=Gt(a,e,n,t);if("production"!==production.NODE_ENV){var l=T(a);(b(l)||H.isReservedAttr(l))&&pt('"'+l+'" is a reserved attribute and cannot be used as component prop.',t),Mt(r,a,s,function(){o||On||pt("Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: \""+a+'"',t)})}else Mt(r,a,s);a in t||Wn(t,"_props",a)};for(var s in e)a(s);Nt(!0)}(t,e.props),e.methods&&function(t,e){var n=t.$options.props;for(var r in e)"production"!==production.NODE_ENV&&("function"!=typeof e[r]&&pt('Method "'+r+'" has type "'+typeof e[r]+'" in the component definition. Did you reference the function correctly?',t),n&&x(n,r)&&pt('Method "'+r+'" has already been defined as a prop.',t),r in t&&U(r)&&pt('Method "'+r+'" conflicts with an existing Vue instance method. Avoid defining component methods that start with _ or $.')),t[r]="function"!=typeof e[r]?P:A(e[r],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;d(e=t._data="function"==typeof e?function(t,e){_t();try{return t.call(e,e)}catch(t){return ie(t,e,"data()"),{}}finally{xt()}}(e,t):e||{})||(e={},"production"!==production.NODE_ENV&&pt("data functions should return an object:\nhttps://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function",t));var n=Object.keys(e),r=t.$options.props,i=t.$options.methods,o=n.length;for(;o--;){var a=n[o];"production"!==production.NODE_ENV&&i&&x(i,a)&&pt('Method "'+a+'" has already been defined as a data property.',t),r&&x(r,a)?"production"!==production.NODE_ENV&&pt('The data property "'+a+'" is already declared as a prop. Use prop default value instead.',t):U(a)||Wn(t,"_data",a)}jt(e,!0)}(t):jt(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=st();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;"production"!==production.NODE_ENV&&null==a&&pt('Getter is missing for computed property "'+i+'".',t),r||(n[i]=new Un(t,a||P,P,Gn)),i in t?"production"!==production.NODE_ENV&&(i in t.$data?pt('The computed property "'+i+'" is already defined in data.',t):t.$options.props&&i in t.$options.props?pt('The computed property "'+i+'" is already defined as a prop.',t):t.$options.methods&&i in t.$options.methods&&pt('The computed property "'+i+'" is already defined as a method.',t)):Xn(t,i,o)}}(t,e.computed),e.watch&&e.watch!==it&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)Zn(t,n,r[i]);else Zn(t,n,r)}}(t,e.watch)}var Gn={lazy:!0};function Xn(t,e,n){var r=!st();"function"==typeof n?(qn.get=r?Kn(e):Jn(n),qn.set=P):(qn.get=n.get?r&&!1!==n.cache?Kn(e):Jn(n.get):P,qn.set=n.set||P),"production"!==production.NODE_ENV&&qn.set===P&&(qn.set=function(){pt('Computed property "'+e+'" was assigned to but it has no setter.',this)}),Object.defineProperty(t,e,qn)}function Kn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),bt.target&&e.depend(),e.value}}function Jn(t){return function(){return t.call(this,this)}}function Zn(t,e,n,r){return d(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}var Qn=0;function tr(t){var e=t.options;if(t.super){var n=tr(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var i in n)n[i]!==r[i]&&(e||(e={}),e[i]=n[i]);return e}(t);r&&D(t.extendOptions,r),(e=t.options=Wt(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function er(t){"production"===production.NODE_ENV||this instanceof er||pt("Vue is a constructor and should be called with the `new` keyword"),this._init(t)}function nr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;"production"!==production.NODE_ENV&&o&&Ut(o);var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=Wt(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Wn(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Xn(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,F.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=D({},a.options),i[r]=a,a}}function rr(t){return t&&(t.Ctor.options.name||t.tag)}function ir(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!p(t)&&t.test(e)}function or(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=a.name;s&&!e(s)&&ar(n,o,r,i)}}}function ar(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,w(n,e)}!function(t){t.prototype._init=function(t){var e,n,i=this;i._uid=Qn++,"production"!==production.NODE_ENV&&H.performance&&ce&&(e="vue-perf-start:"+i._uid,n="vue-perf-end:"+i._uid,ce(e)),i._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(i,t):i.$options=Wt(tr(i.constructor),t||{},i),"production"!==production.NODE_ENV?de(i):i._renderProxy=i,i._self=i,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(i),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Sn(t,e)}(i),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,i=n&&n.context;t.$slots=Ve(e._renderChildren,i),t.$scopedSlots=r,t._c=function(e,n,r,i){return vn(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return vn(t,e,n,r,i,!0)};var o=n&&n.data;"production"!==production.NODE_ENV?(Mt(t,"$attrs",o&&o.attrs||r,function(){!On&&pt("$attrs is readonly.",t)},!0),Mt(t,"$listeners",e._parentListeners||r,function(){!On&&pt("$listeners is readonly.",t)},!0)):(Mt(t,"$attrs",o&&o.attrs||r,null,!0),Mt(t,"$listeners",e._parentListeners||r,null,!0))}(i),$n(i,"beforeCreate"),function(t){var e=Ie(t.$options.inject,t);e&&(Nt(!1),Object.keys(e).forEach(function(n){"production"!==production.NODE_ENV?Mt(t,n,e[n],function(){pt('Avoid mutating an injected value directly since the changes will be overwritten whenever the provided component re-renders. injection being mutated: "'+n+'"',t)}):Mt(t,n,e[n])}),Nt(!0))}(i),Yn(i),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(i),$n(i,"created"),"production"!==production.NODE_ENV&&H.performance&&ce&&(i._name=mt(i,!1),ce(n),ue("vue "+i._name+" init",e,n)),i.$options.el&&i.$mount(i.$options.el)}}(er),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};"production"!==production.NODE_ENV&&(e.set=function(){pt("Avoid replacing instance root $data. Use nested data properties instead.",this)},n.set=function(){pt("$props is readonly.",this)}),Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Lt,t.prototype.$delete=Rt,t.prototype.$watch=function(t,e,n){if(d(e))return Zn(this,t,e,n);(n=n||{}).user=!0;var r=new Un(this,t,e,n);if(n.immediate){var i='callback for immediate watcher "'+r.expression+'"';_t(),oe(e,this,[r.value],this,i),xt()}return function(){r.teardown()}}}(er),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var i=0,o=t.length;i<o;i++)r.$on(t[i],n);else(r._events[t]||(r._events[t]=[])).push(n),e.test(t)&&(r._hasHookEvent=!0);return r},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(t)){for(var r=0,i=t.length;r<i;r++)n.$off(t[r],e);return n}var o,a=n._events[t];if(!a)return n;if(!e)return n._events[t]=null,n;for(var s=a.length;s--;)if((o=a[s])===e||o.fn===e){a.splice(s,1);break}return n},t.prototype.$emit=function(t){var e=this;if("production"!==production.NODE_ENV){var n=t.toLowerCase();n!==t&&e._events[n]&&ft('Event "'+n+'" is emitted in component '+mt(e)+' but the handler is registered for "'+t+'". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "'+T(t)+'" instead of "'+t+'".')}var r=e._events[t];if(r){r=r.length>1?$(r):r;for(var i=$(arguments,1),o='event handler for "'+t+'"',a=0,s=r.length;a<s;a++)oe(r[a],e,i,e,o)}return e}}(er),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,i=n._vnode,o=En(n);n._vnode=t,n.$el=i?n.__patch__(i,t):n.__patch__(n.$el,t,e,!1),o(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){$n(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||w(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),$n(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(er),function(t){an(t.prototype),t.prototype.$nextTick=function(t){return we(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,i=n._parentVnode;i&&(e.$scopedSlots=He(i.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=i;try{yn=e,t=r.call(e._renderProxy,e.$createElement)}catch(n){if(ie(n,e,"render"),"production"!==production.NODE_ENV&&e.$options.renderError)try{t=e.$options.renderError.call(e._renderProxy,e.$createElement,n)}catch(n){ie(n,e,"renderError"),t=e._vnode}else t=e._vnode}finally{yn=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof kt||("production"!==production.NODE_ENV&&Array.isArray(t)&&pt("Multiple root nodes returned from render function. Render function should return a single root node.",e),t=Ct()),t.parent=i,t}}(er);var sr=[String,RegExp,Array],lr={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:sr,exclude:sr,max:[String,Number]},methods:{cacheVNode:function(){var t=this.cache,e=this.keys,n=this.vnodeToCache,r=this.keyToCache;if(n){var i=n.tag,o=n.componentInstance,a=n.componentOptions;t[r]={name:rr(a),tag:i,componentInstance:o},e.push(r),this.max&&e.length>parseInt(this.max)&&ar(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)ar(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",function(e){or(t,function(t){return ir(e,t)})}),this.$watch("exclude",function(e){or(t,function(t){return!ir(e,t)})})},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=wn(t),n=e&&e.componentOptions;if(n){var r=rr(n),i=this.include,o=this.exclude;if(i&&(!r||!ir(i,r))||o&&r&&ir(o,r))return e;var a=this.cache,s=this.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;a[l]?(e.componentInstance=a[l].componentInstance,w(s,l),s.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return H}};"production"!==production.NODE_ENV&&(e.set=function(){pt("Do not replace the Vue.config object, set individual fields instead.")}),Object.defineProperty(t,"config",e),t.util={warn:pt,extend:D,mergeOptions:Wt,defineReactive:Mt},t.set=Lt,t.delete=Rt,t.nextTick=we,t.observable=function(t){return jt(t),t},t.options=Object.create(null),F.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,D(t.options.components,lr),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=$(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Wt(this.options,t),this}}(t),nr(t),function(t){F.forEach(function(e){t[e]=function(t,n){return n?("production"!==production.NODE_ENV&&"component"===e&&Ut(t),"component"===e&&d(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(er),Object.defineProperty(er.prototype,"$isServer",{get:st}),Object.defineProperty(er.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(er,"FunctionalRenderContext",{value:sn}),er.version="2.6.14";var cr=g("style,class"),ur=g("input,textarea,option,select,progress"),dr=function(t,e,n){return"value"===n&&ur(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},pr=g("contenteditable,draggable,spellcheck"),fr=g("events,caret,typing,plaintext-only"),hr=function(t,e){return br(e)||"false"===e?"false":"contenteditable"===t&&fr(e)?e:"true"},mr=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),vr="http://www.w3.org/1999/xlink",gr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},yr=function(t){return gr(t)?t.slice(6,t.length):""},br=function(t){return null==t||!1===t};function wr(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=_r(r.data,e));for(;o(n=n.parent);)n&&n.data&&(e=_r(e,n.data));return function(t,e){if(o(t)||o(e))return xr(t,kr(e));return""}(e.staticClass,e.class)}function _r(t,e){return{staticClass:xr(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function xr(t,e){return t?e?t+" "+e:t:e||""}function kr(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,i=t.length;r<i;r++)o(e=kr(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):l(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}var Sr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Cr=g("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Or=g("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Er=function(t){return Cr(t)||Or(t)};function Tr(t){return Or(t)?"svg":"math"===t?"math":void 0}var Ar=Object.create(null);var $r=g("text,number,password,search,email,tel,url");function Dr(t){if("string"==typeof t){var e=document.querySelector(t);return e||("production"!==production.NODE_ENV&&pt("Cannot find element: "+t),document.createElement("div"))}return t}var Nr=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(t,e){return document.createElementNS(Sr[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),Pr={create:function(t,e){jr(e)},update:function(t,e){t.data.ref!==e.data.ref&&(jr(t,!0),jr(e))},destroy:function(t){jr(t,!0)}};function jr(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?w(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var Mr=new kt("",{},[]),Lr=["create","activate","update","remove","destroy"];function Rr(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&function(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||$r(r)&&$r(i)}(t,e)||a(t.isAsyncPlaceholder)&&i(e.asyncFactory.error))}function Ir(t,e,n){var r,i,a={};for(r=e;r<=n;++r)o(i=t[r].key)&&(a[i]=r);return a}var Vr={create:Fr,update:Fr,destroy:function(t){Fr(t,Mr)}};function Fr(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,i,o=t===Mr,a=e===Mr,s=Hr(t.data.directives,t.context),l=Hr(e.data.directives,e.context),c=[],u=[];for(n in l)r=s[n],i=l[n],r?(i.oldValue=r.value,i.oldArg=r.arg,Ur(i,"update",e,t),i.def&&i.def.componentUpdated&&u.push(i)):(Ur(i,"bind",e,t),i.def&&i.def.inserted&&c.push(i));if(c.length){var d=function(){for(var n=0;n<c.length;n++)Ur(c[n],"inserted",e,t)};o?je(e,"insert",d):d()}u.length&&je(e,"postpatch",function(){for(var n=0;n<u.length;n++)Ur(u[n],"componentUpdated",e,t)});if(!o)for(n in s)l[n]||Ur(s[n],"unbind",t,t,a)}(t,e)}var Br=Object.create(null);function Hr(t,e){var n,r,i=Object.create(null);if(!t)return i;for(n=0;n<t.length;n++)(r=t[n]).modifiers||(r.modifiers=Br),i[zr(r)]=r,r.def=Yt(e.$options,"directives",r.name,!0);return i}function zr(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function Ur(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch(r){ie(r,n.context,"directive "+t.name+" "+e+" hook")}}var qr=[Pr,Vr];function Wr(t,e){var n=e.componentOptions;if(!(o(n)&&!1===n.Ctor.options.inheritAttrs||i(t.data.attrs)&&i(e.data.attrs))){var r,a,s=e.elm,l=t.data.attrs||{},c=e.data.attrs||{};for(r in o(c.__ob__)&&(c=e.data.attrs=D({},c)),c)a=c[r],l[r]!==a&&Yr(s,r,a,e.data.pre);for(r in(Q||et)&&c.value!==l.value&&Yr(s,"value",c.value),l)i(c[r])&&(gr(r)?s.removeAttributeNS(vr,yr(r)):pr(r)||s.removeAttribute(r))}}function Yr(t,e,n,r){r||t.tagName.indexOf("-")>-1?Gr(t,e,n):mr(e)?br(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):pr(e)?t.setAttribute(e,hr(e,n)):gr(e)?br(n)?t.removeAttributeNS(vr,yr(e)):t.setAttributeNS(vr,e,n):Gr(t,e,n)}function Gr(t,e,n){if(br(n))t.removeAttribute(e);else{if(Q&&!tt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Xr={create:Wr,update:Wr};function Kr(t,e){var n=e.elm,r=e.data,a=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=wr(e),l=n._transitionClasses;o(l)&&(s=xr(s,kr(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Jr,Zr,Qr,ti,ei,ni,ri,ii={create:Kr,update:Kr},oi=/[\w).+\-_$\]]/;function ai(t){var e,n,r,i,o,a=!1,s=!1,l=!1,c=!1,u=0,d=0,p=0,f=0;for(r=0;r<t.length;r++)if(n=e,e=t.charCodeAt(r),a)39===e&&92!==n&&(a=!1);else if(s)34===e&&92!==n&&(s=!1);else if(l)96===e&&92!==n&&(l=!1);else if(c)47===e&&92!==n&&(c=!1);else if(124!==e||124===t.charCodeAt(r+1)||124===t.charCodeAt(r-1)||u||d||p){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:l=!0;break;case 40:p++;break;case 41:p--;break;case 91:d++;break;case 93:d--;break;case 123:u++;break;case 125:u--}if(47===e){for(var h=r-1,m=void 0;h>=0&&" "===(m=t.charAt(h));h--);m&&oi.test(m)||(c=!0)}}else void 0===i?(f=r+1,i=t.slice(0,r).trim()):v();function v(){(o||(o=[])).push(t.slice(f,r).trim()),f=r+1}if(void 0===i?i=t.slice(0,r).trim():0!==f&&v(),o)for(r=0;r<o.length;r++)i=si(i,o[r]);return i}function si(t,e){var n=e.indexOf("(");if(n<0)return'_f("'+e+'")('+t+")";var r=e.slice(0,n),i=e.slice(n+1);return'_f("'+r+'")('+t+(")"!==i?","+i:i)}function li(t,e){console.error("[Vue compiler]: "+t)}function ci(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function ui(t,e,n,r,i){(t.props||(t.props=[])).push(wi({name:e,value:n,dynamic:i},r)),t.plain=!1}function di(t,e,n,r,i){(i?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(wi({name:e,value:n,dynamic:i},r)),t.plain=!1}function pi(t,e,n,r){t.attrsMap[e]=n,t.attrsList.push(wi({name:e,value:n},r))}function fi(t,e,n,r,i,o,a,s){(t.directives||(t.directives=[])).push(wi({name:e,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),t.plain=!1}function hi(t,e,n){return n?"_p("+e+',"'+t+'")':t+e}function mi(t,e,n,i,o,a,s,l){var c;i=i||r,"production"!==production.NODE_ENV&&a&&i.prevent&&i.passive&&a("passive and prevent can't be used together. Passive handler can't prevent default event.",s),i.right?l?e="("+e+")==='click'?'contextmenu':("+e+")":"click"===e&&(e="contextmenu",delete i.right):i.middle&&(l?e="("+e+")==='click'?'mouseup':("+e+")":"click"===e&&(e="mouseup")),i.capture&&(delete i.capture,e=hi("!",e,l)),i.once&&(delete i.once,e=hi("~",e,l)),i.passive&&(delete i.passive,e=hi("&",e,l)),i.native?(delete i.native,c=t.nativeEvents||(t.nativeEvents={})):c=t.events||(t.events={});var u=wi({value:n.trim(),dynamic:l},s);i!==r&&(u.modifiers=i);var d=c[e];Array.isArray(d)?o?d.unshift(u):d.push(u):c[e]=d?o?[u,d]:[d,u]:u,t.plain=!1}function vi(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}function gi(t,e,n){var r=yi(t,":"+e)||yi(t,"v-bind:"+e);if(null!=r)return ai(r);if(!1!==n){var i=yi(t,e);if(null!=i)return JSON.stringify(i)}}function yi(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var i=t.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===e){i.splice(o,1);break}return n&&delete t.attrsMap[e],r}function bi(t,e){for(var n=t.attrsList,r=0,i=n.length;r<i;r++){var o=n[r];if(e.test(o.name))return n.splice(r,1),o}}function wi(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function _i(t,e,n){var r=n||{},i=r.number,o="$$v";r.trim&&(o="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(o="_n("+o+")");var a=xi(e,o);t.model={value:"("+e+")",expression:JSON.stringify(e),callback:"function ($$v) {"+a+"}"}}function xi(t,e){var n=function(t){if(t=t.trim(),Jr=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<Jr-1)return(ti=t.lastIndexOf("."))>-1?{exp:t.slice(0,ti),key:'"'+t.slice(ti+1)+'"'}:{exp:t,key:null};Zr=t,ti=ei=ni=0;for(;!Si();)Ci(Qr=ki())?Ei(Qr):91===Qr&&Oi(Qr);return{exp:t.slice(0,ei),key:t.slice(ei+1,ni)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function ki(){return Zr.charCodeAt(++ti)}function Si(){return ti>=Jr}function Ci(t){return 34===t||39===t}function Oi(t){var e=1;for(ei=ti;!Si();)if(Ci(t=ki()))Ei(t);else if(91===t&&e++,93===t&&e--,0===e){ni=ti;break}}function Ei(t){for(var e=t;!Si()&&(t=ki())!==e;);}var Ti,Ai="__r",$i="__c";function Di(t,e,n){var r=Ti;return function i(){null!==e.apply(null,arguments)&&ji(t,i,n,r)}}var Ni=pe&&!(rt&&Number(rt[1])<=53);function Pi(t,e,n,r){if(Ni){var i=Vn,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}Ti.addEventListener(t,e,ot?{capture:n,passive:r}:n)}function ji(t,e,n,r){(r||Ti).removeEventListener(t,e._wrapper||e,n)}function Mi(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};Ti=e.elm,function(t){if(o(t[Ai])){var e=Q?"change":"input";t[e]=[].concat(t[Ai],t[e]||[]),delete t[Ai]}o(t[$i])&&(t.change=[].concat(t[$i],t.change||[]),delete t[$i])}(n),Pe(n,r,Pi,ji,Di,e.context),Ti=void 0}}var Li,Ri={create:Mi,update:Mi};function Ii(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,a=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};for(n in o(l.__ob__)&&(l=e.data.domProps=D({},l)),s)n in l||(a[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var c=i(r)?"":String(r);Vi(a,c)&&(a.value=c)}else if("innerHTML"===n&&Or(a.tagName)&&i(a.innerHTML)){(Li=Li||document.createElement("div")).innerHTML="<svg>"+r+"</svg>";for(var u=Li.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;u.firstChild;)a.appendChild(u.firstChild)}else if(r!==s[n])try{a[n]=r}catch(t){}}}}function Vi(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Fi={create:Ii,update:Ii},Bi=k(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function Hi(t){var e=zi(t.style);return t.staticStyle?D(t.staticStyle,e):e}function zi(t){return Array.isArray(t)?N(t):"string"==typeof t?Bi(t):t}var Ui,qi=/^--/,Wi=/\s*!important$/,Yi=function(t,e,n){if(qi.test(e))t.style.setProperty(e,n);else if(Wi.test(n))t.style.setProperty(T(e),n.replace(Wi,""),"important");else{var r=Xi(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},Gi=["Webkit","Moz","ms"],Xi=k(function(t){if(Ui=Ui||document.createElement("div").style,"filter"!==(t=C(t))&&t in Ui)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Gi.length;n++){var r=Gi[n]+e;if(r in Ui)return r}});function Ki(t,e){var n=e.data,r=t.data;if(!(i(n.staticStyle)&&i(n.style)&&i(r.staticStyle)&&i(r.style))){var a,s,l=e.elm,c=r.staticStyle,u=r.normalizedStyle||r.style||{},d=c||u,p=zi(e.data.style)||{};e.data.normalizedStyle=o(p.__ob__)?D({},p):p;var f=function(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Hi(i.data))&&D(r,n);(n=Hi(t.data))&&D(r,n);for(var o=t;o=o.parent;)o.data&&(n=Hi(o.data))&&D(r,n);return r}(e,!0);for(s in d)i(f[s])&&Yi(l,s,"");for(s in f)(a=f[s])!==d[s]&&Yi(l,s,null==a?"":a)}}var Ji={create:Ki,update:Ki},Zi=/\s+/;function Qi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Zi).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function to(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Zi).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function eo(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&D(e,no(t.name||"v")),D(e,t),e}return"string"==typeof t?no(t):void 0}}var no=k(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ro=X&&!tt,io="transition",oo="animation",ao="transition",so="transitionend",lo="animation",co="animationend";ro&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ao="WebkitTransition",so="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(lo="WebkitAnimation",co="webkitAnimationEnd"));var uo=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function po(t){uo(function(){uo(t)})}function fo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Qi(t,e))}function ho(t,e){t._transitionClasses&&w(t._transitionClasses,e),to(t,e)}function mo(t,e,n){var r=go(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===io?so:co,l=0,c=function(){t.removeEventListener(s,u),n()},u=function(e){e.target===t&&++l>=a&&c()};setTimeout(function(){l<a&&c()},o+1),t.addEventListener(s,u)}var vo=/\b(transform|all)(,|$)/;function go(t,e){var n,r=window.getComputedStyle(t),i=(r[ao+"Delay"]||"").split(", "),o=(r[ao+"Duration"]||"").split(", "),a=yo(i,o),s=(r[lo+"Delay"]||"").split(", "),l=(r[lo+"Duration"]||"").split(", "),c=yo(s,l),u=0,d=0;return e===io?a>0&&(n=io,u=a,d=o.length):e===oo?c>0&&(n=oo,u=c,d=l.length):d=(n=(u=Math.max(a,c))>0?a>c?io:oo:null)?n===io?o.length:l.length:0,{type:n,timeout:u,propCount:d,hasTransform:n===io&&vo.test(r[ao+"Property"])}}function yo(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return bo(e)+bo(t[n])}))}function bo(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function wo(t,e){var n=t.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var r=eo(t.data.transition);if(!i(r)&&!o(n._enterCb)&&1===n.nodeType){for(var a=r.css,s=r.type,c=r.enterClass,u=r.enterToClass,d=r.enterActiveClass,p=r.appearClass,f=r.appearToClass,h=r.appearActiveClass,m=r.beforeEnter,g=r.enter,y=r.afterEnter,b=r.enterCancelled,w=r.beforeAppear,_=r.appear,x=r.afterAppear,k=r.appearCancelled,S=r.duration,C=Cn,O=Cn.$vnode;O&&O.parent;)C=O.context,O=O.parent;var E=!C._isMounted||!t.isRootInsert;if(!E||_||""===_){var T=E&&p?p:c,A=E&&h?h:d,$=E&&f?f:u,D=E&&w||m,N=E&&"function"==typeof _?_:g,P=E&&x||y,j=E&&k||b,M=v(l(S)?S.enter:S);"production"!==production.NODE_ENV&&null!=M&&xo(M,"enter",t);var L=!1!==a&&!tt,R=So(N),V=n._enterCb=I(function(){L&&(ho(n,$),ho(n,A)),V.cancelled?(L&&ho(n,T),j&&j(n)):P&&P(n),n._enterCb=null});t.data.show||je(t,"insert",function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),N&&N(n,V)}),D&&D(n),L&&(fo(n,T),fo(n,A),po(function(){ho(n,T),V.cancelled||(fo(n,$),R||(ko(M)?setTimeout(V,M):mo(n,s,V)))})),t.data.show&&(e&&e(),N&&N(n,V)),L||R||V()}}}function _o(t,e){var n=t.elm;o(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=eo(t.data.transition);if(i(r)||1!==n.nodeType)return e();if(!o(n._leaveCb)){var a=r.css,s=r.type,c=r.leaveClass,u=r.leaveToClass,d=r.leaveActiveClass,p=r.beforeLeave,f=r.leave,h=r.afterLeave,m=r.leaveCancelled,g=r.delayLeave,y=r.duration,b=!1!==a&&!tt,w=So(f),_=v(l(y)?y.leave:y);"production"!==production.NODE_ENV&&o(_)&&xo(_,"leave",t);var x=n._leaveCb=I(function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),b&&(ho(n,u),ho(n,d)),x.cancelled?(b&&ho(n,c),m&&m(n)):(e(),h&&h(n)),n._leaveCb=null});g?g(k):k()}function k(){x.cancelled||(!t.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),p&&p(n),b&&(fo(n,c),fo(n,d),po(function(){ho(n,c),x.cancelled||(fo(n,u),w||(ko(_)?setTimeout(x,_):mo(n,s,x)))})),f&&f(n,x),b||w||x())}}function xo(t,e,n){"number"!=typeof t?pt("<transition> explicit "+e+" duration is not a valid number - got "+JSON.stringify(t)+".",n.context):isNaN(t)&&pt("<transition> explicit "+e+" duration is NaN - the duration expression might be incorrect.",n.context)}function ko(t){return"number"==typeof t&&!isNaN(t)}function So(t){if(i(t))return!1;var e=t.fns;return o(e)?So(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Co(t,e){!0!==e.data.show&&wo(e)}var Oo=function(t){var e,n,r={},l=t.modules,c=t.nodeOps;for(e=0;e<Lr.length;++e)for(r[Lr[e]]=[],n=0;n<l.length;++n)o(l[n][Lr[e]])&&r[Lr[e]].push(l[n][Lr[e]]);function u(t){var e=c.parentNode(t);o(e)&&c.removeChild(e,t)}function d(t,e){return!e&&!t.ns&&!(H.ignoredElements.length&&H.ignoredElements.some(function(e){return p(e)?e.test(t.tag):e===t.tag}))&&H.isUnknownElement(t.tag)}var f=0;function h(t,e,n,i,s,l,u){if(o(t.elm)&&o(l)&&(t=l[u]=Et(t)),t.isRootInsert=!s,!function(t,e,n,i){var s=t.data;if(o(s)){var l=o(t.componentInstance)&&s.keepAlive;if(o(s=s.hook)&&o(s=s.init)&&s(t,!1),o(t.componentInstance))return m(t,e),v(n,t.elm,i),a(l)&&function(t,e,n,i){for(var a,s=t;s.componentInstance;)if(s=s.componentInstance._vnode,o(a=s.data)&&o(a=a.transition)){for(a=0;a<r.activate.length;++a)r.activate[a](Mr,s);e.push(s);break}v(n,t.elm,i)}(t,e,n,i),!0}}(t,e,n,i)){var p=t.data,h=t.children,g=t.tag;o(g)?("production"!==production.NODE_ENV&&(p&&p.pre&&f++,d(t,f)&&pt("Unknown custom element: <"+g+'> - did you register the component correctly? For recursive components, make sure to provide the "name" option.',t.context)),t.elm=t.ns?c.createElementNS(t.ns,g):c.createElement(g,t),_(t),y(t,h,e),o(p)&&w(t,e),v(n,t.elm,i),"production"!==production.NODE_ENV&&p&&p.pre&&f--):a(t.isComment)?(t.elm=c.createComment(t.text),v(n,t.elm,i)):(t.elm=c.createTextNode(t.text),v(n,t.elm,i))}}function m(t,e){o(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(w(t,e),_(t)):(jr(t),e.push(t))}function v(t,e,n){o(t)&&(o(n)?c.parentNode(n)===t&&c.insertBefore(t,e,n):c.appendChild(t,e))}function y(t,e,n){if(Array.isArray(e)){"production"!==production.NODE_ENV&&O(e);for(var r=0;r<e.length;++r)h(e[r],n,t.elm,null,!0,e,r)}else s(t.text)&&c.appendChild(t.elm,c.createTextNode(String(t.text)))}function b(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return o(t.tag)}function w(t,n){for(var i=0;i<r.create.length;++i)r.create[i](Mr,t);o(e=t.data.hook)&&(o(e.create)&&e.create(Mr,t),o(e.insert)&&n.push(t))}function _(t){var e;if(o(e=t.fnScopeId))c.setStyleScope(t.elm,e);else for(var n=t;n;)o(e=n.context)&&o(e=e.$options._scopeId)&&c.setStyleScope(t.elm,e),n=n.parent;o(e=Cn)&&e!==t.context&&e!==t.fnContext&&o(e=e.$options._scopeId)&&c.setStyleScope(t.elm,e)}function x(t,e,n,r,i,o){for(;r<=i;++r)h(n[r],o,t,e,!1,n,r)}function k(t){var e,n,i=t.data;if(o(i))for(o(e=i.hook)&&o(e=e.destroy)&&e(t),e=0;e<r.destroy.length;++e)r.destroy[e](t);if(o(e=t.children))for(n=0;n<t.children.length;++n)k(t.children[n])}function S(t,e,n){for(;e<=n;++e){var r=t[e];o(r)&&(o(r.tag)?(C(r),k(r)):u(r.elm))}}function C(t,e){if(o(e)||o(t.data)){var n,i=r.remove.length+1;for(o(e)?e.listeners+=i:e=function(t,e){function n(){0==--n.listeners&&u(t)}return n.listeners=e,n}(t.elm,i),o(n=t.componentInstance)&&o(n=n._vnode)&&o(n.data)&&C(n,e),n=0;n<r.remove.length;++n)r.remove[n](t,e);o(n=t.data.hook)&&o(n=n.remove)?n(t,e):e()}else u(t.elm)}function O(t){for(var e={},n=0;n<t.length;n++){var r=t[n],i=r.key;o(i)&&(e[i]?pt("Duplicate keys detected: '"+i+"'. This may cause an update error.",r.context):e[i]=!0)}}function E(t,e,n,r){for(var i=n;i<r;i++){var a=e[i];if(o(a)&&Rr(t,a))return i}}function T(t,e,n,s,l,u){if(t!==e){o(e.elm)&&o(s)&&(e=s[l]=Et(e));var d=e.elm=t.elm;if(a(t.isAsyncPlaceholder))o(e.asyncFactory.resolved)?N(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(a(e.isStatic)&&a(t.isStatic)&&e.key===t.key&&(a(e.isCloned)||a(e.isOnce)))e.componentInstance=t.componentInstance;else{var p,f=e.data;o(f)&&o(p=f.hook)&&o(p=p.prepatch)&&p(t,e);var m=t.children,v=e.children;if(o(f)&&b(e)){for(p=0;p<r.update.length;++p)r.update[p](t,e);o(p=f.hook)&&o(p=p.update)&&p(t,e)}i(e.text)?o(m)&&o(v)?m!==v&&function(t,e,n,r,a){var s,l,u,d=0,p=0,f=e.length-1,m=e[0],v=e[f],g=n.length-1,y=n[0],b=n[g],w=!a;for("production"!==production.NODE_ENV&&O(n);d<=f&&p<=g;)i(m)?m=e[++d]:i(v)?v=e[--f]:Rr(m,y)?(T(m,y,r,n,p),m=e[++d],y=n[++p]):Rr(v,b)?(T(v,b,r,n,g),v=e[--f],b=n[--g]):Rr(m,b)?(T(m,b,r,n,g),w&&c.insertBefore(t,m.elm,c.nextSibling(v.elm)),m=e[++d],b=n[--g]):Rr(v,y)?(T(v,y,r,n,p),w&&c.insertBefore(t,v.elm,m.elm),v=e[--f],y=n[++p]):(i(s)&&(s=Ir(e,d,f)),i(l=o(y.key)?s[y.key]:E(y,e,d,f))?h(y,r,t,m.elm,!1,n,p):Rr(u=e[l],y)?(T(u,y,r,n,p),e[l]=void 0,w&&c.insertBefore(t,u.elm,m.elm)):h(y,r,t,m.elm,!1,n,p),y=n[++p]);d>f?x(t,i(n[g+1])?null:n[g+1].elm,n,p,g,r):p>g&&S(e,d,f)}(d,m,v,n,u):o(v)?("production"!==production.NODE_ENV&&O(v),o(t.text)&&c.setTextContent(d,""),x(d,null,v,0,v.length-1,n)):o(m)?S(m,0,m.length-1):o(t.text)&&c.setTextContent(d,""):t.text!==e.text&&c.setTextContent(d,e.text),o(f)&&o(p=f.hook)&&o(p=p.postpatch)&&p(t,e)}}}function A(t,e,n){if(a(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var $=!1,D=g("attrs,class,staticClass,staticStyle,key");function N(t,e,n,r){var i,s=e.tag,l=e.data,c=e.children;if(r=r||l&&l.pre,e.elm=t,a(e.isComment)&&o(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if("production"!==production.NODE_ENV&&!function(t,e,n){return o(e.tag)?0===e.tag.indexOf("vue-component")||!d(e,n)&&e.tag.toLowerCase()===(t.tagName&&t.tagName.toLowerCase()):t.nodeType===(e.isComment?8:3)}(t,e,r))return!1;if(o(l)&&(o(i=l.hook)&&o(i=i.init)&&i(e,!0),o(i=e.componentInstance)))return m(e,n),!0;if(o(s)){if(o(c))if(t.hasChildNodes())if(o(i=l)&&o(i=i.domProps)&&o(i=i.innerHTML)){if(i!==t.innerHTML)return"production"===production.NODE_ENV||"undefined"==typeof console||$||($=!0,console.warn("Parent: ",t),console.warn("server innerHTML: ",i),console.warn("client innerHTML: ",t.innerHTML)),!1}else{for(var u=!0,p=t.firstChild,f=0;f<c.length;f++){if(!p||!N(p,c[f],n,r)){u=!1;break}p=p.nextSibling}if(!u||p)return"production"===production.NODE_ENV||"undefined"==typeof console||$||($=!0,console.warn("Parent: ",t),console.warn("Mismatching childNodes vs. VNodes: ",t.childNodes,c)),!1}else y(e,c,n);if(o(l)){var h=!1;for(var v in l)if(!D(v)){h=!0,w(e,n);break}!h&&l.class&&$e(l.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,n,s){if(!i(e)){var l=!1,u=[];if(i(t))l=!0,h(e,u);else{var d=o(t.nodeType);if(!d&&Rr(t,e))T(t,e,u,null,null,s);else{if(d){if(1===t.nodeType&&t.hasAttribute(V)&&(t.removeAttribute(V),n=!0),a(n)){if(N(t,e,u))return A(e,u,!0),t;"production"!==production.NODE_ENV&&pt("The client-side rendered virtual DOM tree is not matching server-rendered content. This is likely caused by incorrect HTML markup, for example nesting block-level elements inside <p>, or missing <tbody>. Bailing hydration and performing full client-side render.")}t=function(t){return new kt(c.tagName(t).toLowerCase(),{},[],void 0,t)}(t)}var p=t.elm,f=c.parentNode(p);if(h(e,u,p._leaveCb?null:f,c.nextSibling(p)),o(e.parent))for(var m=e.parent,v=b(e);m;){for(var g=0;g<r.destroy.length;++g)r.destroy[g](m);if(m.elm=e.elm,v){for(var y=0;y<r.create.length;++y)r.create[y](Mr,m);var w=m.data.hook.insert;if(w.merged)for(var _=1;_<w.fns.length;_++)w.fns[_]()}else jr(m);m=m.parent}o(f)?S([t],0,0):o(t.tag)&&k(t)}}return A(e,u,l),e.elm}o(t)&&k(t)}}({nodeOps:Nr,modules:[Xr,ii,Ri,Fi,Ji,X?{create:Co,activate:Co,remove:function(t,e){!0!==t.data.show?_o(t,e):e()}}:{}].concat(qr)});tt&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&jo(t,"input")});var Eo={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?je(n,"postpatch",function(){Eo.componentUpdated(t,e,n)}):To(t,e,n.context),t._vOptions=[].map.call(t.options,Do)):("textarea"===n.tag||$r(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",No),t.addEventListener("compositionend",Po),t.addEventListener("change",Po),tt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){To(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,Do);if(i.some(function(t,e){return!L(t,r[e])}))(t.multiple?e.value.some(function(t){return $o(t,i)}):e.value!==e.oldValue&&$o(e.value,i))&&jo(t,"change")}}};function To(t,e,n){Ao(t,e,n),(Q||et)&&setTimeout(function(){Ao(t,e,n)},0)}function Ao(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,l=t.options.length;s<l;s++)if(a=t.options[s],i)o=R(r,Do(a))>-1,a.selected!==o&&(a.selected=o);else if(L(Do(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}else"production"!==production.NODE_ENV&&pt('<select multiple v-model="'+e.expression+'"> expects an Array value for its binding, but got '+Object.prototype.toString.call(r).slice(8,-1),n)}function $o(t,e){return e.every(function(e){return!L(e,t)})}function Do(t){return"_value"in t?t._value:t.value}function No(t){t.target.composing=!0}function Po(t){t.target.composing&&(t.target.composing=!1,jo(t.target,"input"))}function jo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Mo(t){return!t.componentInstance||t.data&&t.data.transition?t:Mo(t.componentInstance._vnode)}var Lo={model:Eo,show:{bind:function(t,e,n){var r=e.value,i=(n=Mo(n)).data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,wo(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=Mo(n)).data&&n.data.transition?(n.data.show=!0,r?wo(n,function(){t.style.display=t.__vOriginalDisplay}):_o(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}}},Ro={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Io(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Io(wn(e.children)):t}function Vo(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[C(o)]=i[o];return e}function Fo(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Bo=function(t){return t.tag||Be(t)},Ho=function(t){return"show"===t.name},zo={name:"transition",props:Ro,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Bo)).length){"production"!==production.NODE_ENV&&n.length>1&&pt("<transition> can only be used on a single element. Use <transition-group> for lists.",this.$parent);var r=this.mode;"production"!==production.NODE_ENV&&r&&"in-out"!==r&&"out-in"!==r&&pt("invalid <transition> mode: "+r,this.$parent);var i=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=Io(i);if(!o)return i;if(this._leaving)return Fo(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var l=(o.data||(o.data={})).transition=Vo(this),c=this._vnode,u=Io(c);if(o.data.directives&&o.data.directives.some(Ho)&&(o.data.show=!0),u&&u.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(o,u)&&!Be(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var d=u.data.transition=D({},l);if("out-in"===r)return this._leaving=!0,je(d,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Fo(t,i);if("in-out"===r){if(Be(o))return c;var p,f=function(){p()};je(l,"afterEnter",f),je(l,"enterCancelled",f),je(d,"delayLeave",function(t){p=t})}}return i}}},Uo=D({tag:String,moveClass:String},Ro);function qo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Wo(t){t.data.newPos=t.elm.getBoundingClientRect()}function Yo(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Uo.mode;var Go={Transition:zo,TransitionGroup:{props:Uo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var i=En(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Vo(this),s=0;s<i.length;s++){var l=i[s];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))o.push(l),n[l.key]=l,(l.data||(l.data={})).transition=a;else if("production"!==production.NODE_ENV){var c=l.componentOptions,u=c?c.Ctor.options.name||c.tag||"":l.tag;pt("<transition-group> children must be keyed: <"+u+">")}}if(r){for(var d=[],p=[],f=0;f<r.length;f++){var h=r[f];h.data.transition=a,h.data.pos=h.elm.getBoundingClientRect(),n[h.key]?d.push(h):p.push(h)}this.kept=t(e,null,d),this.removed=p}return t(e,null,o)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(qo),t.forEach(Wo),t.forEach(Yo),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;fo(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(so,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(so,t),n._moveCb=null,ho(n,e))})}}))},methods:{hasMove:function(t,e){if(!ro)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){to(n,t)}),Qi(n,e),n.style.display="none",this.$el.appendChild(n);var r=go(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};er.config.mustUseProp=dr,er.config.isReservedTag=Er,er.config.isReservedAttr=cr,er.config.getTagNamespace=Tr,er.config.isUnknownElement=function(t){if(!X)return!0;if(Er(t))return!1;if(t=t.toLowerCase(),null!=Ar[t])return Ar[t];var e=document.createElement(t);return t.indexOf("-")>-1?Ar[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ar[t]=/HTMLUnknownElement/.test(e.toString())},D(er.options.directives,Lo),D(er.options.components,Go),er.prototype.__patch__=X?Oo:P,er.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=Ct,"production"!==production.NODE_ENV&&(t.$options.template&&"#"!==t.$options.template.charAt(0)||t.$options.el||e?pt("You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.",t):pt("Failed to mount component: template or render function not defined.",t))),$n(t,"beforeMount"),r="production"!==production.NODE_ENV&&H.performance&&ce?function(){var e=t._name,r=t._uid,i="vue-perf-start:"+r,o="vue-perf-end:"+r;ce(i);var a=t._render();ce(o),ue("vue "+e+" render",i,o),ce(i),t._update(a,n),ce(o),ue("vue "+e+" patch",i,o)}:function(){t._update(t._render(),n)},new Un(t,r,P,{before:function(){t._isMounted&&!t._isDestroyed&&$n(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,$n(t,"mounted")),t}(this,t=t&&X?Dr(t):void 0,e)},X&&setTimeout(function(){H.devtools&&(lt?lt.emit("init",er):"production"!==production.NODE_ENV&&"test"!==production.NODE_ENV&&console[console.info?"info":"log"]("Download the Vue Devtools extension for a better development experience:\nhttps://github.com/vuejs/vue-devtools")),"production"!==production.NODE_ENV&&"test"!==production.NODE_ENV&&!1!==H.productionTip&&"undefined"!=typeof console&&console[console.info?"info":"log"]("You are running Vue in development mode.\nMake sure to turn on production mode when deploying for production.\nSee more tips at https://vuejs.org/guide/deployment.html")},0);var Xo=/\{\{((?:.|\r?\n)+?)\}\}/g,Ko=/[-.*+?^${}()|[\]\/\\]/g,Jo=k(function(t){var e=t[0].replace(Ko,"\\$&"),n=t[1].replace(Ko,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")});function Zo(t,e){var n=e?Jo(e):Xo;if(n.test(t)){for(var r,i,o,a=[],s=[],l=n.lastIndex=0;r=n.exec(t);){(i=r.index)>l&&(s.push(o=t.slice(l,i)),a.push(JSON.stringify(o)));var c=ai(r[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),l=i+r[0].length}return l<t.length&&(s.push(o=t.slice(l)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}var Qo={staticKeys:["staticClass"],transformNode:function(t,e){var n=e.warn||li,r=yi(t,"class");"production"!==production.NODE_ENV&&r&&Zo(r,e.delimiters)&&n('class="'+r+'": Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of <div class="{{ val }}">, use <div :class="val">.',t.rawAttrsMap.class),r&&(t.staticClass=JSON.stringify(r));var i=gi(t,"class",!1);i&&(t.classBinding=i)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}};var ta,ea={staticKeys:["staticStyle"],transformNode:function(t,e){var n=e.warn||li,r=yi(t,"style");r&&("production"!==production.NODE_ENV&&Zo(r,e.delimiters)&&n('style="'+r+'": Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of <div style="{{ val }}">, use <div :style="val">.',t.rawAttrsMap.style),t.staticStyle=JSON.stringify(Bi(r)));var i=gi(t,"style",!1);i&&(t.styleBinding=i)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},na=function(t){return(ta=ta||document.createElement("div")).innerHTML=t,ta.textContent},ra=g("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ia=g("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),oa=g("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),aa=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,sa=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,la="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+z.source+"]*",ca="((?:"+la+"\\:)?"+la+")",ua=new RegExp("^<"+ca),da=/^\s*(\/?)>/,pa=new RegExp("^<\\/"+ca+"[^>]*>"),fa=/^<!DOCTYPE [^>]+>/i,ha=/^<!\--/,ma=/^<!\[/,va=g("script,style,textarea",!0),ga={},ya={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},ba=/&(?:lt|gt|quot|amp|#39);/g,wa=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,_a=g("pre,textarea",!0),xa=function(t,e){return t&&_a(t)&&"\n"===e[0]};function ka(t,e){var n=e?wa:ba;return t.replace(n,function(t){return ya[t]})}var Sa,Ca,Oa,Ea,Ta,Aa,$a,Da,Na,Pa=/^@|^v-on:/,ja=/^v-|^@|^:|^#/,Ma=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,La=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Ra=/^\(|\)$/g,Ia=/^\[.*\]$/,Va=/:(.*)$/,Fa=/^:|^\.|^v-bind:/,Ba=/\.[^.\]]+(?=[^\]]*$)/g,Ha=/^v-slot(:|$)|^#/,za=/[\r\n]/,Ua=/[ \f\t\r\n]+/g,qa=/[\s"'<>\/=]/,Wa=k(na),Ya="_empty_";function Ga(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n<r;n++)"production"===production.NODE_ENV||!e[t[n].name]||Q||et||Sa("duplicate attribute: "+t[n].name,t[n]),e[t[n].name]=t[n].value;return e}(e),rawAttrsMap:{},parent:n,children:[]}}function Xa(t,e){Sa=e.warn||li,Aa=e.isPreTag||j,$a=e.mustUseProp||j,Da=e.getTagNamespace||j;var n=e.isReservedTag||j;Na=function(t){return!(!(t.component||t.attrsMap[":is"]||t.attrsMap["v-bind:is"])&&(t.attrsMap.is?n(t.attrsMap.is):n(t.tag)))},Oa=ci(e.modules,"transformNode"),Ea=ci(e.modules,"preTransformNode"),Ta=ci(e.modules,"postTransformNode"),Ca=e.delimiters;var r,i,o=[],a=!1!==e.preserveWhitespace,s=e.whitespace,l=!1,c=!1,u=!1;function d(t,e){u||(u=!0,Sa(t,e))}function p(t){if(f(t),l||t.processed||(t=Ka(t,e)),o.length||t===r||(r.if&&(t.elseif||t.else)?("production"!==production.NODE_ENV&&h(t),Za(r,{exp:t.elseif,block:t})):"production"!==production.NODE_ENV&&d("Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.",{start:t.start})),i&&!t.forbidden)if(t.elseif||t.else)!function(t,e){var n=function(t){var e=t.length;for(;e--;){if(1===t[e].type)return t[e];"production"!==production.NODE_ENV&&" "!==t[e].text&&Sa('text "'+t[e].text.trim()+'" between v-if and v-else(-if) will be ignored.',t[e]),t.pop()}}(e.children);n&&n.if?Za(n,{exp:t.elseif,block:t}):"production"!==production.NODE_ENV&&Sa("v-"+(t.elseif?'else-if="'+t.elseif+'"':"else")+" used on element <"+t.tag+"> without corresponding v-if.",t.rawAttrsMap[t.elseif?"v-else-if":"v-else"])}(t,i);else{if(t.slotScope){var n=t.slotTarget||'"default"';(i.scopedSlots||(i.scopedSlots={}))[n]=t}i.children.push(t),t.parent=i}t.children=t.children.filter(function(t){return!t.slotScope}),f(t),t.pre&&(l=!1),Aa(t.tag)&&(c=!1);for(var a=0;a<Ta.length;a++)Ta[a](t,e)}function f(t){if(!c)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}function h(t){"slot"!==t.tag&&"template"!==t.tag||d("Cannot use <"+t.tag+"> as component root element because it may contain multiple nodes.",{start:t.start}),t.attrsMap.hasOwnProperty("v-for")&&d("Cannot use v-for on stateful component root element because it renders multiple elements.",t.rawAttrsMap["v-for"])}return function(t,e){for(var n,r,i=[],o=e.expectHTML,a=e.isUnaryTag||j,s=e.canBeLeftOpenTag||j,l=0;t;){if(n=t,r&&va(r)){var c=0,u=r.toLowerCase(),d=ga[u]||(ga[u]=new RegExp("([\\s\\S]*?)(</"+u+"[^>]*>)","i")),p=t.replace(d,function(t,n,r){return c=r.length,va(u)||"noscript"===u||(n=n.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),xa(u,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});l+=t.length-p.length,t=p,O(u,l-c,l)}else{var f=t.indexOf("<");if(0===f){if(ha.test(t)){var h=t.indexOf("--\x3e");if(h>=0){e.shouldKeepComment&&e.comment(t.substring(4,h),l,l+h+3),k(h+3);continue}}if(ma.test(t)){var m=t.indexOf("]>");if(m>=0){k(m+2);continue}}var v=t.match(fa);if(v){k(v[0].length);continue}var g=t.match(pa);if(g){var y=l;k(g[0].length),O(g[1],y,l);continue}var b=S();if(b){C(b),xa(b.tagName,t)&&k(1);continue}}var w=void 0,_=void 0,x=void 0;if(f>=0){for(_=t.slice(f);!(pa.test(_)||ua.test(_)||ha.test(_)||ma.test(_)||(x=_.indexOf("<",1))<0);)f+=x,_=t.slice(f);w=t.substring(0,f)}f<0&&(w=t),w&&k(w.length),e.chars&&w&&e.chars(w,l-w.length,l)}if(t===n){e.chars&&e.chars(t),"production"!==production.NODE_ENV&&!i.length&&e.warn&&e.warn('Mal-formatted tag at end of template: "'+t+'"',{start:l+t.length});break}}function k(e){l+=e,t=t.substring(e)}function S(){var e=t.match(ua);if(e){var n,r,i={tagName:e[1],attrs:[],start:l};for(k(e[0].length);!(n=t.match(da))&&(r=t.match(sa)||t.match(aa));)r.start=l,k(r[0].length),r.end=l,i.attrs.push(r);if(n)return i.unarySlash=n[1],k(n[0].length),i.end=l,i}}function C(t){var n=t.tagName,l=t.unarySlash;o&&("p"===r&&oa(n)&&O(r),s(n)&&r===n&&O(n));for(var c=a(n)||!!l,u=t.attrs.length,d=new Array(u),p=0;p<u;p++){var f=t.attrs[p],h=f[3]||f[4]||f[5]||"",m="a"===n&&"href"===f[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;d[p]={name:f[1],value:ka(h,m)},"production"!==production.NODE_ENV&&e.outputSourceRange&&(d[p].start=f.start+f[0].match(/^\s*/).length,d[p].end=f.end)}c||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:d,start:t.start,end:t.end}),r=n),e.start&&e.start(n,d,c,t.start,t.end)}function O(t,n,o){var a,s;if(null==n&&(n=l),null==o&&(o=l),t)for(s=t.toLowerCase(),a=i.length-1;a>=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)"production"!==production.NODE_ENV&&(c>a||!t)&&e.warn&&e.warn("tag <"+i[c].tag+"> has no matching end tag.",{start:i[c].start,end:i[c].end}),e.end&&e.end(i[c].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,o):"p"===s&&(e.start&&e.start(t,[],!1,n,o),e.end&&e.end(t,n,o))}O()}(t,{warn:Sa,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,outputSourceRange:e.outputSourceRange,start:function(t,n,a,s,u){var d=i&&i.ns||Da(t);Q&&"svg"===d&&(n=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];es.test(r.name)||(r.name=r.name.replace(ns,""),e.push(r))}return e}(n));var f=Ga(t,n,i);d&&(f.ns=d),"production"!==production.NODE_ENV&&(e.outputSourceRange&&(f.start=s,f.end=u,f.rawAttrsMap=f.attrsList.reduce(function(t,e){return t[e.name]=e,t},{})),n.forEach(function(t){qa.test(t.name)&&Sa("Invalid dynamic argument expression: attribute names cannot contain spaces, quotes, <, >, / or =.",{start:t.start+t.name.indexOf("["),end:t.start+t.name.length})})),function(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.type||"text/javascript"===t.attrsMap.type)}(f)&&!st()&&(f.forbidden=!0,"production"!==production.NODE_ENV&&Sa("Templates should only be responsible for mapping the state to the UI. Avoid placing tags with side-effects in your templates, such as <"+t+">, as they will not be parsed.",{start:f.start}));for(var m=0;m<Ea.length;m++)f=Ea[m](f,e)||f;l||(!function(t){null!=yi(t,"v-pre")&&(t.pre=!0)}(f),f.pre&&(l=!0)),Aa(f.tag)&&(c=!0),l?function(t){var e=t.attrsList,n=e.length;if(n)for(var r=t.attrs=new Array(n),i=0;i<n;i++)r[i]={name:e[i].name,value:JSON.stringify(e[i].value)},null!=e[i].start&&(r[i].start=e[i].start,r[i].end=e[i].end);else t.pre||(t.plain=!0)}(f):f.processed||(Ja(f),function(t){var e=yi(t,"v-if");if(e)t.if=e,Za(t,{exp:e,block:t});else{null!=yi(t,"v-else")&&(t.else=!0);var n=yi(t,"v-else-if");n&&(t.elseif=n)}}(f),function(t){null!=yi(t,"v-once")&&(t.once=!0)}(f)),r||(r=f,"production"!==production.NODE_ENV&&h(r)),a?p(f):(i=f,o.push(f))},end:function(t,n,r){var a=o[o.length-1];o.length-=1,i=o[o.length-1],"production"!==production.NODE_ENV&&e.outputSourceRange&&(a.end=r),p(a)},chars:function(n,r,o){if(i){if(!Q||"textarea"!==i.tag||i.attrsMap.placeholder!==n){var u,p,f=i.children;if(n=c||n.trim()?function(t){return"script"===t.tag||"style"===t.tag}(i)?n:Wa(n):f.length?s?"condense"===s&&za.test(n)?"":" ":a?" ":"":"")c||"condense"!==s||(n=n.replace(Ua," ")),!l&&" "!==n&&(u=Zo(n,Ca))?p={type:2,expression:u.expression,tokens:u.tokens,text:n}:" "===n&&f.length&&" "===f[f.length-1].text||(p={type:3,text:n}),p&&("production"!==production.NODE_ENV&&e.outputSourceRange&&(p.start=r,p.end=o),f.push(p))}}else"production"!==production.NODE_ENV&&(n===t?d("Component template requires a root element, rather than just text.",{start:r}):(n=n.trim())&&d('text "'+n+'" outside root element will be ignored.',{start:r}))},comment:function(t,n,r){if(i){var o={type:3,text:t,isComment:!0};"production"!==production.NODE_ENV&&e.outputSourceRange&&(o.start=n,o.end=r),i.children.push(o)}}}),r}function Ka(t,e){!function(t){var e=gi(t,"key");if(e){if("production"!==production.NODE_ENV&&("template"===t.tag&&Sa("<template> cannot be keyed. Place the key on real elements instead.",vi(t,"key")),t.for)){var n=t.iterator2||t.iterator1,r=t.parent;n&&n===e&&r&&"transition-group"===r.tag&&Sa("Do not use v-for index as key on <transition-group> children, this is the same as not using keys.",vi(t,"key"),!0)}t.key=e}}(t),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,function(t){var e=gi(t,"ref");e&&(t.ref=e,t.refInFor=function(t){var e=t;for(;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}(t))}(t),function(t){var e;"template"===t.tag?(e=yi(t,"scope"),"production"!==production.NODE_ENV&&e&&Sa('the "scope" attribute for scoped slots have been deprecated and replaced by "slot-scope" since 2.5. The new "slot-scope" attribute can also be used on plain elements in addition to <template> to denote scoped slots.',t.rawAttrsMap.scope,!0),t.slotScope=e||yi(t,"slot-scope")):(e=yi(t,"slot-scope"))&&("production"!==production.NODE_ENV&&t.attrsMap["v-for"]&&Sa("Ambiguous combined usage of slot-scope and v-for on <"+t.tag+"> (v-for takes higher priority). Use a wrapper <template> for the scoped slot to make it clearer.",t.rawAttrsMap["slot-scope"],!0),t.slotScope=e);var n=gi(t,"slot");n&&(t.slotTarget='""'===n?'"default"':n,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||di(t,"slot",n,vi(t,"slot")));if("template"===t.tag){var r=bi(t,Ha);if(r){"production"!==production.NODE_ENV&&((t.slotTarget||t.slotScope)&&Sa("Unexpected mixed usage of different slot syntaxes.",t),t.parent&&!Na(t.parent)&&Sa("<template v-slot> can only appear at the root level inside the receiving component",t));var i=Qa(r),o=i.name,a=i.dynamic;t.slotTarget=o,t.slotTargetDynamic=a,t.slotScope=r.value||Ya}}else{var s=bi(t,Ha);if(s){"production"!==production.NODE_ENV&&(Na(t)||Sa("v-slot can only be used on components or <template>.",s),(t.slotScope||t.slotTarget)&&Sa("Unexpected mixed usage of different slot syntaxes.",t),t.scopedSlots&&Sa("To avoid scope ambiguity, the default slot should also use <template> syntax when there are other named slots.",s));var l=t.scopedSlots||(t.scopedSlots={}),c=Qa(s),u=c.name,d=c.dynamic,p=l[u]=Ga("template",[],t);p.slotTarget=u,p.slotTargetDynamic=d,p.children=t.children.filter(function(t){if(!t.slotScope)return t.parent=p,!0}),p.slotScope=s.value||Ya,t.children=[],t.plain=!1}}}(t),function(t){"slot"===t.tag&&(t.slotName=gi(t,"name"),"production"!==production.NODE_ENV&&t.key&&Sa("`key` does not work on <slot> because slots are abstract outlets and can possibly expand into multiple elements. Use the key on a wrapping element instead.",vi(t,"key")))}(t),function(t){var e;(e=gi(t,"is"))&&(t.component=e);null!=yi(t,"inline-template")&&(t.inlineTemplate=!0)}(t);for(var n=0;n<Oa.length;n++)t=Oa[n](t,e)||t;return function(t){var e,n,r,i,o,a,s,l,c=t.attrsList;for(e=0,n=c.length;e<n;e++)if(r=i=c[e].name,o=c[e].value,ja.test(r))if(t.hasBindings=!0,(a=ts(r.replace(ja,"")))&&(r=r.replace(Ba,"")),Fa.test(r))r=r.replace(Fa,""),o=ai(o),(l=Ia.test(r))&&(r=r.slice(1,-1)),"production"!==production.NODE_ENV&&0===o.trim().length&&Sa('The value for a v-bind expression cannot be empty. Found in "v-bind:'+r+'"'),a&&(a.prop&&!l&&"innerHtml"===(r=C(r))&&(r="innerHTML"),a.camel&&!l&&(r=C(r)),a.sync&&(s=xi(o,"$event"),l?mi(t,'"update:"+('+r+")",s,null,!1,Sa,c[e],!0):(mi(t,"update:"+C(r),s,null,!1,Sa,c[e]),T(r)!==C(r)&&mi(t,"update:"+T(r),s,null,!1,Sa,c[e])))),a&&a.prop||!t.component&&$a(t.tag,t.attrsMap.type,r)?ui(t,r,o,c[e],l):di(t,r,o,c[e],l);else if(Pa.test(r))r=r.replace(Pa,""),(l=Ia.test(r))&&(r=r.slice(1,-1)),mi(t,r,o,a,!1,Sa,c[e],l);else{var u=(r=r.replace(ja,"")).match(Va),d=u&&u[1];l=!1,d&&(r=r.slice(0,-(d.length+1)),Ia.test(d)&&(d=d.slice(1,-1),l=!0)),fi(t,r,i,o,d,l,a,c[e]),"production"!==production.NODE_ENV&&"model"===r&&rs(t,o)}else{if("production"!==production.NODE_ENV){var p=Zo(o,Ca);p&&Sa(r+'="'+o+'": Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of <div id="{{ val }}">, use <div :id="val">.',c[e])}di(t,r,JSON.stringify(o),c[e]),!t.component&&"muted"===r&&$a(t.tag,t.attrsMap.type,r)&&ui(t,r,"true",c[e])}}(t),t}function Ja(t){var e;if(e=yi(t,"v-for")){var n=function(t){var e=t.match(Ma);if(!e)return;var n={};n.for=e[2].trim();var r=e[1].trim().replace(Ra,""),i=r.match(La);i?(n.alias=r.replace(La,"").trim(),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r;return n}(e);n?D(t,n):"production"!==production.NODE_ENV&&Sa("Invalid v-for expression: "+e,t.rawAttrsMap["v-for"])}}function Za(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function Qa(t){var e=t.name.replace(Ha,"");return e||("#"!==t.name[0]?e="default":"production"!==production.NODE_ENV&&Sa("v-slot shorthand syntax requires a slot name.",t)),Ia.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'+e+'"',dynamic:!1}}function ts(t){var e=t.match(Ba);if(e){var n={};return e.forEach(function(t){n[t.slice(1)]=!0}),n}}var es=/^xmlns:NS\d+/,ns=/^NS\d+:/;function rs(t,e){for(var n=t;n;)n.for&&n.alias===e&&Sa("<"+t.tag+' v-model="'+e+'">: You are binding v-model directly to a v-for iteration alias. This will not be able to modify the v-for source array because writing to the alias is like modifying a function local variable. Consider using an array of objects and use v-model on an object property instead.',t.rawAttrsMap["v-model"]),n=n.parent}function is(t){return Ga(t.tag,t.attrsList.slice(),t.parent)}var os=[Qo,ea,{preTransformNode:function(t,e){if("input"===t.tag){var n,r=t.attrsMap;if(!r["v-model"])return;if((r[":type"]||r["v-bind:type"])&&(n=gi(t,"type")),r.type||n||!r["v-bind"]||(n="("+r["v-bind"]+").type"),n){var i=yi(t,"v-if",!0),o=i?"&&("+i+")":"",a=null!=yi(t,"v-else",!0),s=yi(t,"v-else-if",!0),l=is(t);Ja(l),pi(l,"type","checkbox"),Ka(l,e),l.processed=!0,l.if="("+n+")==='checkbox'"+o,Za(l,{exp:l.if,block:l});var c=is(t);yi(c,"v-for",!0),pi(c,"type","radio"),Ka(c,e),Za(l,{exp:"("+n+")==='radio'"+o,block:c});var u=is(t);return yi(u,"v-for",!0),pi(u,":type",n),Ka(u,e),Za(l,{exp:i,block:u}),a?l.else=!0:s&&(l.elseif=s),l}}}}];var as,ss,ls={expectHTML:!0,modules:os,directives:{model:function(t,e,n){ri=n;var r=e.value,i=e.modifiers,o=t.tag,a=t.attrsMap.type;if("production"!==production.NODE_ENV&&"input"===o&&"file"===a&&ri("<"+t.tag+' v-model="'+r+'" type="file">:\nFile inputs are read only. Use a v-on:change listener instead.',t.rawAttrsMap["v-model"]),t.component)return _i(t,r,i),!1;if("select"===o)!function(t,e,n){var r='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(n&&n.number?"_n(val)":"val")+"});";r=r+" "+xi(e,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),mi(t,"change",r,null,!0)}(t,r,i);else if("input"===o&&"checkbox"===a)!function(t,e,n){var r=n&&n.number,i=gi(t,"value")||"null",o=gi(t,"true-value")||"true",a=gi(t,"false-value")||"false";ui(t,"checked","Array.isArray("+e+")?_i("+e+","+i+")>-1"+("true"===o?":("+e+")":":_q("+e+","+o+")")),mi(t,"change","var $$a="+e+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+xi(e,"$$a.concat([$$v])")+")}else{$$i>-1&&("+xi(e,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+xi(e,"$$c")+"}",null,!0)}(t,r,i);else if("input"===o&&"radio"===a)!function(t,e,n){var r=n&&n.number,i=gi(t,"value")||"null";ui(t,"checked","_q("+e+","+(i=r?"_n("+i+")":i)+")"),mi(t,"change",xi(e,i),null,!0)}(t,r,i);else if("input"===o||"textarea"===o)!function(t,e,n){var r=t.attrsMap.type;if("production"!==production.NODE_ENV){var i=t.attrsMap["v-bind:value"]||t.attrsMap[":value"],o=t.attrsMap["v-bind:type"]||t.attrsMap[":type"];if(i&&!o){var a=t.attrsMap["v-bind:value"]?"v-bind:value":":value";ri(a+'="'+i+'" conflicts with v-model on the same element because the latter already expands to a value binding internally',t.rawAttrsMap[a])}}var s=n||{},l=s.lazy,c=s.number,u=s.trim,d=!l&&"range"!==r,p=l?"change":"range"===r?Ai:"input",f="$event.target.value";u&&(f="$event.target.value.trim()"),c&&(f="_n("+f+")");var h=xi(e,f);d&&(h="if($event.target.composing)return;"+h),ui(t,"value","("+e+")"),mi(t,p,h,null,!0),(u||c)&&mi(t,"blur","$forceUpdate()")}(t,r,i);else{if(!H.isReservedTag(o))return _i(t,r,i),!1;"production"!==production.NODE_ENV&&ri("<"+t.tag+' v-model="'+r+"\">: v-model is not supported on this element type. If you are working with contenteditable, it's recommended to wrap a library dedicated for that purpose inside a custom component.",t.rawAttrsMap["v-model"])}return!0},text:function(t,e){e.value&&ui(t,"textContent","_s("+e.value+")",e)},html:function(t,e){e.value&&ui(t,"innerHTML","_s("+e.value+")",e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:ra,mustUseProp:dr,canBeLeftOpenTag:ia,isReservedTag:Er,getTagNamespace:Tr,staticKeys:function(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")}(os)},cs=k(function(t){return g("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))});function us(t,e){t&&(as=cs(e.staticKeys||""),ss=e.isReservedTag||j,function t(e){e.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||y(t.tag)||!ss(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(as)))}(e);if(1===e.type){if(!ss(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var n=0,r=e.children.length;n<r;n++){var i=e.children[n];t(i),i.static||(e.static=!1)}if(e.ifConditions)for(var o=1,a=e.ifConditions.length;o<a;o++){var s=e.ifConditions[o].block;t(s),s.static||(e.static=!1)}}}(t),function t(e,n){if(1===e.type){if((e.static||e.once)&&(e.staticInFor=n),e.static&&e.children.length&&(1!==e.children.length||3!==e.children[0].type))return void(e.staticRoot=!0);if(e.staticRoot=!1,e.children)for(var r=0,i=e.children.length;r<i;r++)t(e.children[r],n||!!e.for);if(e.ifConditions)for(var o=1,a=e.ifConditions.length;o<a;o++)t(e.ifConditions[o].block,n)}}(t,!1))}var ds=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,ps=/\([^)]*?\);*$/,fs=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,hs={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ms={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},vs=function(t){return"if("+t+")return null;"},gs={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:vs("$event.target !== $event.currentTarget"),ctrl:vs("!$event.ctrlKey"),shift:vs("!$event.shiftKey"),alt:vs("!$event.altKey"),meta:vs("!$event.metaKey"),left:vs("'button' in $event && $event.button !== 0"),middle:vs("'button' in $event && $event.button !== 1"),right:vs("'button' in $event && $event.button !== 2")};function ys(t,e){var n=e?"nativeOn:":"on:",r="",i="";for(var o in t){var a=bs(t[o]);t[o]&&t[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function bs(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map(function(t){return bs(t)}).join(",")+"]";var e=fs.test(t.value),n=ds.test(t.value),r=fs.test(t.value.replace(ps,""));if(t.modifiers){var i="",o="",a=[];for(var s in t.modifiers)if(gs[s])o+=gs[s],hs[s]&&a.push(s);else if("exact"===s){var l=t.modifiers;o+=vs(["ctrl","shift","alt","meta"].filter(function(t){return!l[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(s);return a.length&&(i+=function(t){return"if(!$event.type.indexOf('key')&&"+t.map(ws).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(e?"return "+t.value+".apply(null, arguments)":n?"return ("+t.value+").apply(null, arguments)":r?"return "+t.value:t.value)+"}"}return e||n?t.value:"function($event){"+(r?"return "+t.value:t.value)+"}"}function ws(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=hs[t],r=ms[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var _s={on:function(t,e){"production"!==production.NODE_ENV&&e.modifiers&&pt("v-on without argument does not support modifiers."),t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:P},xs=function(t){this.options=t,this.warn=t.warn||li,this.transforms=ci(t.modules,"transformCode"),this.dataGenFns=ci(t.modules,"genData"),this.directives=D(D({},_s),t.directives);var e=t.isReservedTag||j;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function ks(t,e){var n=new xs(e);return{render:"with(this){return "+(t?"script"===t.tag?"null":Ss(t,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function Ss(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Cs(t,e);if(t.once&&!t.onceProcessed)return Os(t,e);if(t.for&&!t.forProcessed)return Ts(t,e);if(t.if&&!t.ifProcessed)return Es(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=Ns(t,e),i="_t("+n+(r?",function(){return "+r+"}":""),o=t.attrs||t.dynamicAttrs?Ms((t.attrs||[]).concat(t.dynamicAttrs||[]).map(function(t){return{name:C(t.name),value:t.value,dynamic:t.dynamic}})):null,a=t.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,e);var n;if(t.component)n=function(t,e,n){var r=e.inlineTemplate?null:Ns(e,n,!0);return"_c("+t+","+As(e,n)+(r?","+r:"")+")"}(t.component,t,e);else{var r;(!t.plain||t.pre&&e.maybeComponent(t))&&(r=As(t,e));var i=t.inlineTemplate?null:Ns(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o<e.transforms.length;o++)n=e.transforms[o](t,n);return n}return Ns(t,e)||"void 0"}function Cs(t,e){t.staticProcessed=!0;var n=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return "+Ss(t,e)+"}"),e.pre=n,"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function Os(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return Es(t,e);if(t.staticInFor){for(var n="",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+Ss(t,e)+","+e.onceId+++","+n+")":("production"!==production.NODE_ENV&&e.warn("v-once can only be used inside v-for that is keyed. ",t.rawAttrsMap["v-once"]),Ss(t,e))}return Cs(t,e)}function Es(t,e,n,r){return t.ifProcessed=!0,function t(e,n,r,i){if(!e.length)return i||"_e()";var o=e.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+t(e,n,r,i):""+a(o.block);function a(t){return r?r(t,n):t.once?Os(t,n):Ss(t,n)}}(t.ifConditions.slice(),e,n,r)}function Ts(t,e,n,r){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return"production"!==production.NODE_ENV&&e.maybeComponent(t)&&"slot"!==t.tag&&"template"!==t.tag&&!t.key&&e.warn("<"+t.tag+' v-for="'+o+" in "+i+'">: component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide/list.html#key for more info.',t.rawAttrsMap["v-for"],!0),t.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||Ss)(t,e)+"})"}function As(t,e){var n="{",r=function(t,e){var n=t.directives;if(!n)return;var r,i,o,a,s="directives:[",l=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var c=e.directives[o.name];c&&(a=!!c(t,o,e.warn)),a&&(l=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?",arg:"+(o.isDynamicArg?o.arg:'"'+o.arg+'"'):"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(l)return s.slice(0,-1)+"]"}(t,e);r&&(n+=r+","),t.key&&(n+="key:"+t.key+","),t.ref&&(n+="ref:"+t.ref+","),t.refInFor&&(n+="refInFor:true,"),t.pre&&(n+="pre:true,"),t.component&&(n+='tag:"'+t.tag+'",');for(var i=0;i<e.dataGenFns.length;i++)n+=e.dataGenFns[i](t);if(t.attrs&&(n+="attrs:"+Ms(t.attrs)+","),t.props&&(n+="domProps:"+Ms(t.props)+","),t.events&&(n+=ys(t.events,!1)+","),t.nativeEvents&&(n+=ys(t.nativeEvents,!0)+","),t.slotTarget&&!t.slotScope&&(n+="slot:"+t.slotTarget+","),t.scopedSlots&&(n+=function(t,e,n){var r=t.for||Object.keys(e).some(function(t){var n=e[t];return n.slotTargetDynamic||n.if||n.for||$s(n)}),i=!!t.if;if(!r)for(var o=t.parent;o;){if(o.slotScope&&o.slotScope!==Ya||o.for){r=!0;break}o.if&&(i=!0),o=o.parent}var a=Object.keys(e).map(function(t){return Ds(e[t],n)}).join(",");return"scopedSlots:_u(["+a+"]"+(r?",null,true":"")+(!r&&i?",null,false,"+function(t){var e=5381,n=t.length;for(;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(a):"")+")"}(t,t.scopedSlots,e)+","),t.model&&(n+="model:{value:"+t.model.value+",callback:"+t.model.callback+",expression:"+t.model.expression+"},"),t.inlineTemplate){var o=function(t,e){var n=t.children[0];"production"===production.NODE_ENV||1===t.children.length&&1===n.type||e.warn("Inline-template components must have exactly one child element.",{start:t.start});if(n&&1===n.type){var r=ks(n,e.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}(t,e);o&&(n+=o+",")}return n=n.replace(/,$/,"")+"}",t.dynamicAttrs&&(n="_b("+n+',"'+t.tag+'",'+Ms(t.dynamicAttrs)+")"),t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function $s(t){return 1===t.type&&("slot"===t.tag||t.children.some($s))}function Ds(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return Es(t,e,Ds,"null");if(t.for&&!t.forProcessed)return Ts(t,e,Ds);var r=t.slotScope===Ya?"":String(t.slotScope),i="function("+r+"){return "+("template"===t.tag?t.if&&n?"("+t.if+")?"+(Ns(t,e)||"undefined")+":undefined":Ns(t,e)||"undefined":Ss(t,e))+"}",o=r?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+i+o+"}"}function Ns(t,e,n,r,i){var o=t.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?e.maybeComponent(a)?",1":",0":"";return""+(r||Ss)(a,e)+s}var l=n?function(t,e){for(var n=0,r=0;r<t.length;r++){var i=t[r];if(1===i.type){if(Ps(i)||i.ifConditions&&i.ifConditions.some(function(t){return Ps(t.block)})){n=2;break}(e(i)||i.ifConditions&&i.ifConditions.some(function(t){return e(t.block)}))&&(n=1)}}return n}(o,e.maybeComponent):0,c=i||js;return"["+o.map(function(t){return c(t,e)}).join(",")+"]"+(l?","+l:"")}}function Ps(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function js(t,e){return 1===t.type?Ss(t,e):3===t.type&&t.isComment?function(t){return"_e("+JSON.stringify(t.text)+")"}(t):function(t){return"_v("+(2===t.type?t.expression:Ls(JSON.stringify(t.text)))+")"}(t)}function Ms(t){for(var e="",n="",r=0;r<t.length;r++){var i=t[r],o=Ls(i.value);i.dynamic?n+=i.name+","+o+",":e+='"'+i.name+'":'+o+","}return e="{"+e.slice(0,-1)+"}",n?"_d("+e+",["+n.slice(0,-1)+"])":e}function Ls(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}var Rs=new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),Is=new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)"),Vs=/'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;function Fs(t,e){t&&function t(e,n){if(1===e.type){for(var r in e.attrsMap)if(ja.test(r)){var i=e.attrsMap[r];if(i){var o=e.rawAttrsMap[r];"v-for"===r?Hs(e,'v-for="'+i+'"',n,o):"v-slot"===r||"#"===r[0]?qs(i,r+'="'+i+'"',n,o):Pa.test(r)?Bs(i,r+'="'+i+'"',n,o):Us(i,r+'="'+i+'"',n,o)}}if(e.children)for(var a=0;a<e.children.length;a++)t(e.children[a],n)}else 2===e.type&&Us(e.expression,e.text,n,e)}(t,e)}function Bs(t,e,n,r){var i=t.replace(Vs,""),o=i.match(Is);o&&"$"!==i.charAt(o.index-1)&&n('avoid using JavaScript unary operator as property name: "'+o[0]+'" in expression '+e.trim(),r),Us(t,e,n,r)}function Hs(t,e,n,r){Us(t.for||"",e,n,r),zs(t.alias,"v-for alias",e,n,r),zs(t.iterator1,"v-for iterator",e,n,r),zs(t.iterator2,"v-for iterator",e,n,r)}function zs(t,e,n,r,i){if("string"==typeof t)try{new Function("var "+t+"=_")}catch(o){r("invalid "+e+' "'+t+'" in expression: '+n.trim(),i)}}function Us(t,e,n,r){try{new Function("return "+t)}catch(o){var i=t.replace(Vs,"").match(Rs);n(i?'avoid using JavaScript keyword as property name: "'+i[0]+'"\n Raw expression: '+e.trim():"invalid expression: "+o.message+" in\n\n "+t+"\n\n Raw expression: "+e.trim()+"\n",r)}}function qs(t,e,n,r){try{new Function(t,"")}catch(i){n("invalid function parameter expression: "+i.message+" in\n\n "+t+"\n\n Raw expression: "+e.trim()+"\n",r)}}var Ws=2;function Ys(t,e){var n="";if(e>0)for(;1&e&&(n+=t),!((e>>>=1)<=0);)t+=t;return n}function Gs(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),P}}function Xs(t){var e=Object.create(null);return function(n,r,i){var o=(r=D({},r)).warn||pt;if(delete r.warn,"production"!==production.NODE_ENV)try{new Function("return 1")}catch(t){t.toString().match(/unsafe-eval|CSP/)&&o("It seems you are using the standalone build of Vue.js in an environment with Content Security Policy that prohibits unsafe-eval. The template compiler cannot work in this environment. Consider relaxing the policy to allow unsafe-eval or pre-compiling your templates into render functions.")}var a=r.delimiters?String(r.delimiters)+n:n;if(e[a])return e[a];var s=t(n,r);"production"!==production.NODE_ENV&&(s.errors&&s.errors.length&&(r.outputSourceRange?s.errors.forEach(function(t){o("Error compiling template:\n\n"+t.msg+"\n\n"+function(t,e,n){void 0===e&&(e=0),void 0===n&&(n=t.length);for(var r=t.split(/\r?\n/),i=0,o=[],a=0;a<r.length;a++)if((i+=r[a].length+1)>=e){for(var s=a-Ws;s<=a+Ws||n>i;s++)if(!(s<0||s>=r.length)){o.push(""+(s+1)+Ys(" ",3-String(s+1).length)+"| "+r[s]);var l=r[s].length;if(s===a){var c=e-(i-l)+1,u=n>i?l-c:n-e;o.push(" | "+Ys(" ",c)+Ys("^",u))}else if(s>a){if(n>i){var d=Math.min(n-i,l);o.push(" | "+Ys("^",d))}i+=l+1}}break}return o.join("\n")}(n,t.start,t.end),i)}):o("Error compiling template:\n\n"+n+"\n\n"+s.errors.map(function(t){return"- "+t}).join("\n")+"\n",i)),s.tips&&s.tips.length&&(r.outputSourceRange?s.tips.forEach(function(t){return ft(t.msg,i)}):s.tips.forEach(function(t){return ft(t,i)})));var l={},c=[];return l.render=Gs(s.render,c),l.staticRenderFns=s.staticRenderFns.map(function(t){return Gs(t,c)}),"production"!==production.NODE_ENV&&(s.errors&&s.errors.length||!c.length||o("Failed to generate render function:\n\n"+c.map(function(t){var e=t.err,n=t.code;return e.toString()+" in\n\n"+n+"\n"}).join("\n"),i)),e[a]=l}}var Ks,Js=function(t){return function(e){function n(n,r){var i=Object.create(e),o=[],a=[],s=function(t,e,n){(n?a:o).push(t)};if(r){if("production"!==production.NODE_ENV&&r.outputSourceRange){var l=n.match(/^\s*/)[0].length;s=function(t,e,n){var r={msg:t};e&&(null!=e.start&&(r.start=e.start+l),null!=e.end&&(r.end=e.end+l)),(n?a:o).push(r)}}for(var c in r.modules&&(i.modules=(e.modules||[]).concat(r.modules)),r.directives&&(i.directives=D(Object.create(e.directives||null),r.directives)),r)"modules"!==c&&"directives"!==c&&(i[c]=r[c])}i.warn=s;var u=t(n.trim(),i);return"production"!==production.NODE_ENV&&Fs(u.ast,s),u.errors=o,u.tips=a,u}return{compile:n,compileToFunctions:Xs(n)}}}(function(t,e){var n=Xa(t.trim(),e);!1!==e.optimize&&us(n,e);var r=ks(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}})(ls),Zs=(Js.compile,Js.compileToFunctions);function Qs(t){return(Ks=Ks||document.createElement("div")).innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',Ks.innerHTML.indexOf(" ")>0}var tl=!!X&&Qs(!1),el=!!X&&Qs(!0),nl=k(function(t){var e=Dr(t);return e&&e.innerHTML}),rl=er.prototype.$mount;er.prototype.$mount=function(t,e){if((t=t&&Dr(t))===document.body||t===document.documentElement)return"production"!==production.NODE_ENV&&pt("Do not mount Vue to <html> or <body> - mount to normal elements instead."),this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=nl(r),"production"===production.NODE_ENV||r||pt("Template element not found or is empty: "+n.template,this));else{if(!r.nodeType)return"production"!==production.NODE_ENV&&pt("invalid template option:"+r,this),this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){"production"!==production.NODE_ENV&&H.performance&&ce&&ce("compile");var i=Zs(r,{outputSourceRange:"production"!==production.NODE_ENV,shouldDecodeNewlines:tl,shouldDecodeNewlinesForHref:el,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a,"production"!==production.NODE_ENV&&H.performance&&ce&&(ce("compile end"),ue("vue "+this._name+" compile","compile","compile end"))}}return rl.call(this,t,e)},er.compile=Zs,e.default=er}.call(e,n(7),n(110).setImmediate)},,function(t,e){function n(t,e,n){var r,i,o,a,s;function l(){var c=Date.now()-a;c<e&&c>=0?r=setTimeout(l,e-c):(r=null,n||(s=t.apply(o,i),o=i=null))}null==e&&(e=100);var c=function(){o=this,i=arguments,a=Date.now();var c=n&&!r;return r||(r=setTimeout(l,e)),c&&(s=t.apply(o,i),o=i=null),s};return c.clear=function(){r&&(clearTimeout(r),r=null)},c.flush=function(){r&&(s=t.apply(o,i),o=i=null,clearTimeout(r),r=null)},c}n.debounce=n,t.exports=n},function(t,e,n){!function(e,n){t.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=60)}([function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(49)("wks"),i=n(30),o=n(0).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e,n){var r=n(5);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(0),i=n(10),o=n(8),a=n(6),s=n(11),l=function(t,e,n){var c,u,d,p,f=t&l.F,h=t&l.G,m=t&l.S,v=t&l.P,g=t&l.B,y=h?r:m?r[e]||(r[e]={}):(r[e]||{}).prototype,b=h?i:i[e]||(i[e]={}),w=b.prototype||(b.prototype={});for(c in h&&(n=e),n)d=((u=!f&&y&&void 0!==y[c])?y:n)[c],p=g&&u?s(d,r):v&&"function"==typeof d?s(Function.call,d):d,y&&a(y,c,d,t&l.U),b[c]!=d&&o(b,c,p),v&&w[c]!=d&&(w[c]=d)};r.core=i,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,t.exports=l},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var r=n(0),i=n(8),o=n(12),a=n(30)("src"),s=Function.toString,l=(""+s).split("toString");n(10).inspectSource=function(t){return s.call(t)},(t.exports=function(t,e,n,s){var c="function"==typeof n;c&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(c&&(o(n,a)||i(n,a,t[e]?""+t[e]:l.join(String(e)))),t===r?t[e]=n:s?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||s.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(13),i=n(25);t.exports=n(4)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(14);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(2),i=n(41),o=n(29),a=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";var r=n(7);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(23),i=n(16);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(53),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(11),i=n(23),o=n(28),a=n(19),s=n(64);t.exports=function(t,e){var n=1==t,l=2==t,c=3==t,u=4==t,d=6==t,p=5==t||d,f=e||s;return function(e,s,h){for(var m,v,g=o(e),y=i(g),b=r(s,h,3),w=a(y.length),_=0,x=n?f(e,w):l?f(e,0):void 0;w>_;_++)if((p||_ in y)&&(v=b(m=y[_],_,g),t))if(n)x[_]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return _;case 2:x.push(m)}else if(u)return!1;return d?-1:c||u?u:x}}},function(t,e,n){var r=n(5),i=n(0).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(9);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(13).f,i=n(12),o=n(1)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(49)("keys"),i=n(30);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(16);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){"use strict";var r=n(0),i=n(12),o=n(9),a=n(67),s=n(29),l=n(7),c=n(77).f,u=n(45).f,d=n(13).f,p=n(51).trim,f=r.Number,h=f,m=f.prototype,v="Number"==o(n(44)(m)),g="trim"in String.prototype,y=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){var n,r,i,o=(e=g?e.trim():p(e,3)).charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,l=e.slice(2),c=0,u=l.length;c<u;c++)if((a=l.charCodeAt(c))<48||a>i)return NaN;return parseInt(l,r)}}return+e};if(!f(" 0o1")||!f("0b1")||f("+0x1")){f=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof f&&(v?l(function(){m.valueOf.call(n)}):"Number"!=o(n))?a(new h(y(e)),n,f):y(e)};for(var b,w=n(4)?c(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;w.length>_;_++)i(h,b=w[_])&&!i(f,b)&&d(f,b,u(h,b));f.prototype=m,m.constructor=f,n(6)(r,"Number",f)}},function(t,e,n){"use strict";function r(t){return!(0===t||(!Array.isArray(t)||0!==t.length)&&t)}function i(t,e,n,r){return t.filter(function(t){return function(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}(r(t,n),e)})}function o(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,r){return r[t]&&r[t].length?(n.push({$groupLabel:r[e],$isLabel:!0}),n.concat(r[t])):n},[])}}function s(t,e,r,o,a){return function(s){return s.map(function(s){var l;if(!s[r])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];var c=i(s[r],t,e,a);return c.length?(l={},n.i(p.a)(l,o,s[o]),n.i(p.a)(l,r,c),l):[]})}}var l=n(59),c=n(54),u=(n.n(c),n(95)),d=(n.n(u),n(31)),p=(n.n(d),n(58)),f=n(91),h=(n.n(f),n(98)),m=(n.n(h),n(92)),v=(n.n(m),n(88)),g=(n.n(v),n(97)),y=(n.n(g),n(89)),b=(n.n(y),n(96)),w=(n.n(b),n(93)),_=(n.n(w),n(90)),x=(n.n(_),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:"",isOpen:!1,preferredOpenDirection:"below",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:"Select option"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return r(t)?"":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:"Press enter to create a tag"},tagPosition:{type:String,default:"top"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){!this.multiple&&this.max&&console.warn("[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false."),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||"",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):i(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(function(t){return function(){return!t.apply(void 0,arguments)}}(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&("bottom"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?"":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?"":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search="",this.$emit("input",this.multiple?[]:null))},search:function(){this.$emit("search-change",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return x(s(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return x(a(this.groupValues,this.groupLabel),o)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(r(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return r(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)this.selectGroup(t);else if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==e||this.pointerDirty)){if(t.isTag)this.$emit("tag",t.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void("Tab"!==e&&this.removeElement(t));this.$emit("select",t,this.id),this.multiple?this.$emit("input",this.internalValue.concat([t]),this.id):this.$emit("input",t,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit("remove",n[this.groupValues],this.id);var r=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",r,this.id)}else{var i=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit("select",i,this.id),this.$emit("input",this.internalValue.concat(i),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var r="object"===n.i(l.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit("remove",t,this.id),this.multiple){var i=this.internalValue.slice(0,r).concat(this.internalValue.slice(r+1));this.$emit("input",i,this.id)}else this.$emit("input",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit("open",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if("undefined"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||"below"===this.openDirection||"bottom"===this.openDirection?(this.preferredOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var r=n(54),i=(n.n(r),n(31));n.n(i),e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{"multiselect__option--highlight":t===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return["multiselect__option--group","multiselect__option--disabled"];var r=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return r&&!this.wholeGroupDisabled(r)?["multiselect__option--group",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(r)}]:"multiselect__option--disabled"},addPointerElement:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter").key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],t),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){"use strict";var r=n(36),i=n(74),o=n(15),a=n(18);t.exports=n(72)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";var r=n(31),i=(n.n(r),n(32)),o=n(33);e.a={name:"vue-multiselect",mixins:[i.a,o.a],props:{name:{type:String,default:""},selectLabel:{type:String,default:"Press enter to select"},selectGroupLabel:{type:String,default:"Press enter to select group"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Press enter to remove"},deselectGroupLabel:{type:String,default:"Press enter to deselect group"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return"and ".concat(t," more")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:""},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:""},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:""},selectLabelText:function(){return this.showLabels?this.selectLabel:""},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:""},selectedLabelText:function(){return this.showLabels?this.selectedLabel:""},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:"100%"}:{width:"0",position:"absolute",padding:"0"}},contentStyle:function(){return this.options.length?{display:"inline-block"}:{display:"block"}},isAbove:function(){return"above"===this.openDirection||"top"===this.openDirection||"below"!==this.openDirection&&"bottom"!==this.openDirection&&"above"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var r=n(1)("unscopables"),i=Array.prototype;void 0==i[r]&&n(8)(i,r,{}),t.exports=function(t){i[r][t]=!0}},function(t,e,n){var r=n(18),i=n(19),o=n(85);t.exports=function(t){return function(e,n,a){var s,l=r(e),c=i(l.length),u=o(a,c);if(t&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}}},function(t,e,n){var r=n(9),i=n(1)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){"use strict";var r=n(2);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(0).document;t.exports=r&&r.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(9);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){"use strict";var r=n(14);t.exports.f=function(t){return new function(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}(t)}},function(t,e,n){var r=n(2),i=n(76),o=n(22),a=n(27)("IE_PROTO"),s=function(){},l=function(){var t,e=n(21)("iframe"),r=o.length;for(e.style.display="none",n(40).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),l=t.F;r--;)delete l.prototype[o[r]];return l()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=r(t),n=new s,s.prototype=null,n[a]=t):n=l(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(79),i=n(25),o=n(18),a=n(29),s=n(12),l=n(41),c=Object.getOwnPropertyDescriptor;e.f=n(4)?c:function(t,e){if(t=o(t),e=a(e,!0),l)try{return c(t,e)}catch(t){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(12),i=n(18),o=n(37)(!1),a=n(27)("IE_PROTO");t.exports=function(t,e){var n,s=i(t),l=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;e.length>l;)r(s,n=e[l++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){var r=n(46),i=n(22);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){var r=n(2),i=n(5),o=n(43);t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(10),i=n(0),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(24)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(2),i=n(14),o=n(1)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[o])?e:i(n)}},function(t,e,n){var r=n(3),i=n(16),o=n(7),a=n(84),s="["+a+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(t,e,n){var i={},s=o(function(){return!!a[t]()||"
"!="
"[t]()}),l=i[t]=s?e(d):a[t];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=u.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(l,"")),2&e&&(t=t.replace(c,"")),t};t.exports=u},function(t,e,n){var r,i,o,a=n(11),s=n(68),l=n(40),c=n(21),u=n(0),d=u.process,p=u.setImmediate,f=u.clearImmediate,h=u.MessageChannel,m=u.Dispatch,v=0,g={},y=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},b=function(t){y.call(t.data)};p&&f||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++v]=function(){s("function"==typeof t?t:Function(t),e)},r(v),v},f=function(t){delete g[t]},"process"==n(9)(d)?r=function(t){d.nextTick(a(y,t,1))}:m&&m.now?r=function(t){m.now(a(y,t,1))}:h?(o=(i=new h).port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(t){u.postMessage(t+"","*")},u.addEventListener("message",b,!1)):r="onreadystatechange"in c("script")?function(t){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),y.call(t)}}:function(t){setTimeout(a(y,t,1),0)}),t.exports={set:p,clear:f}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){"use strict";var r=n(3),i=n(20)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),r(r.P+r.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)("find")},function(t,e,n){"use strict";var r,i,o,a,s=n(24),l=n(0),c=n(11),u=n(38),d=n(3),p=n(5),f=n(14),h=n(61),m=n(66),v=n(50),g=n(52).set,y=n(75)(),b=n(43),w=n(80),_=n(86),x=n(48),k=l.TypeError,S=l.process,C=S&&S.versions,O=C&&C.v8||"",E=l.Promise,T="process"==u(S),A=function(){},$=i=b.f,D=!!function(){try{var t=E.resolve(1),e=(t.constructor={})[n(1)("species")]=function(t){t(A,A)};return(T||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof e&&0!==O.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(t){}}(),N=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},P=function(t,e){if(!t._n){t._n=!0;var n=t._c;y(function(){for(var r=t._v,i=1==t._s,o=0;n.length>o;)!function(e){var n,o,a,s=i?e.ok:e.fail,l=e.resolve,c=e.reject,u=e.domain;try{s?(i||(2==t._h&&L(t),t._h=1),!0===s?n=r:(u&&u.enter(),n=s(r),u&&(u.exit(),a=!0)),n===e.promise?c(k("Promise-chain cycle")):(o=N(n))?o.call(n,l,c):l(n)):c(r)}catch(t){u&&!a&&u.exit(),c(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){g.call(l,function(){var e,n,r,i=t._v,o=M(t);if(o&&(e=w(function(){T?S.emit("unhandledRejection",i,t):(n=l.onunhandledrejection)?n({promise:t,reason:i}):(r=l.console)&&r.error&&r.error("Unhandled promise rejection",i)}),t._h=T||M(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},M=function(t){return 1!==t._h&&0===(t._a||t._c).length},L=function(t){g.call(l,function(){var e;T?S.emit("rejectionHandled",t):(e=l.onrejectionhandled)&&e({promise:t,reason:t._v})})},R=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),P(e,!0))},I=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k("Promise can't be resolved itself");(e=N(t))?y(function(){var r={_w:n,_d:!1};try{e.call(t,c(I,r,1),c(R,r,1))}catch(t){R.call(r,t)}}):(n._v=t,n._s=1,P(n,!1))}catch(t){R.call({_w:n,_d:!1},t)}}};D||(E=function(t){h(this,E,"Promise","_h"),f(t),r.call(this);try{t(c(I,this,1),c(R,this,1))}catch(t){R.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(81)(E.prototype,{then:function(t,e){var n=$(v(this,E));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=T?S.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r;this.promise=t,this.resolve=c(I,t,1),this.reject=c(R,t,1)},b.f=$=function(t){return t===E||t===a?new o(t):i(t)}),d(d.G+d.W+d.F*!D,{Promise:E}),n(26)(E,"Promise"),n(83)("Promise"),a=n(10).Promise,d(d.S+d.F*!D,"Promise",{reject:function(t){var e=$(this);return(0,e.reject)(t),e.promise}}),d(d.S+d.F*(s||!D),"Promise",{resolve:function(t){return x(s&&this===a?E:this,t)}}),d(d.S+d.F*!(D&&n(73)(function(t){E.all(t).catch(A)})),"Promise",{all:function(t){var e=this,n=$(e),r=n.resolve,i=n.reject,o=w(function(){var n=[],o=0,a=1;m(t,!1,function(t){var s=o++,l=!1;n.push(void 0),a++,e.resolve(t).then(function(t){l||(l=!0,n[s]=t,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(t){var e=this,n=$(e),r=n.reject,i=w(function(){m(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(t,e,n){"use strict";var r=n(3),i=n(10),o=n(0),a=n(50),s=n(48);r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,i.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then(function(){return n})}:t,n?function(n){return s(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){"use strict";var r=n(35),i=n(101),o=function(t){n(99)},a=n(100)(r.a,i.a,!1,o,null,null);e.a=a.exports},function(t,e,n){"use strict";e.a=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t){return(i="function"==typeof Symbol&&"symbol"===r(Symbol.iterator)?function(t){return r(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":r(t)})(t)}e.a=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(34),i=(n.n(r),n(55)),o=(n.n(i),n(56)),a=(n.n(o),n(57)),s=n(32),l=n(33);n.d(e,"Multiselect",function(){return a.a}),n.d(e,"multiselectMixin",function(){return s.a}),n.d(e,"pointerMixin",function(){return l.a}),e.default=a.a},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(14),i=n(28),o=n(23),a=n(19);t.exports=function(t,e,n,s,l){r(e);var c=i(t),u=o(c),d=a(c.length),p=l?d-1:0,f=l?-1:1;if(n<2)for(;;){if(p in u){s=u[p],p+=f;break}if(p+=f,l?p<0:d<=p)throw TypeError("Reduce of empty array with no initial value")}for(;l?p>=0:d>p;p+=f)p in u&&(s=e(s,u[p],p,c));return s}},function(t,e,n){var r=n(5),i=n(42),o=n(1)("species");t.exports=function(t){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(63);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){"use strict";var r=n(8),i=n(6),o=n(7),a=n(16),s=n(1);t.exports=function(t,e,n){var l=s(t),c=n(a,l,""[t]),u=c[0],d=c[1];o(function(){var e={};return e[l]=function(){return 7},7!=""[t](e)})&&(i(String.prototype,t,u),r(RegExp.prototype,l,2==e?function(t,e){return d.call(t,this,e)}:function(t){return d.call(t,this)}))}},function(t,e,n){var r=n(11),i=n(70),o=n(69),a=n(2),s=n(19),l=n(87),c={},u={};(e=t.exports=function(t,e,n,d,p){var f,h,m,v,g=p?function(){return t}:l(t),y=r(n,d,e?2:1),b=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(o(g)){for(f=s(t.length);f>b;b++)if((v=e?y(a(h=t[b])[0],h[1]):y(t[b]))===c||v===u)return v}else for(m=g.call(t);!(h=m.next()).done;)if((v=i(m,y,h.value,e))===c||v===u)return v}).BREAK=c,e.RETURN=u},function(t,e,n){var r=n(5),i=n(82).set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(15),i=n(1)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){var r=n(2);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){"use strict";var r=n(44),i=n(25),o=n(26),a={};n(8)(a,n(1)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict";var r=n(24),i=n(3),o=n(6),a=n(8),s=n(15),l=n(71),c=n(26),u=n(78),d=n(1)("iterator"),p=!([].keys&&"next"in[].keys()),f=function(){return this};t.exports=function(t,e,n,h,m,v,g){l(n,e,h);var y,b,w,_=function(t){if(!p&&t in C)return C[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},x=e+" Iterator",k="values"==m,S=!1,C=t.prototype,O=C[d]||C["@@iterator"]||m&&C[m],E=O||_(m),T=m?k?_("entries"):E:void 0,A="Array"==e&&C.entries||O;if(A&&(w=u(A.call(new t)))!==Object.prototype&&w.next&&(c(w,x,!0),r||"function"==typeof w[d]||a(w,d,f)),k&&O&&"values"!==O.name&&(S=!0,E=function(){return O.call(this)}),r&&!g||!p&&!S&&C[d]||a(C,d,E),s[e]=E,s[x]=f,m)if(y={values:k?E:_("values"),keys:v?E:_("keys"),entries:T},g)for(b in y)b in C||o(C,b,y[b]);else i(i.P+i.F*(p||S),e,y);return y}},function(t,e,n){var r=n(1)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(0),i=n(52).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,l="process"==n(9)(a);t.exports=function(){var t,e,n,c=function(){var r,i;for(l&&(r=a.domain)&&r.exit();t;){i=t.fn,t=t.next;try{i()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(l)n=function(){a.nextTick(c)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){i.call(r,c)};else{var d=!0,p=document.createTextNode("");new o(c).observe(p,{characterData:!0}),n=function(){p.data=d=!d}}return function(r){var i={fn:r,next:void 0};e&&(e.next=i),t||(t=i,n()),e=i}}},function(t,e,n){var r=n(13),i=n(2),o=n(47);t.exports=n(4)?Object.defineProperties:function(t,e){i(t);for(var n,a=o(e),s=a.length,l=0;s>l;)r.f(t,n=a[l++],e[n]);return t}},function(t,e,n){var r=n(46),i=n(22).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e,n){var r=n(12),i=n(28),o=n(27)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(6);t.exports=function(t,e,n){for(var i in e)r(t,i,e[i],n);return t}},function(t,e,n){var r=n(5),i=n(2),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(11)(Function.call,n(45).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){"use strict";var r=n(0),i=n(13),o=n(4),a=n(1)("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},function(t,e,n){var r=n(53),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(0).navigator;t.exports=r&&r.userAgent||""},function(t,e,n){var r=n(38),i=n(1)("iterator"),o=n(15);t.exports=n(10).getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){"use strict";var r=n(3),i=n(20)(2);r(r.P+r.F*!n(17)([].filter,!0),"Array",{filter:function(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(3),i=n(37)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(17)(o)),"Array",{indexOf:function(t){return a?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,e,n){var r=n(3);r(r.S,"Array",{isArray:n(42)})},function(t,e,n){"use strict";var r=n(3),i=n(20)(1);r(r.P+r.F*!n(17)([].map,!0),"Array",{map:function(t){return i(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(3),i=n(62);r(r.P+r.F*!n(17)([].reduce,!0),"Array",{reduce:function(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var r=Date.prototype,i=r.toString,o=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(6)(r,"toString",function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"})},function(t,e,n){n(4)&&"g"!=/./g.flags&&n(13).f(RegExp.prototype,"flags",{configurable:!0,get:n(39)})},function(t,e,n){n(65)("search",1,function(t,e,n){return[function(n){"use strict";var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){"use strict";n(94);var r=n(2),i=n(39),o=n(4),a=/./.toString,s=function(t){n(6)(RegExp.prototype,"toString",t,!0)};n(7)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?s(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)}):"toString"!=a.name&&s(function(){return a.call(this)})},function(t,e,n){"use strict";n(51)("trim",function(t){return function(){return t(this,3)}})},function(t,e,n){for(var r=n(34),i=n(47),o=n(6),a=n(0),s=n(8),l=n(15),c=n(1),u=c("iterator"),d=c("toStringTag"),p=l.Array,f={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(f),m=0;m<h.length;m++){var v,g=h[m],y=f[g],b=a[g],w=b&&b.prototype;if(w&&(w[u]||s(w,u,p),w[d]||s(w,d,g),l[g]=p,y))for(v in r)w[v]||o(w,v,r[v],!0)}},function(t,e){},function(t,e){t.exports=function(t,e,n,r,i,o){var a,s=t=t||{},l=typeof t.default;"object"!==l&&"function"!==l||(a=t,s=t.default);var c,u="function"==typeof s?s.options:s;if(e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0),n&&(u.functional=!0),i&&(u._scopeId=i),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=c):r&&(c=r),c){var d=u.functional,p=d?u.render:u.beforeCreate;d?(u._injectStyles=c,u.render=function(t,e){return c.call(e),p(t,e)}):u.beforeCreate=p?[].concat(p,c):[c]}return{esModule:a,exports:s,options:u}}},function(t,e,n){"use strict";var r={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"multiselect",class:{"multiselect--active":t.isOpen,"multiselect--disabled":t.disabled,"multiselect--above":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return"button"in e||!t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return"button"in e||!t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null}],keypress:function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")||!t._k(e.keyCode,"tab",9,e.key,"Tab")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()}}},[t._t("caret",[n("div",{staticClass:"multiselect__select",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(" "),t._t("clear",null,{search:t.search}),t._v(" "),n("div",{ref:"tags",staticClass:"multiselect__tags"},[t._t("selection",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.visibleValues.length>0,expression:"visibleValues.length > 0"}],staticClass:"multiselect__tags-wrap"},[t._l(t.visibleValues,function(e,r){return[t._t("tag",[n("span",{key:r,staticClass:"multiselect__tag"},[n("span",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(" "),n("i",{staticClass:"multiselect__tag-icon",attrs:{"aria-hidden":"true",tabindex:"1"},on:{keypress:function(n){if(!("button"in n)&&t._k(n.keyCode,"enter",13,n.key,"Enter"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(" "),t.internalValue&&t.internalValue.length>t.limit?[t._t("limit",[n("strong",{staticClass:"multiselect__strong",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e()],{search:t.search,remove:t.removeElement,values:t.visibleValues,isOpen:t.isOpen}),t._v(" "),n("transition",{attrs:{name:"multiselect__loading"}},[t._t("loading",[n("div",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"multiselect__spinner"})])],2),t._v(" "),t.searchable?n("input",{ref:"search",staticClass:"multiselect__input",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:"text",autocomplete:"nope",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"esc",27,e.key,"Escape"))return null;t.deactivate()},keydown:[function(e){if(!("button"in e)&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"]))return null;e.preventDefault(),t.pointerForward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"]))return null;e.preventDefault(),t.pointerBackward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete"]))return null;e.stopPropagation(),t.removeLastElement()}],keypress:function(e){return"button"in e||!t._k(e.keyCode,"enter",13,e.key,"Enter")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}}}):t._e(),t._v(" "),t.isSingleLabelVisible?n("span",{staticClass:"multiselect__single",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("singleLabel",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(" "),t.isPlaceholderVisible?n("span",{staticClass:"multiselect__placeholder",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("placeholder",[t._v("\n "+t._s(t.placeholder)+"\n ")])],2):t._e()],2),t._v(" "),n("transition",{attrs:{name:"multiselect"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isOpen,expression:"isOpen"}],ref:"list",staticClass:"multiselect__content-wrapper",style:{maxHeight:t.optimizedHeight+"px"},attrs:{tabindex:"-1"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n("ul",{staticClass:"multiselect__content",style:t.contentStyle},[t._t("beforeList"),t._v(" "),t.multiple&&t.max===t.internalValue.length?n("li",[n("span",{staticClass:"multiselect__option"},[t._t("maxElements",[t._v("Maximum of "+t._s(t.max)+" options selected. First remove a selected option to select another.")])],2)]):t._e(),t._v(" "),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,r){return n("li",{key:r,staticClass:"multiselect__element"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n("span",{staticClass:"multiselect__option",class:t.optionHighlight(r,e),attrs:{"data-select":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,"data-selected":t.selectedLabelText,"data-deselect":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(r)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(" "),e&&(e.$isLabel||e.$isDisabled)?n("span",{staticClass:"multiselect__option",class:t.groupHighlight(r,e),attrs:{"data-select":t.groupSelect&&t.selectGroupLabelText,"data-deselect":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(r)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t("option",[n("span",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(" "),n("li",{directives:[{name:"show",rawName:"v-show",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:"showNoResults && (filteredOptions.length === 0 && search && !loading)"}]},[n("span",{staticClass:"multiselect__option"},[t._t("noResult",[t._v("No elements found. Consider changing the search query.")],{search:t.search})],2)]),t._v(" "),n("li",{directives:[{name:"show",rawName:"v-show",value:t.showNoOptions&&0===t.options.length&&!t.search&&!t.loading,expression:"showNoOptions && (options.length === 0 && !search && !loading)"}]},[n("span",{staticClass:"multiselect__option"},[t._t("noOptions",[t._v("List is empty.")])],2)]),t._v(" "),t._t("afterList")],2)])])],2)},staticRenderFns:[]};e.a=r}])})},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},,function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},t.exports.default=t.exports,t.exports.__esModule=!0},,,,,,,,,function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var i=function(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}(r),o=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[n].concat(o).concat([i]).join("\n")}return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(r[o]=!0)}for(i=0;i<t.length;i++){var a=t[i];"number"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),e.push(a))}},e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n.d(e,"VueCharts",function(){return o});var r=n(131),i=n(132);n.d(e,"Bar",function(){return i.a}),n.d(e,"HorizontalBar",function(){return i.d}),n.d(e,"Doughnut",function(){return i.c}),n.d(e,"Line",function(){return i.e}),n.d(e,"Pie",function(){return i.f}),n.d(e,"PolarArea",function(){return i.g}),n.d(e,"Radar",function(){return i.h}),n.d(e,"Bubble",function(){return i.b}),n.d(e,"Scatter",function(){return i.i}),n.d(e,"mixins",function(){return r.a}),n.d(e,"generateChart",function(){return i.j});var o={Bar:i.a,HorizontalBar:i.d,Doughnut:i.c,Line:i.e,Pie:i.f,PolarArea:i.g,Radar:i.h,Bubble:i.b,Scatter:i.i,mixins:r.a,generateChart:i.j,render:function(){return console.error("[vue-chartjs]: This is not a vue component. It is the whole object containing all vue components. Please import the named export or access the components over the dot notation. For more info visit https://vue-chartjs.org/#/home?id=quick-start")}};e.default=o},function(t,e,n){var r={},i=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}}(function(){return window&&document&&document.all&&!window.atob}),o=function(t){var e={};return function(t){if("function"==typeof t)return t();if(void 0===e[t]){var n=function(t){return document.querySelector(t)}.call(this,t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}}(),a=null,s=0,l=[],c=n(146);function u(t,e){for(var n=0;n<t.length;n++){var i=t[n],o=r[i.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](i.parts[a]);for(;a<i.parts.length;a++)o.parts.push(v(i.parts[a],e))}else{var s=[];for(a=0;a<i.parts.length;a++)s.push(v(i.parts[a],e));r[i.id]={id:i.id,refs:1,parts:s}}}}function d(t,e){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i],a=e.base?o[0]+e.base:o[0],s={css:o[1],media:o[2],sourceMap:o[3]};r[a]?r[a].parts.push(s):n.push(r[a]={id:a,parts:[s]})}return n}function p(t,e){var n=o(t.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var r=l[l.length-1];if("top"===t.insertAt)r?r.nextSibling?n.insertBefore(e,r.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),l.push(e);else if("bottom"===t.insertAt)n.appendChild(e);else{if("object"!=typeof t.insertAt||!t.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var i=o(t.insertInto+" "+t.insertAt.before);n.insertBefore(e,i)}}function f(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var e=l.indexOf(t);e>=0&&l.splice(e,1)}function h(t){var e=document.createElement("style");return t.attrs.type="text/css",m(e,t.attrs),p(t,e),e}function m(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function v(t,e){var n,r,i,o;if(e.transform&&t.css){if(!(o=e.transform(t.css)))return function(){};t.css=o}if(e.singleton){var l=s++;n=a||(a=h(e)),r=y.bind(null,n,l,!1),i=y.bind(null,n,l,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",m(e,t.attrs),p(t,e),e}(e),r=function(t,e,n){var r=n.css,i=n.sourceMap,o=void 0===e.convertToAbsoluteUrls&&i;(e.convertToAbsoluteUrls||o)&&(r=c(r));i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,e),i=function(){f(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(e),r=function(t,e){var n=e.css,r=e.media;r&&t.setAttribute("media",r);if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){f(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else i()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=i()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=d(t,e);return u(n,e),function(t){for(var i=[],o=0;o<n.length;o++){var a=n[o];(s=r[a.id]).refs--,i.push(s)}t&&u(d(t,e),e);for(o=0;o<i.length;o++){var s;if(0===(s=i[o]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete r[s.id]}}}};var g=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}();function y(t,e,n,r){var i=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=g(e,i);else{var o=document.createTextNode(i),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(o,a[e]):t.appendChild(o)}}},function(t,e){function n(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}t.exports=function(t){return function(){var e=this,r=arguments;return new Promise(function(i,o){var a=t.apply(e,r);function s(t){n(a,i,o,s,l,"next",t)}function l(t){n(a,i,o,s,l,"throw",t)}s(void 0)})}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){t.exports=n(157)},,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";e.a=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)}},,function(t,e,n){"use strict";
|
1 |
+
!function(t){var e=window.dokanWebpack;window.dokanWebpack=function(n,i,a){for(var s,c,l,u=0,d=[];u<n.length;u++)c=n[u],r[c]&&d.push(r[c][0]),r[c]=0;for(s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s]);for(e&&e(n,i,a);d.length;)d.shift()();if(a)for(u=0;u<a.length;u++)l=o(o.s=a[u]);return l};var n={},r={7:0};function o(e){if(n[e])return n[e].exports;var r=n[e]={i:e,l:!1,exports:{}};return t[e].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=t,o.c=n,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o.oe=function(t){throw console.error(t),t},o(o.s=268)}([function(t,e){t.exports=function(t,e,n,r,o,i){var a,s=t=t||{},c=typeof t.default;"object"!==c&&"function"!==c||(a=t,s=t.default);var l,u="function"==typeof s?s.options:s;if(e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns,u._compiled=!0),n&&(u.functional=!0),o&&(u._scopeId=o),i?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=l):r&&(l=r),l){var d=u.functional,p=d?u.render:u.beforeCreate;d?(u._injectStyles=l,u.render=function(t,e){return l.call(e),p(t,e)}):u.beforeCreate=p?[].concat(p,l):[l]}return{esModule:a,exports:s,options:u}}},,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t,r){n.d(e,"EffectScope",function(){return Jn}),n.d(e,"computed",function(){return ke}),n.d(e,"customRef",function(){return pe}),n.d(e,"default",function(){return jo}),n.d(e,"defineAsyncComponent",function(){return _r}),n.d(e,"defineComponent",function(){return Rr}),n.d(e,"del",function(){return Wt}),n.d(e,"effectScope",function(){return Zn}),n.d(e,"getCurrentInstance",function(){return vt}),n.d(e,"getCurrentScope",function(){return Qn}),n.d(e,"h",function(){return or}),n.d(e,"inject",function(){return rr}),n.d(e,"isProxy",function(){return Qt}),n.d(e,"isReactive",function(){return Kt}),n.d(e,"isReadonly",function(){return Zt}),n.d(e,"isRef",function(){return oe}),n.d(e,"isShallow",function(){return Jt}),n.d(e,"markRaw",function(){return ee}),n.d(e,"mergeDefaults",function(){return dn}),n.d(e,"nextTick",function(){return yr}),n.d(e,"onActivated",function(){return $r}),n.d(e,"onBeforeMount",function(){return kr}),n.d(e,"onBeforeUnmount",function(){return Er}),n.d(e,"onBeforeUpdate",function(){return Cr}),n.d(e,"onDeactivated",function(){return Dr}),n.d(e,"onErrorCaptured",function(){return Mr}),n.d(e,"onMounted",function(){return Sr}),n.d(e,"onRenderTracked",function(){return Nr}),n.d(e,"onRenderTriggered",function(){return Pr}),n.d(e,"onScopeDispose",function(){return tr}),n.d(e,"onServerPrefetch",function(){return Ar}),n.d(e,"onUnmounted",function(){return Tr}),n.d(e,"onUpdated",function(){return Or}),n.d(e,"provide",function(){return er}),n.d(e,"proxyRefs",function(){return ue}),n.d(e,"reactive",function(){return Yt}),n.d(e,"readonly",function(){return be}),n.d(e,"ref",function(){return ie}),n.d(e,"set",function(){return qt}),n.d(e,"shallowReactive",function(){return Gt}),n.d(e,"shallowReadonly",function(){return xe}),n.d(e,"shallowRef",function(){return ae}),n.d(e,"toRaw",function(){return te}),n.d(e,"toRef",function(){return he}),n.d(e,"toRefs",function(){return fe}),n.d(e,"triggerRef",function(){return ce}),n.d(e,"unref",function(){return le}),n.d(e,"useAttrs",function(){return cn}),n.d(e,"useCssModule",function(){return br}),n.d(e,"useCssVars",function(){return wr}),n.d(e,"useListeners",function(){return ln}),n.d(e,"useSlots",function(){return sn}),n.d(e,"version",function(){return Lr}),n.d(e,"watch",function(){return Xn}),n.d(e,"watchEffect",function(){return Un}),n.d(e,"watchPostEffect",function(){return qn}),n.d(e,"watchSyncEffect",function(){return Wn});
|
2 |
/*!
|
3 |
+
* Vue.js v2.7.10
|
4 |
+
* (c) 2014-2022 Evan You
|
5 |
* Released under the MIT License.
|
6 |
*/
|
7 |
+
var o=Object.freeze({}),i=Array.isArray;function a(t){return void 0===t||null===t}function s(t){return void 0!==t&&null!==t}function c(t){return!0===t}function l(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return"function"==typeof t}function d(t){return null!==t&&"object"==typeof t}var p=Object.prototype.toString;function f(t){return p.call(t).slice(8,-1)}function h(t){return"[object Object]"===p.call(t)}function v(t){return"[object RegExp]"===p.call(t)}function m(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function g(t){return s(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function y(t){return null==t?"":Array.isArray(t)||h(t)&&t.toString===p?JSON.stringify(t,null,2):String(t)}function b(t){var e=parseFloat(t);return isNaN(e)?t:e}function w(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}var _=w("slot,component",!0),x=w("key,ref,slot,slot-scope,is");function k(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var S=Object.prototype.hasOwnProperty;function C(t,e){return S.call(t,e)}function O(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var E=/-(\w)/g,T=O(function(t){return t.replace(E,function(t,e){return e?e.toUpperCase():""})}),$=O(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),D=/\B([A-Z])/g,A=O(function(t){return t.replace(D,"-$1").toLowerCase()});var N=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function P(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function j(t,e){for(var n in e)t[n]=e[n];return t}function M(t){for(var e={},n=0;n<t.length;n++)t[n]&&j(e,t[n]);return e}function L(t,e,n){}var R=function(t,e,n){return!1},I=function(t){return t};function V(t,e){if(t===e)return!0;var n=d(t),r=d(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every(function(t,n){return V(t,e[n])});if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(o||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every(function(n){return V(t[n],e[n])})}catch(t){return!1}}function F(t,e){for(var n=0;n<t.length;n++)if(V(t[n],e))return n;return-1}function B(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function H(t,e){return t===e?0===t&&1/t!=1/e:t==t||e==e}var z="data-server-rendered",U=["component","directive","filter"],q=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch","renderTracked","renderTriggered"],W={optionMergeStrategies:Object.create(null),silent:!1,productionTip:"production"!==production.NODE_ENV,devtools:"production"!==production.NODE_ENV,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:R,isReservedAttr:R,isUnknownElement:R,getTagNamespace:L,parsePlatformTagName:I,mustUseProp:R,async:!0,_lifecycleHooks:q},Y=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function G(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function X(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var K=new RegExp("[^".concat(Y.source,".$_\\d]"));var J="__proto__"in{},Z="undefined"!=typeof window,Q=Z&&window.navigator.userAgent.toLowerCase(),tt=Q&&/msie|trident/.test(Q),et=Q&&Q.indexOf("msie 9.0")>0,nt=Q&&Q.indexOf("edge/")>0;Q&&Q.indexOf("android");var rt=Q&&/iphone|ipad|ipod|ios/.test(Q);Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q);var ot,it=Q&&Q.match(/firefox\/(\d+)/),at={}.watch,st=!1;if(Z)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){st=!0}}),window.addEventListener("test-passive",null,ct)}catch(t){}var lt=function(){return void 0===ot&&(ot=!Z&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),ot},ut=Z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function dt(t){return"function"==typeof t&&/native code/.test(t.toString())}var pt,ft="undefined"!=typeof Symbol&&dt(Symbol)&&"undefined"!=typeof Reflect&&dt(Reflect.ownKeys);pt="undefined"!=typeof Set&&dt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ht=null;function vt(){return ht&&{proxy:ht}}function mt(t){void 0===t&&(t=null),t||ht&&ht._scope.off(),ht=t,t&&t._scope.on()}var gt,yt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),bt=function(t){void 0===t&&(t="");var e=new yt;return e.text=t,e.isComment=!0,e};function wt(t){return new yt(void 0,void 0,void 0,String(t))}function _t(t){var e=new yt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}if("production"!==production.NODE_ENV){var xt=w("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,require"),kt=function(t,e){lo('Property or method "'.concat(e,'" is not defined on the instance but ')+"referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.",t)},St=function(t,e){lo('Property "'.concat(e,'" must be accessed with "$data.').concat(e,'" because ')+'properties starting with "$" or "_" are not proxied in the Vue instance to prevent conflicts with Vue internals. See: https://v2.vuejs.org/v2/api/#data',t)},Ct="undefined"!=typeof Proxy&&dt(Proxy);if(Ct){var Ot=w("stop,prevent,self,ctrl,shift,alt,meta,exact");W.keyCodes=new Proxy(W.keyCodes,{set:function(t,e,n){return Ot(e)?(lo("Avoid overwriting built-in modifier in config.keyCodes: .".concat(e)),!1):(t[e]=n,!0)}})}var Et={has:function(t,e){var n=e in t,r=xt(e)||"string"==typeof e&&"_"===e.charAt(0)&&!(e in t.$data);return n||r||(e in t.$data?St(t,e):kt(t,e)),n||!r}},Tt={get:function(t,e){return"string"!=typeof e||e in t||(e in t.$data?St(t,e):kt(t,e)),t[e]}};gt=function(t){if(Ct){var e=t.$options,n=e.render&&e.render._withStripped?Tt:Et;t._renderProxy=new Proxy(t,n)}else t._renderProxy=t}}var $t=function(){return($t=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},Dt=0,At=function(){function t(){this.id=Dt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){k(this.subs,t)},t.prototype.depend=function(e){t.target&&(t.target.addDep(this),"production"!==production.NODE_ENV&&e&&t.target.onTrack&&t.target.onTrack($t({effect:t.target},e)))},t.prototype.notify=function(t){var e=this.subs.slice();"production"===production.NODE_ENV||W.async||e.sort(function(t,e){return t.id-e.id});for(var n=0,r=e.length;n<r;n++){if("production"!==production.NODE_ENV&&t){var o=e[n];o.onTrigger&&o.onTrigger($t({effect:e[n]},t))}e[n].update()}},t}();At.target=null;var Nt=[];function Pt(t){Nt.push(t),At.target=t}function jt(){Nt.pop(),At.target=Nt[Nt.length-1]}var Mt=Array.prototype,Lt=Object.create(Mt);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=Mt[t];X(Lt,t,function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":o=n;break;case"splice":o=n.slice(2)}return o&&a.observeArray(o),"production"!==production.NODE_ENV?a.dep.notify({type:"array mutation",target:this,key:t}):a.dep.notify(),i})});var Rt=Object.getOwnPropertyNames(Lt),It={},Vt=!0;function Ft(t){Vt=t}var Bt={notify:L,depend:L,addSub:L,removeSub:L},Ht=function(){function t(t,e,n){if(void 0===e&&(e=!1),void 0===n&&(n=!1),this.value=t,this.shallow=e,this.mock=n,this.dep=n?Bt:new At,this.vmCount=0,X(t,"__ob__",this),i(t)){if(!n)if(J)t.__proto__=Lt;else for(var r=0,o=Rt.length;r<o;r++){X(t,s=Rt[r],Lt[s])}e||this.observeArray(t)}else{var a=Object.keys(t);for(r=0;r<a.length;r++){var s;Ut(t,s=a[r],It,void 0,e,n)}}}return t.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)zt(t[e],!1,this.mock)},t}();function zt(t,e,n){var r;if(!(!d(t)||oe(t)||t instanceof yt))return C(t,"__ob__")&&t.__ob__ instanceof Ht?r=t.__ob__:!Vt||!n&<()||!i(t)&&!h(t)||!Object.isExtensible(t)||t.__v_skip||(r=new Ht(t,e,n)),r}function Ut(t,e,n,r,o,a){var s=new At,c=Object.getOwnPropertyDescriptor(t,e);if(!c||!1!==c.configurable){var l=c&&c.get,u=c&&c.set;l&&!u||n!==It&&2!==arguments.length||(n=t[e]);var d=!o&&zt(n,!1,a);return Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var r=l?l.call(t):n;return At.target&&("production"!==production.NODE_ENV?s.depend({target:t,type:"get",key:e}):s.depend(),d&&(d.dep.depend(),i(r)&&function t(e){for(var n=void 0,r=0,o=e.length;r<o;r++)(n=e[r])&&n.__ob__&&n.__ob__.dep.depend(),i(n)&&t(n)}(r))),oe(r)&&!o?r.value:r},set:function(i){var c=l?l.call(t):n;if(H(c,i)){if("production"!==production.NODE_ENV&&r&&r(),u)u.call(t,i);else{if(l)return;if(!o&&oe(c)&&!oe(i))return void(c.value=i);n=i}d=!o&&zt(i,!1,a),"production"!==production.NODE_ENV?s.notify({type:"set",target:t,key:e,newValue:i,oldValue:c}):s.notify()}}}),s}}function qt(t,e,n){if("production"!==production.NODE_ENV&&(a(t)||l(t))&&lo("Cannot set reactive property on undefined, null, or primitive value: ".concat(t)),!Zt(t)){var r=t.__ob__;return i(t)&&m(e)?(t.length=Math.max(t.length,e),t.splice(e,1,n),r&&!r.shallow&&r.mock&&zt(n,!1,!0),n):e in t&&!(e in Object.prototype)?(t[e]=n,n):t._isVue||r&&r.vmCount?("production"!==production.NODE_ENV&&lo("Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option."),n):r?(Ut(r.value,e,n,void 0,r.shallow,r.mock),"production"!==production.NODE_ENV?r.dep.notify({type:"add",target:t,key:e,newValue:n,oldValue:void 0}):r.dep.notify(),n):(t[e]=n,n)}"production"!==production.NODE_ENV&&lo('Set operation on key "'.concat(e,'" failed: target is readonly.'))}function Wt(t,e){if("production"!==production.NODE_ENV&&(a(t)||l(t))&&lo("Cannot delete reactive property on undefined, null, or primitive value: ".concat(t)),i(t)&&m(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount?"production"!==production.NODE_ENV&&lo("Avoid deleting properties on a Vue instance or its root $data - just set it to null."):Zt(t)?"production"!==production.NODE_ENV&&lo('Delete operation on key "'.concat(e,'" failed: target is readonly.')):C(t,e)&&(delete t[e],n&&("production"!==production.NODE_ENV?n.dep.notify({type:"delete",target:t,key:e}):n.dep.notify()))}}function Yt(t){return Xt(t,!1),t}function Gt(t){return Xt(t,!0),X(t,"__v_isShallow",!0),t}function Xt(t,e){if(!Zt(t)){if("production"!==production.NODE_ENV){i(t)&&lo("Avoid using Array as root value for ".concat(e?"shallowReactive()":"reactive()"," as it cannot be tracked in watch() or watchEffect(). Use ").concat(e?"shallowRef()":"ref()"," instead. This is a Vue-2-only limitation."));var n=t&&t.__ob__;n&&n.shallow!==e&&lo("Target is already a ".concat(n.shallow?"":"non-","shallow reactive object, and cannot be converted to ").concat(e?"":"non-","shallow."))}var r=zt(t,e,lt());"production"===production.NODE_ENV||r||((null==t||l(t))&&lo("value cannot be made reactive: ".concat(String(t))),ne(t)&&lo("Vue 2 does not support reactive collection types such as Map or Set."))}}function Kt(t){return Zt(t)?Kt(t.__v_raw):!(!t||!t.__ob__)}function Jt(t){return!(!t||!t.__v_isShallow)}function Zt(t){return!(!t||!t.__v_isReadonly)}function Qt(t){return Kt(t)||Zt(t)}function te(t){var e=t&&t.__v_raw;return e?te(e):t}function ee(t){return X(t,"__v_skip",!0),t}function ne(t){var e=f(t);return"Map"===e||"WeakMap"===e||"Set"===e||"WeakSet"===e}var re="__v_isRef";function oe(t){return!(!t||!0!==t.__v_isRef)}function ie(t){return se(t,!1)}function ae(t){return se(t,!0)}function se(t,e){if(oe(t))return t;var n={};return X(n,re,!0),X(n,"__v_isShallow",e),X(n,"dep",Ut(n,"value",t,null,e,lt())),n}function ce(t){"production"===production.NODE_ENV||t.dep||lo("received object is not a triggerable ref."),"production"!==production.NODE_ENV?t.dep&&t.dep.notify({type:"set",target:t,key:"value"}):t.dep&&t.dep.notify()}function le(t){return oe(t)?t.value:t}function ue(t){if(Kt(t))return t;for(var e={},n=Object.keys(t),r=0;r<n.length;r++)de(e,t,n[r]);return e}function de(t,e,n){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];if(oe(t))return t.value;var r=t&&t.__ob__;return r&&r.dep.depend(),t},set:function(t){var r=e[n];oe(r)&&!oe(t)?r.value=t:e[n]=t}})}function pe(t){var e=new At,n=t(function(){"production"!==production.NODE_ENV?e.depend({target:i,type:"get",key:"value"}):e.depend()},function(){"production"!==production.NODE_ENV?e.notify({target:i,type:"set",key:"value"}):e.notify()}),r=n.get,o=n.set,i={get value(){return r()},set value(t){o(t)}};return X(i,re,!0),i}function fe(t){"production"===production.NODE_ENV||Kt(t)||lo("toRefs() expects a reactive object but received a plain one.");var e=i(t)?new Array(t.length):{};for(var n in t)e[n]=he(t,n);return e}function he(t,e,n){var r=t[e];if(oe(r))return r;var o={get value(){var r=t[e];return void 0===r?n:r},set value(n){t[e]=n}};return X(o,re,!0),o}var ve,me,ge="__v_rawToReadonly",ye="__v_rawToShallowReadonly";function be(t){return we(t,!1)}function we(t,e){if(!h(t))return"production"!==production.NODE_ENV&&(i(t)?lo("Vue 2 does not support readonly arrays."):ne(t)?lo("Vue 2 does not support readonly collection types such as Map or Set."):lo("value cannot be made readonly: ".concat(typeof t))),t;if(Zt(t))return t;var n=e?ye:ge,r=t[n];if(r)return r;var o=Object.create(Object.getPrototypeOf(t));X(t,n,o),X(o,"__v_isReadonly",!0),X(o,"__v_raw",t),oe(t)&&X(o,re,!0),(e||Jt(t))&&X(o,"__v_isShallow",!0);for(var a=Object.keys(t),s=0;s<a.length;s++)_e(o,t,a[s],e);return o}function _e(t,e,n,r){Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:function(){var t=e[n];return r||!h(t)?t:be(t)},set:function(){"production"!==production.NODE_ENV&&lo('Set operation on key "'.concat(n,'" failed: target is readonly.'))}})}function xe(t){return we(t,!0)}function ke(t,e){var n,r,o=u(t);o?(n=t,r="production"!==production.NODE_ENV?function(){lo("Write operation failed: computed value is readonly")}:L):(n=t.get,r=t.set);var i=lt()?null:new Br(ht,n,L,{lazy:!0});"production"!==production.NODE_ENV&&i&&e&&(i.onTrack=e.onTrack,i.onTrigger=e.onTrigger);var a={effect:i,get value(){return i?(i.dirty&&i.evaluate(),At.target&&("production"!==production.NODE_ENV&&At.target.onTrack&&At.target.onTrack({effect:At.target,target:a,type:"get",key:"value"}),i.depend()),i.value):n()},set value(t){r(t)}};return X(a,re,!0),X(a,"__v_isReadonly",o),a}if("production"!==production.NODE_ENV){var Se=Z&&window.performance;Se&&Se.mark&&Se.measure&&Se.clearMarks&&Se.clearMeasures&&(ve=function(t){return Se.mark(t)},me=function(t,e,n){Se.measure(t,e,n),Se.clearMarks(e),Se.clearMarks(n)})}var Ce=O(function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}});function Oe(t,e){function n(){var t=n.fns;if(!i(t))return ar(t,null,arguments,e,"v-on handler");for(var r=t.slice(),o=0;o<r.length;o++)ar(r[o],null,arguments,e,"v-on handler")}return n.fns=t,n}function Ee(t,e,n,r,o,i){var s,l,u,d;for(s in t)l=t[s],u=e[s],d=Ce(s),a(l)?"production"!==production.NODE_ENV&&lo('Invalid handler for event "'.concat(d.name,'": got ')+String(l),i):a(u)?(a(l.fns)&&(l=t[s]=Oe(l,i)),c(d.once)&&(l=t[s]=o(d.name,l,d.capture)),n(d.name,l,d.capture,d.passive,d.params)):l!==u&&(u.fns=l,t[s]=u);for(s in e)a(t[s])&&r((d=Ce(s)).name,e[s],d.capture)}function Te(t,e,n){var r;t instanceof yt&&(t=t.data.hook||(t.data.hook={}));var o=t[e];function i(){n.apply(this,arguments),k(r.fns,i)}a(o)?r=Oe([i]):s(o.fns)&&c(o.merged)?(r=o).fns.push(i):r=Oe([o,i]),r.merged=!0,t[e]=r}function $e(t,e,n,r,o){if(s(e)){if(C(e,n))return t[n]=e[n],o||delete e[n],!0;if(C(e,r))return t[n]=e[r],o||delete e[r],!0}return!1}function De(t){return l(t)?[wt(t)]:i(t)?function t(e,n){var r=[];var o,u,d,p;for(o=0;o<e.length;o++)a(u=e[o])||"boolean"==typeof u||(d=r.length-1,p=r[d],i(u)?u.length>0&&(Ae((u=t(u,"".concat(n||"","_").concat(o)))[0])&&Ae(p)&&(r[d]=wt(p.text+u[0].text),u.shift()),r.push.apply(r,u)):l(u)?Ae(p)?r[d]=wt(p.text+u):""!==u&&r.push(wt(u)):Ae(u)&&Ae(p)?r[d]=wt(p.text+u.text):(c(e._isVList)&&s(u.tag)&&a(u.key)&&s(n)&&(u.key="__vlist".concat(n,"_").concat(o,"__")),r.push(u)));return r}(t):void 0}function Ae(t){return s(t)&&s(t.text)&&function(t){return!1===t}(t.isComment)}var Ne=1,Pe=2;function je(t,e,n,r,o,p){return(i(n)||l(n))&&(o=r,r=n,n=void 0),c(p)&&(o=Pe),function(t,e,n,r,o){if(s(n)&&s(n.__ob__))return"production"!==production.NODE_ENV&&lo("Avoid using observed data object as vnode data: ".concat(JSON.stringify(n),"\n")+"Always create fresh vnode data objects in each render!",t),bt();s(n)&&s(n.is)&&(e=n.is);if(!e)return bt();"production"!==production.NODE_ENV&&s(n)&&s(n.key)&&!l(n.key)&&lo("Avoid using non-primitive value as key, use string/number value instead.",t);i(r)&&u(r[0])&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);o===Pe?r=De(r):o===Ne&&(r=function(t){for(var e=0;e<t.length;e++)if(i(t[e]))return Array.prototype.concat.apply([],t);return t}(r));var p,f;if("string"==typeof e){var h=void 0;f=t.$vnode&&t.$vnode.ns||W.getTagNamespace(e),W.isReservedTag(e)?("production"!==production.NODE_ENV&&s(n)&&s(n.nativeOn)&&"component"!==n.tag&&lo("The .native modifier for v-on is only valid on components but it was used on <".concat(e,">."),t),p=new yt(W.parsePlatformTagName(e),n,r,void 0,void 0,t)):p=n&&n.pre||!s(h=ko(t.$options,"components",e))?new yt(e,n,r,void 0,void 0,t):io(h,n,t,r,e)}else p=io(e,n,t,r);return i(p)?p:s(p)?(s(f)&&function t(e,n,r){e.ns=n;"foreignObject"===e.tag&&(n=void 0,r=!0);if(s(e.children))for(var o=0,i=e.children.length;o<i;o++){var l=e.children[o];s(l.tag)&&(a(l.ns)||c(r)&&"svg"!==l.tag)&&t(l,n,r)}}(p,f),s(n)&&function(t){d(t.style)&&Vr(t.style);d(t.class)&&Vr(t.class)}(n),p):bt()}(t,e,n,r,o)}function Me(t,e){var n,r,o,a,c=null;if(i(t)||"string"==typeof t)for(c=new Array(t.length),n=0,r=t.length;n<r;n++)c[n]=e(t[n],n);else if("number"==typeof t)for(c=new Array(t),n=0;n<t;n++)c[n]=e(n+1,n);else if(d(t))if(ft&&t[Symbol.iterator]){c=[];for(var l=t[Symbol.iterator](),u=l.next();!u.done;)c.push(e(u.value,c.length)),u=l.next()}else for(o=Object.keys(t),c=new Array(o.length),n=0,r=o.length;n<r;n++)a=o[n],c[n]=e(t[a],a,n);return s(c)||(c=[]),c._isVList=!0,c}function Le(t,e,n,r){var o,i=this.$scopedSlots[t];i?(n=n||{},r&&("production"===production.NODE_ENV||d(r)||lo("slot v-bind without argument expects an Object",this),n=j(j({},r),n)),o=i(n)||(u(e)?e():e)):o=this.$slots[t]||(u(e)?e():e);var a=n&&n.slot;return a?this.$createElement("template",{slot:a},o):o}function Re(t){return ko(this.$options,"filters",t,!0)||I}function Ie(t,e){return i(t)?-1===t.indexOf(e):t!==e}function Ve(t,e,n,r,o){var i=W.keyCodes[e]||n;return o&&r&&!W.keyCodes[e]?Ie(o,r):i?Ie(i,t):r?A(r)!==e:void 0===t}function Fe(t,e,n,r,o){if(n)if(d(n)){i(n)&&(n=M(n));var a=void 0,s=function(i){if("class"===i||"style"===i||x(i))a=t;else{var s=t.attrs&&t.attrs.type;a=r||W.mustUseProp(e,s,i)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var c=T(i),l=A(i);c in a||l in a||(a[i]=n[i],o&&((t.on||(t.on={}))["update:".concat(i)]=function(t){n[i]=t}))};for(var c in n)s(c)}else"production"!==production.NODE_ENV&&lo("v-bind without argument expects an Object or Array value",this);return t}function Be(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?r:(ze(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,this._c,this),"__static__".concat(t),!1),r)}function He(t,e,n){return ze(t,"__once__".concat(e).concat(n?"_".concat(n):""),!0),t}function ze(t,e,n){if(i(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&Ue(t[r],"".concat(e,"_").concat(r),n);else Ue(t,e,n)}function Ue(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function qe(t,e){if(e)if(h(e)){var n=t.on=t.on?j({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else"production"!==production.NODE_ENV&&lo("v-on without argument expects an Object value",this);return t}function We(t,e,n,r){e=e||{$stable:!n};for(var o=0;o<t.length;o++){var a=t[o];i(a)?We(a,e,n):a&&(a.proxy&&(a.fn.proxy=!0),e[a.key]=a.fn)}return r&&(e.$key=r),e}function Ye(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r?t[e[n]]=e[n+1]:"production"!==production.NODE_ENV&&""!==r&&null!==r&&lo("Invalid value for dynamic directive argument (expected string or null): ".concat(r),this)}return t}function Ge(t,e){return"string"==typeof t?e+t:t}function Xe(t){t._o=He,t._n=b,t._s=y,t._l=Me,t._t=Le,t._q=V,t._i=F,t._m=Be,t._f=Re,t._k=Ve,t._b=Fe,t._v=wt,t._e=bt,t._u=We,t._g=qe,t._d=Ye,t._p=Ge}function Ke(t,e){if(!t||!t.length)return{};for(var n={},r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var l in n)n[l].every(Je)&&delete n[l];return n}function Je(t){return t.isComment&&!t.asyncFactory||" "===t.text}function Ze(t){return t.isComment&&t.asyncFactory}function Qe(t,e,n,r){var i,a=Object.keys(n).length>0,s=e?!!e.$stable:!a,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&r&&r!==o&&c===r.$key&&!a&&!r.$hasNormal)return r;for(var l in i={},e)e[l]&&"$"!==l[0]&&(i[l]=tn(t,n,l,e[l]))}else i={};for(var u in n)u in i||(i[u]=en(n,u));return e&&Object.isExtensible(e)&&(e._normalized=i),X(i,"$stable",s),X(i,"$key",c),X(i,"$hasNormal",a),i}function tn(t,e,n,r){var o=function(){var e=ht;mt(t);var n=arguments.length?r.apply(null,arguments):r({}),o=(n=n&&"object"==typeof n&&!i(n)?[n]:De(n))&&n[0];return mt(e),n&&(!o||1===n.length&&o.isComment&&!Ze(o))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:o,enumerable:!0,configurable:!0}),o}function en(t,e){return function(){return t[e]}}function nn(t){var e=!1;return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};X(e,"_v_attr_proxy",!0),rn(e,t.$attrs,o,t,"$attrs")}return t._attrsProxy},get listeners(){t._listenersProxy||rn(t._listenersProxy={},t.$listeners,o,t,"$listeners");return t._listenersProxy},get slots(){return function(t){t._slotsProxy||an(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(t)},emit:N(t.$emit,t),expose:function(n){"production"!==production.NODE_ENV&&(e&&lo("expose() should be called only once per setup().",t),e=!0),n&&Object.keys(n).forEach(function(e){return de(t,n,e)})}}}function rn(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,on(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function on(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function an(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function sn(){return un().slots}function cn(){return un().attrs}function ln(){return un().listeners}function un(){"production"===production.NODE_ENV||ht||lo("useContext() called without active instance.");var t=ht;return t._setupContext||(t._setupContext=nn(t))}function dn(t,e){var n=i(t)?t.reduce(function(t,e){return t[e]={},t},{}):t;for(var r in e){var o=n[r];o?i(o)||u(o)?n[r]={type:o,default:e[r]}:o.default=e[r]:null===o?n[r]={default:e[r]}:"production"!==production.NODE_ENV&&lo('props default key "'.concat(r,'" has no corresponding declaration.'))}return n}var pn,fn=null;function hn(t,e){return(t.__esModule||ft&&"Module"===t[Symbol.toStringTag])&&(t=t.default),d(t)?e.extend(t):t}function vn(t){if(i(t))for(var e=0;e<t.length;e++){var n=t[e];if(s(n)&&(s(n.componentOptions)||Ze(n)))return n}}function mn(t,e){pn.$on(t,e)}function gn(t,e){pn.$off(t,e)}function yn(t,e){var n=pn;return function r(){null!==e.apply(null,arguments)&&n.$off(t,r)}}function bn(t,e,n){pn=t,Ee(e,n||{},mn,gn,yn,t),pn=void 0}var wn=null,_n=!1;function xn(t){var e=wn;return wn=t,function(){wn=e}}function kn(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function Sn(t,e){if(e){if(t._directInactive=!1,kn(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Sn(t.$children[n]);Cn(t,"activated")}}function Cn(t,e,n,r){void 0===r&&(r=!0),Pt();var o=ht;r&&mt(t);var i=t.$options[e],a="".concat(e," hook");if(i)for(var s=0,c=i.length;s<c;s++)ar(i[s],t,n||null,t,a);t._hasHookEvent&&t.$emit("hook:"+e),r&&mt(o),jt()}var On=100,En=[],Tn=[],$n={},Dn={},An=!1,Nn=!1,Pn=0;var jn=0,Mn=Date.now;if(Z&&!tt){var Ln=window.performance;Ln&&"function"==typeof Ln.now&&Mn()>document.createEvent("Event").timeStamp&&(Mn=function(){return Ln.now()})}var Rn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function In(){var t,e;for(jn=Mn(),Nn=!0,En.sort(Rn),Pn=0;Pn<En.length;Pn++)if((t=En[Pn]).before&&t.before(),e=t.id,$n[e]=null,t.run(),"production"!==production.NODE_ENV&&null!=$n[e]&&(Dn[e]=(Dn[e]||0)+1,Dn[e]>On)){lo("You may have an infinite update loop "+(t.user?'in watcher with expression "'.concat(t.expression,'"'):"in a component render function."),t.vm);break}var n=Tn.slice(),r=En.slice();Pn=En.length=Tn.length=0,$n={},"production"!==production.NODE_ENV&&(Dn={}),An=Nn=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Sn(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r&&r._watcher===n&&r._isMounted&&!r._isDestroyed&&Cn(r,"updated")}}(r),ut&&W.devtools&&ut.emit("flush")}function Vn(t){var e=t.id;if(null==$n[e]&&(t!==At.target||!t.noRecurse)){if($n[e]=!0,Nn){for(var n=En.length-1;n>Pn&&En[n].id>t.id;)n--;En.splice(n+1,0,t)}else En.push(t);if(!An){if(An=!0,"production"!==production.NODE_ENV&&!W.async)return void In();yr(In)}}}var Fn="watcher",Bn="".concat(Fn," callback"),Hn="".concat(Fn," getter"),zn="".concat(Fn," cleanup");function Un(t,e){return Kn(t,null,e)}function qn(t,e){return Kn(t,null,"production"!==production.NODE_ENV?$t($t({},e),{flush:"post"}):{flush:"post"})}function Wn(t,e){return Kn(t,null,"production"!==production.NODE_ENV?$t($t({},e),{flush:"sync"}):{flush:"sync"})}var Yn,Gn={};function Xn(t,e,n){return"production"!==production.NODE_ENV&&"function"!=typeof e&&lo("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),Kn(t,e,n)}function Kn(t,e,n){var r=void 0===n?o:n,a=r.immediate,s=r.deep,c=r.flush,l=void 0===c?"pre":c,d=r.onTrack,p=r.onTrigger;"production"===production.NODE_ENV||e||(void 0!==a&&lo('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'),void 0!==s&&lo('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'));var f,h,v=function(t){lo("Invalid watch source: ".concat(t,". A watch source can only be a getter/effect ")+"function, a ref, a reactive object, or an array of these types.")},m=ht,g=function(t,e,n){return void 0===n&&(n=null),ar(t,null,n,m,e)},y=!1,b=!1;if(oe(t)?(f=function(){return t.value},y=Jt(t)):Kt(t)?(f=function(){return t.__ob__.dep.depend(),t},s=!0):i(t)?(b=!0,y=t.some(function(t){return Kt(t)||Jt(t)}),f=function(){return t.map(function(t){return oe(t)?t.value:Kt(t)?Vr(t):u(t)?g(t,Hn):void("production"!==production.NODE_ENV&&v(t))})}):u(t)?f=e?function(){return g(t,Hn)}:function(){if(!m||!m._isDestroyed)return h&&h(),g(t,Fn,[_])}:(f=L,"production"!==production.NODE_ENV&&v(t)),e&&s){var w=f;f=function(){return Vr(w())}}var _=function(t){h=x.onStop=function(){g(t,zn)}};if(lt())return _=L,e?a&&g(e,Bn,[f(),b?[]:void 0,_]):f(),L;var x=new Br(ht,f,L,{lazy:!0});x.noRecurse=!e;var k=b?[]:Gn;return x.run=function(){if(x.active)if(e){var t=x.get();(s||y||(b?t.some(function(t,e){return H(t,k[e])}):H(t,k)))&&(h&&h(),g(e,Bn,[t,k===Gn?void 0:k,_]),k=t)}else x.get()},"sync"===l?x.update=x.run:"post"===l?(x.post=!0,x.update=function(){return Vn(x)}):x.update=function(){if(m&&m===ht&&!m._isMounted){var t=m._preWatchers||(m._preWatchers=[]);t.indexOf(x)<0&&t.push(x)}else Vn(x)},"production"!==production.NODE_ENV&&(x.onTrack=d,x.onTrigger=p),e?a?x.run():k=x.get():"post"===l&&m?m.$once("hook:mounted",function(){return x.get()}):x.get(),function(){x.teardown()}}var Jn=function(){function t(t){void 0===t&&(t=!1),this.active=!0,this.effects=[],this.cleanups=[],!t&&Yn&&(this.parent=Yn,this.index=(Yn.scopes||(Yn.scopes=[])).push(this)-1)}return t.prototype.run=function(t){if(this.active){var e=Yn;try{return Yn=this,t()}finally{Yn=e}}else"production"!==production.NODE_ENV&&lo("cannot run an inactive effect scope.")},t.prototype.on=function(){Yn=this},t.prototype.off=function(){Yn=this.parent},t.prototype.stop=function(t){if(this.active){var e=void 0,n=void 0;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].teardown();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(this.parent&&!t){var r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.active=!1}},t}();function Zn(t){return new Jn(t)}function Qn(){return Yn}function tr(t){Yn?Yn.cleanups.push(t):"production"!==production.NODE_ENV&&lo("onScopeDispose() is called when there is no active effect scope to be associated with.")}function er(t,e){ht?nr(ht)[t]=e:"production"!==production.NODE_ENV&&lo("provide() can only be used inside setup().")}function nr(t){var e=t._provided,n=t.$parent&&t.$parent._provided;return n===e?t._provided=Object.create(n):e}function rr(t,e,n){void 0===n&&(n=!1);var r=ht;if(r){var o=r.$parent&&r.$parent._provided;if(o&&t in o)return o[t];if(arguments.length>1)return n&&u(e)?e.call(r):e;"production"!==production.NODE_ENV&&lo('injection "'.concat(String(t),'" not found.'))}else"production"!==production.NODE_ENV&&lo("inject() can only be used inside setup() or functional components.")}function or(t,e,n){return ht||"production"!==production.NODE_ENV&&lo("globally imported h() can only be invoked when there is an active component instance, e.g. synchronously in a component's render or setup function."),je(ht,t,e,n,2,!0)}function ir(t,e,n){Pt();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){sr(t,r,"errorCaptured hook")}}sr(t,e,n)}finally{jt()}}function ar(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&g(i)&&!i._handled&&(i.catch(function(t){return ir(t,r,o+" (Promise/async)")}),i._handled=!0)}catch(t){ir(t,r,o)}return i}function sr(t,e,n){if(W.errorHandler)try{return W.errorHandler.call(null,t,e,n)}catch(e){e!==t&&cr(e,null,"config.errorHandler")}cr(t,e,n)}function cr(t,e,n){if("production"!==production.NODE_ENV&&lo("Error in ".concat(n,': "').concat(t.toString(),'"'),e),!Z||"undefined"==typeof console)throw t;console.error(t)}var lr,ur=!1,dr=[],pr=!1;function fr(){pr=!1;var t=dr.slice(0);dr.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&dt(Promise)){var hr=Promise.resolve();lr=function(){hr.then(fr),rt&&setTimeout(L)},ur=!0}else if(tt||"undefined"==typeof MutationObserver||!dt(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())lr=void 0!==r&&dt(r)?function(){r(fr)}:function(){setTimeout(fr,0)};else{var vr=1,mr=new MutationObserver(fr),gr=document.createTextNode(String(vr));mr.observe(gr,{characterData:!0}),lr=function(){vr=(vr+1)%2,gr.data=String(vr)},ur=!0}function yr(t,e){var n;if(dr.push(function(){if(t)try{t.call(e)}catch(t){ir(t,e,"nextTick")}else n&&n(e)}),pr||(pr=!0,lr()),!t&&"undefined"!=typeof Promise)return new Promise(function(t){n=t})}function br(t){if(void 0===t&&(t="$style"),!ht)return"production"!==production.NODE_ENV&&lo("useCssModule must be called inside setup()"),o;var e=ht[t];return e||("production"!==production.NODE_ENV&&lo('Current instance does not have CSS module named "'.concat(t,'".')),o)}function wr(t){if(Z){var e=ht;e?qn(function(){var n=e.$el,r=t(e,e._setupProxy);if(n&&1===n.nodeType){var o=n.style;for(var i in r)o.setProperty("--".concat(i),r[i])}}):"production"!==production.NODE_ENV&&lo("useCssVars is called without current active component instance.")}}function _r(t){u(t)&&(t={loader:t});var e=t.loader,n=t.loadingComponent,r=t.errorComponent,o=t.delay,i=void 0===o?200:o,a=t.timeout,s=t.suspensible,c=void 0!==s&&s,l=t.onError;"production"!==production.NODE_ENV&&c&&lo("The suspensiblbe option for async components is not supported in Vue2. It is ignored.");var p=null,f=0,h=function(){var t;return p||(t=p=e().catch(function(t){if(t=t instanceof Error?t:new Error(String(t)),l)return new Promise(function(e,n){l(t,function(){return e((f++,p=null,h()))},function(){return n(t)},f+1)});throw t}).then(function(e){if(t!==p&&p)return p;if("production"===production.NODE_ENV||e||lo("Async component loader resolved to undefined. If you are using retry(), make sure to return its return value."),e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),"production"!==production.NODE_ENV&&e&&!d(e)&&!u(e))throw new Error("Invalid async component load result: ".concat(e));return e}))};return function(){return{component:h(),delay:i,timeout:a,error:r,loading:n}}}function xr(t){return function(e,n){if(void 0===n&&(n=ht),n)return function(t,e,n){var r=t.$options;r[e]=go(r[e],n)}(n,t,e);"production"!==production.NODE_ENV&&lo("".concat(function(t){"beforeDestroy"===t?t="beforeUnmount":"destroyed"===t&&(t="unmounted");return"on".concat(t[0].toUpperCase()+t.slice(1))}(t)," is called when there is no active component instance to be ")+"associated with. Lifecycle injection APIs can only be used during execution of setup().")}}var kr=xr("beforeMount"),Sr=xr("mounted"),Cr=xr("beforeUpdate"),Or=xr("updated"),Er=xr("beforeDestroy"),Tr=xr("destroyed"),$r=xr("activated"),Dr=xr("deactivated"),Ar=xr("serverPrefetch"),Nr=xr("renderTracked"),Pr=xr("renderTriggered"),jr=xr("errorCaptured");function Mr(t,e){void 0===e&&(e=ht),jr(t,e)}var Lr="2.7.10";function Rr(t){return t}var Ir=new pt;function Vr(t){return function t(e,n){var r,o;var a=i(e);if(!a&&!d(e)||Object.isFrozen(e)||e instanceof yt)return;if(e.__ob__){var s=e.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r=e.length;r--;)t(e[r],n);else if(oe(e))t(e.value,n);else for(o=Object.keys(e),r=o.length;r--;)t(e[o[r]],n)}(t,Ir),Ir.clear(),t}var Fr=0,Br=function(){function t(t,e,n,r,o){!function(t,e){void 0===e&&(e=Yn),e&&e.active&&e.effects.push(t)}(this,Yn&&!Yn._vm?Yn:t?t._scope:void 0),(this.vm=t)&&o&&(t._watcher=this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before,"production"!==production.NODE_ENV&&(this.onTrack=r.onTrack,this.onTrigger=r.onTrigger)):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Fr,this.active=!0,this.post=!1,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new pt,this.newDepIds=new pt,this.expression="production"!==production.NODE_ENV?e.toString():"",u(e)?this.getter=e:(this.getter=function(t){if(!K.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=L,"production"!==production.NODE_ENV&&lo('Failed watching path: "'.concat(e,'" ')+"Watcher only accepts simple dot-delimited paths. For full control, use a function instead.",t))),this.value=this.lazy?void 0:this.get()}return t.prototype.get=function(){var t;Pt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;ir(t,e,'getter for watcher "'.concat(this.expression,'"'))}finally{this.deep&&Vr(t),jt(),this.cleanupDeps()}return t},t.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},t.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},t.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Vn(this)},t.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||d(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'.concat(this.expression,'"');ar(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},t.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},t.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},t.prototype.teardown=function(){if(this.vm&&!this.vm._isBeingDestroyed&&k(this.vm._scope.effects,this),this.active){for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.onStop&&this.onStop()}},t}(),Hr={enumerable:!0,configurable:!0,get:L,set:L};function zr(t,e,n){Hr.get=function(){return this[e][n]},Hr.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Hr)}function Ur(t){var e=t.$options;if(e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props=Gt({}),o=t.$options._propKeys=[],i=!t.$parent;i||Ft(!1);var a=function(a){o.push(a);var s=So(a,e,n,t);if("production"!==production.NODE_ENV){var c=A(a);(x(c)||W.isReservedAttr(c))&&lo('"'.concat(c,'" is a reserved attribute and cannot be used as component prop.'),t),Ut(r,a,s,function(){i||_n||lo("Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's "+'value. Prop being mutated: "'.concat(a,'"'),t)})}else Ut(r,a,s);a in t||zr(t,"_props",a)};for(var s in e)a(s);Ft(!0)}(t,e.props),function(t){var e=t.$options,n=e.setup;if(n){var r=t._setupContext=nn(t);mt(t),Pt();var o=ar(n,null,[t._props||Gt({}),r],t,"setup");if(jt(),mt(),u(o))e.render=o;else if(d(o))if("production"!==production.NODE_ENV&&o instanceof yt&&lo("setup() should not return VNodes directly - return a render function instead."),t._setupState=o,o.__sfc){var i=t._setupProxy={};for(var a in o)"__sfc"!==a&&de(i,o,a)}else for(var a in o)G(a)?"production"!==production.NODE_ENV&&lo("Avoid using variables that start with _ or $ in setup()."):de(t,o,a);else"production"!==production.NODE_ENV&&void 0!==o&&lo("setup() should return an object. Received: ".concat(null===o?"null":typeof o))}}(t),e.methods&&function(t,e){var n=t.$options.props;for(var r in e)"production"!==production.NODE_ENV&&("function"!=typeof e[r]&&lo('Method "'.concat(r,'" has type "').concat(typeof e[r],'" in the component definition. ')+"Did you reference the function correctly?",t),n&&C(n,r)&&lo('Method "'.concat(r,'" has already been defined as a prop.'),t),r in t&&G(r)&&lo('Method "'.concat(r,'" conflicts with an existing Vue instance method. ')+"Avoid defining component methods that start with _ or $.")),t[r]="function"!=typeof e[r]?L:N(e[r],t)}(t,e.methods),e.data)!function(t){var e=t.$options.data;h(e=t._data=u(e)?function(t,e){Pt();try{return t.call(e,e)}catch(t){return ir(t,e,"data()"),{}}finally{jt()}}(e,t):e||{})||(e={},"production"!==production.NODE_ENV&&lo("data functions should return an object:\nhttps://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function",t));var n=Object.keys(e),r=t.$options.props,o=t.$options.methods,i=n.length;for(;i--;){var a=n[i];"production"!==production.NODE_ENV&&o&&C(o,a)&&lo('Method "'.concat(a,'" has already been defined as a data property.'),t),r&&C(r,a)?"production"!==production.NODE_ENV&&lo('The data property "'.concat(a,'" is already declared as a prop. ')+"Use prop default value instead.",t):G(a)||zr(t,"_data",a)}var s=zt(e);s&&s.vmCount++}(t);else{var n=zt(t._data={});n&&n.vmCount++}e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=lt();for(var o in e){var i=e[o],a=u(i)?i:i.get;"production"!==production.NODE_ENV&&null==a&&lo('Getter is missing for computed property "'.concat(o,'".'),t),r||(n[o]=new Br(t,a||L,L,qr)),o in t?"production"!==production.NODE_ENV&&(o in t.$data?lo('The computed property "'.concat(o,'" is already defined in data.'),t):t.$options.props&&o in t.$options.props?lo('The computed property "'.concat(o,'" is already defined as a prop.'),t):t.$options.methods&&o in t.$options.methods&&lo('The computed property "'.concat(o,'" is already defined as a method.'),t)):Wr(t,o,i)}}(t,e.computed),e.watch&&e.watch!==at&&function(t,e){for(var n in e){var r=e[n];if(i(r))for(var o=0;o<r.length;o++)Xr(t,n,r[o]);else Xr(t,n,r)}}(t,e.watch)}var qr={lazy:!0};function Wr(t,e,n){var r=!lt();u(n)?(Hr.get=r?Yr(e):Gr(n),Hr.set=L):(Hr.get=n.get?r&&!1!==n.cache?Yr(e):Gr(n.get):L,Hr.set=n.set||L),"production"!==production.NODE_ENV&&Hr.set===L&&(Hr.set=function(){lo('Computed property "'.concat(e,'" was assigned to but it has no setter.'),this)}),Object.defineProperty(t,e,Hr)}function Yr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),At.target&&("production"!==production.NODE_ENV&&At.target.onTrack&&At.target.onTrack({effect:At.target,target:this,type:"get",key:t}),e.depend()),e.value}}function Gr(t){return function(){return t.call(this,this)}}function Xr(t,e,n,r){return h(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function Kr(t,e){if(t){for(var n=Object.create(null),r=ft?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if("__ob__"!==i){var a=t[i].from;if(a in e._provided)n[i]=e._provided[a];else if("default"in t[i]){var s=t[i].default;n[i]=u(s)?s.call(e):s}else"production"!==production.NODE_ENV&&lo('Injection "'.concat(i,'" not found'),e)}}return n}}var Jr=0;function Zr(t){var e=t.options;if(t.super){var n=Zr(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var o in n)n[o]!==r[o]&&(e||(e={}),e[o]=n[o]);return e}(t);r&&j(t.extendOptions,r),(e=t.options=xo(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Qr(t,e,n,r,a){var s,l=this,u=a.options;C(r,"_uid")?(s=Object.create(r))._original=r:(s=r,r=r._original);var d=c(u._compiled),p=!d;this.data=t,this.props=e,this.children=n,this.parent=r,this.listeners=t.on||o,this.injections=Kr(u.inject,r),this.slots=function(){return l.$slots||Qe(r,t.scopedSlots,l.$slots=Ke(n,r)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Qe(r,t.scopedSlots,this.slots())}}),d&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=Qe(r,t.scopedSlots,this.$slots)),u._scopeId?this._c=function(t,e,n,o){var a=je(s,t,e,n,o,p);return a&&!i(a)&&(a.fnScopeId=u._scopeId,a.fnContext=r),a}:this._c=function(t,e,n,r){return je(s,t,e,n,r,p)}}function to(t,e,n,r,o){var i=_t(t);return i.fnContext=n,i.fnOptions=r,"production"!==production.NODE_ENV&&((i.devtoolsMeta=i.devtoolsMeta||{}).renderContext=o),e.slot&&((i.data||(i.data={})).slot=e.slot),i}function eo(t,e){for(var n in e)t[T(n)]=e[n]}function no(t){return t.name||t.__name||t._componentTag}Xe(Qr.prototype);var ro={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;ro.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},r=t.data.inlineTemplate;s(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,wn)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){"production"!==production.NODE_ENV&&(_n=!0);var a=r.data.scopedSlots,s=t.$scopedSlots,c=!!(a&&!a.$stable||s!==o&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),l=!!(i||t.$options._renderChildren||c),u=t.$vnode;t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i;var d=r.data.attrs||o;t._attrsProxy&&rn(t._attrsProxy,d,u.data&&u.data.attrs||o,t,"$attrs")&&(l=!0),t.$attrs=d,n=n||o;var p=t.$options._parentListeners;if(t._listenersProxy&&rn(t._listenersProxy,n,p||o,t,"$listeners"),t.$listeners=t.$options._parentListeners=n,bn(t,n,p),e&&t.$options.props){Ft(!1);for(var f=t._props,h=t.$options._propKeys||[],v=0;v<h.length;v++){var m=h[v],g=t.$options.props;f[m]=So(m,g,e,t)}Ft(!0),t.$options.propsData=e}l&&(t.$slots=Ke(i,r.context),t.$forceUpdate()),"production"!==production.NODE_ENV&&(_n=!1)}(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Cn(n,"mounted")),t.data.keepAlive&&(e._isMounted?function(t){t._inactive=!1,Tn.push(t)}(n):Sn(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?function t(e,n){if(!(n&&(e._directInactive=!0,kn(e))||e._inactive)){e._inactive=!0;for(var r=0;r<e.$children.length;r++)t(e.$children[r]);Cn(e,"deactivated")}}(e,!0):e.$destroy())}},oo=Object.keys(ro);function io(t,e,n,r,l){if(!a(t)){var u=n.$options._base;if(d(t)&&(t=u.extend(t)),"function"==typeof t){var p;if(a(t.cid)&&void 0===(t=function(t,e){if(c(t.error)&&s(t.errorComp))return t.errorComp;if(s(t.resolved))return t.resolved;var n=fn;if(n&&s(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n),c(t.loading)&&s(t.loadingComp))return t.loadingComp;if(n&&!s(t.owners)){var r=t.owners=[n],o=!0,i=null,l=null;n.$on("hook:destroyed",function(){return k(r,n)});var u=function(t){for(var e=0,n=r.length;e<n;e++)r[e].$forceUpdate();t&&(r.length=0,null!==i&&(clearTimeout(i),i=null),null!==l&&(clearTimeout(l),l=null))},p=B(function(n){t.resolved=hn(n,e),o?r.length=0:u(!0)}),f=B(function(e){"production"!==production.NODE_ENV&&lo("Failed to resolve async component: ".concat(String(t))+(e?"\nReason: ".concat(e):"")),s(t.errorComp)&&(t.error=!0,u(!0))}),h=t(p,f);return d(h)&&(g(h)?a(t.resolved)&&h.then(p,f):g(h.component)&&(h.component.then(p,f),s(h.error)&&(t.errorComp=hn(h.error,e)),s(h.loading)&&(t.loadingComp=hn(h.loading,e),0===h.delay?t.loading=!0:i=setTimeout(function(){i=null,a(t.resolved)&&a(t.error)&&(t.loading=!0,u(!1))},h.delay||200)),s(h.timeout)&&(l=setTimeout(function(){l=null,a(t.resolved)&&f("production"!==production.NODE_ENV?"timeout (".concat(h.timeout,"ms)"):null)},h.timeout)))),o=!1,t.loading?t.loadingComp:t.resolved}}(p=t,u)))return function(t,e,n,r,o){var i=bt();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}(p,e,n,r,l);e=e||{},Zr(t),s(e.model)&&function(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;var o=e.on||(e.on={}),a=o[r],c=e.model.callback;s(a)?(i(a)?-1===a.indexOf(c):a!==c)&&(o[r]=[c].concat(a)):o[r]=c}(t.options,e);var f=function(t,e,n){var r=e.options.props;if(!a(r)){var o={},i=t.attrs,c=t.props;if(s(i)||s(c))for(var l in r){var u=A(l);if("production"!==production.NODE_ENV){var d=l.toLowerCase();l!==d&&i&&C(i,d)&&uo('Prop "'.concat(d,'" is passed to component ')+"".concat(co(n||e),", but the declared prop name is")+' "'.concat(l,'". ')+"Note that HTML attributes are case-insensitive and camelCased props need to use their kebab-case equivalents when using in-DOM "+'templates. You should probably use "'.concat(u,'" instead of "').concat(l,'".'))}$e(o,c,l,u,!0)||$e(o,i,l,u,!1)}return o}}(e,t,l);if(c(t.options.functional))return function(t,e,n,r,a){var c=t.options,l={},u=c.props;if(s(u))for(var d in u)l[d]=So(d,u,e||o);else s(n.attrs)&&eo(l,n.attrs),s(n.props)&&eo(l,n.props);var p=new Qr(n,l,a,r,t),f=c.render.call(null,p._c,p);if(f instanceof yt)return to(f,n,p.parent,c,p);if(i(f)){for(var h=De(f)||[],v=new Array(h.length),m=0;m<h.length;m++)v[m]=to(h[m],n,p.parent,c,p);return v}}(t,f,e,n,r);var h=e.on;if(e.on=e.nativeOn,c(t.options.abstract)){var v=e.slot;e={},v&&(e.slot=v)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<oo.length;n++){var r=oo[n],o=e[r],i=ro[r];o===i||o&&o._merged||(e[r]=o?ao(i,o):i)}}(e);var m=no(t.options)||l;return new yt("vue-component-".concat(t.cid).concat(m?"-".concat(m):""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:f,listeners:h,tag:l,children:r},p)}"production"!==production.NODE_ENV&&lo("Invalid Component definition: ".concat(String(t)),n)}}function ao(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}var so,co,lo=L,uo=L;if("production"!==production.NODE_ENV){var po="undefined"!=typeof console,fo=/(?:^|[-_])(\w)/g;lo=function(t,e){void 0===e&&(e=ht);var n=e?so(e):"";W.warnHandler?W.warnHandler.call(null,t,e,n):po&&!W.silent&&console.error("[Vue warn]: ".concat(t).concat(n))},uo=function(t,e){po&&!W.silent&&console.warn("[Vue tip]: ".concat(t)+(e?so(e):""))},co=function(t,e){if(t.$root===t)return"<Root>";var n=u(t)&&null!=t.cid?t.options:t._isVue?t.$options||t.constructor.options:t,r=no(n),o=n.__file;if(!r&&o){var i=o.match(/([^/\\]+)\.vue$/);r=i&&i[1]}return(r?"<".concat(function(t){return t.replace(fo,function(t){return t.toUpperCase()}).replace(/[-_]/g,"")}(r),">"):"<Anonymous>")+(o&&!1!==e?" at ".concat(o):"")};so=function(t){if(t._isVue&&t.$parent){for(var e=[],n=0;t;){if(e.length>0){var r=e[e.length-1];if(r.constructor===t.constructor){n++,t=t.$parent;continue}n>0&&(e[e.length-1]=[r,n],n=0)}e.push(t),t=t.$parent}return"\n\nfound in\n\n"+e.map(function(t,e){return"".concat(0===e?"---\x3e ":function(t,e){for(var n="";e;)e%2==1&&(n+=t),e>1&&(t+=t),e>>=1;return n}(" ",5+2*e)).concat(i(t)?"".concat(co(t[0]),"... (").concat(t[1]," recursive calls)"):co(t))}).join("\n")}return"\n\n(found in ".concat(co(t),")")}}var ho=W.optionMergeStrategies;function vo(t,e){if(!e)return t;for(var n,r,o,i=ft?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(n=i[a])&&(r=t[n],o=e[n],C(t,n)?r!==o&&h(r)&&h(o)&&vo(r,o):qt(t,n,o));return t}function mo(t,e,n){return n?function(){var r=u(e)?e.call(n,n):e,o=u(t)?t.call(n,n):t;return r?vo(r,o):o}:e?t?function(){return vo(u(e)?e.call(this,this):e,u(t)?t.call(this,this):t)}:e:t}function go(t,e){var n=e?t?t.concat(e):i(e)?e:[e]:t;return n?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(n):n}function yo(t,e,n,r){var o=Object.create(t||null);return e?("production"!==production.NODE_ENV&&_o(r,e,n),j(o,e)):o}"production"!==production.NODE_ENV&&(ho.el=ho.propsData=function(t,e,n,r){return n||lo('option "'.concat(r,'" can only be used during instance ')+"creation with the `new` keyword."),bo(t,e)}),ho.data=function(t,e,n){return n?mo(t,e,n):e&&"function"!=typeof e?("production"!==production.NODE_ENV&&lo('The "data" option should be a function that returns a per-instance value in component definitions.',n),t):mo(t,e)},q.forEach(function(t){ho[t]=go}),U.forEach(function(t){ho[t+"s"]=yo}),ho.watch=function(t,e,n,r){if(t===at&&(t=void 0),e===at&&(e=void 0),!e)return Object.create(t||null);if("production"!==production.NODE_ENV&&_o(r,e,n),!t)return e;var o={};for(var a in j(o,t),e){var s=o[a],c=e[a];s&&!i(s)&&(s=[s]),o[a]=s?s.concat(c):i(c)?c:[c]}return o},ho.props=ho.methods=ho.inject=ho.computed=function(t,e,n,r){if(e&&"production"!==production.NODE_ENV&&_o(r,e,n),!t)return e;var o=Object.create(null);return j(o,t),e&&j(o,e),o},ho.provide=mo;var bo=function(t,e){return void 0===e?t:e};function wo(t){new RegExp("^[a-zA-Z][\\-\\.0-9_".concat(Y.source,"]*$")).test(t)||lo('Invalid component name: "'+t+'". Component names should conform to valid custom element name in html5 specification.'),(_(t)||W.isReservedTag(t))&&lo("Do not use built-in or reserved HTML elements as component id: "+t)}function _o(t,e,n){h(e)||lo('Invalid value for option "'.concat(t,'": expected an Object, ')+"but got ".concat(f(e),"."),n)}function xo(t,e,n){if("production"!==production.NODE_ENV&&function(t){for(var e in t.components)wo(e)}(e),u(e)&&(e=e.options),function(t,e){var n=t.props;if(n){var r,o,a={};if(i(n))for(r=n.length;r--;)"string"==typeof(o=n[r])?a[T(o)]={type:null}:"production"!==production.NODE_ENV&&lo("props must be strings when using array syntax.");else if(h(n))for(var s in n)o=n[s],a[T(s)]=h(o)?o:{type:o};else"production"!==production.NODE_ENV&&lo('Invalid value for option "props": expected an Array or an Object, '+"but got ".concat(f(n),"."),e);t.props=a}}(e,n),function(t,e){var n=t.inject;if(n){var r=t.inject={};if(i(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(h(n))for(var a in n){var s=n[a];r[a]=h(s)?j({from:a},s):{from:s}}else"production"!==production.NODE_ENV&&lo('Invalid value for option "inject": expected an Array or an Object, '+"but got ".concat(f(n),"."),e)}}(e,n),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];u(r)&&(e[n]={bind:r,update:r})}}(e),!e._base&&(e.extends&&(t=xo(t,e.extends,n)),e.mixins))for(var r=0,o=e.mixins.length;r<o;r++)t=xo(t,e.mixins[r],n);var a,s={};for(a in t)c(a);for(a in e)C(t,a)||c(a);function c(r){var o=ho[r]||bo;s[r]=o(t[r],e[r],n,r)}return s}function ko(t,e,n,r){if("string"==typeof n){var o=t[e];if(C(o,n))return o[n];var i=T(n);if(C(o,i))return o[i];var a=$(i);if(C(o,a))return o[a];var s=o[n]||o[i]||o[a];return"production"!==production.NODE_ENV&&r&&!s&&lo("Failed to resolve "+e.slice(0,-1)+": "+n),s}}function So(t,e,n,r){var o=e[t],a=!C(n,t),s=n[t],c=Do(Boolean,o.type);if(c>-1)if(a&&!C(o,"default"))s=!1;else if(""===s||s===A(t)){var l=Do(String,o.type);(l<0||c<l)&&(s=!0)}if(void 0===s){s=function(t,e,n){if(!C(e,"default"))return;var r=e.default;"production"!==production.NODE_ENV&&d(r)&&lo('Invalid default value for prop "'+n+'": Props with type Object/Array must use a factory function to return the default value.',t);if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return u(r)&&"Function"!==To(e.type)?r.call(t):r}(r,o,t);var p=Vt;Ft(!0),zt(s),Ft(p)}return"production"!==production.NODE_ENV&&function(t,e,n,r,o){if(t.required&&o)return void lo('Missing required prop: "'+e+'"',r);if(null==n&&!t.required)return;var a=t.type,s=!a||!0===a,c=[];if(a){i(a)||(a=[a]);for(var l=0;l<a.length&&!s;l++){var u=Oo(n,a[l],r);c.push(u.expectedType||""),s=u.valid}}var d=c.some(function(t){return t});if(!s&&d)return void lo(function(t,e,n){var r='Invalid prop: type check failed for prop "'.concat(t,'".')+" Expected ".concat(n.map($).join(", ")),o=n[0],i=f(e);1===n.length&&Po(o)&&Po(typeof e)&&!function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.some(function(t){return"boolean"===t.toLowerCase()})}(o,i)&&(r+=" with value ".concat(Ao(e,o)));r+=", got ".concat(i," "),Po(i)&&(r+="with value ".concat(Ao(e,i),"."));return r}(e,n,c),r);var p=t.validator;p&&(p(n)||lo('Invalid prop: custom validator check failed for prop "'+e+'".',r))}(o,t,s,r,a),s}var Co=/^(String|Number|Boolean|Function|Symbol|BigInt)$/;function Oo(t,e,n){var r,o=To(e);if(Co.test(o)){var a=typeof t;(r=a===o.toLowerCase())||"object"!==a||(r=t instanceof e)}else if("Object"===o)r=h(t);else if("Array"===o)r=i(t);else try{r=t instanceof e}catch(t){lo('Invalid prop type: "'+String(e)+'" is not a constructor',n),r=!1}return{valid:r,expectedType:o}}var Eo=/^\s*function (\w+)/;function To(t){var e=t&&t.toString().match(Eo);return e?e[1]:""}function $o(t,e){return To(t)===To(e)}function Do(t,e){if(!i(e))return $o(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if($o(e[n],t))return n;return-1}function Ao(t,e){return"String"===e?'"'.concat(t,'"'):"".concat("Number"===e?Number(t):t)}var No=["string","number","boolean"];function Po(t){return No.some(function(e){return t.toLowerCase()===e})}function jo(t){"production"===production.NODE_ENV||this instanceof jo||lo("Vue is a constructor and should be called with the `new` keyword"),this._init(t)}function Mo(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=no(t)||no(n.options);"production"!==production.NODE_ENV&&i&&wo(i);var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=xo(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)zr(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Wr(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,U.forEach(function(t){a[t]=n[t]}),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=j({},a.options),o[r]=a,a}}function Lo(t){return t&&(no(t.Ctor.options)||t.tag)}function Ro(t,e){return i(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!v(t)&&t.test(e)}function Io(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&Vo(n,i,r,o)}}}function Vo(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,k(n,e)}!function(t){t.prototype._init=function(t){var e,n,r=this;r._uid=Jr++,"production"!==production.NODE_ENV&&W.performance&&ve&&(e="vue-perf-start:".concat(r._uid),n="vue-perf-end:".concat(r._uid),ve(e)),r._isVue=!0,r.__v_skip=!0,r._scope=new Jn(!0),r._scope._vm=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(r,t):r.$options=xo(Zr(r.constructor),t||{},r),"production"!==production.NODE_ENV?gt(r):r._renderProxy=r,r._self=r,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(r),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&bn(t,e)}(r),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=Ke(e._renderChildren,r),t.$scopedSlots=n?Qe(t.$parent,n.data.scopedSlots,t.$slots):o,t._c=function(e,n,r,o){return je(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return je(t,e,n,r,o,!0)};var i=n&&n.data;"production"!==production.NODE_ENV?(Ut(t,"$attrs",i&&i.attrs||o,function(){!_n&&lo("$attrs is readonly.",t)},!0),Ut(t,"$listeners",e._parentListeners||o,function(){!_n&&lo("$listeners is readonly.",t)},!0)):(Ut(t,"$attrs",i&&i.attrs||o,null,!0),Ut(t,"$listeners",e._parentListeners||o,null,!0))}(r),Cn(r,"beforeCreate",void 0,!1),function(t){var e=Kr(t.$options.inject,t);e&&(Ft(!1),Object.keys(e).forEach(function(n){"production"!==production.NODE_ENV?Ut(t,n,e[n],function(){lo("Avoid mutating an injected value directly since the changes will be overwritten whenever the provided component re-renders. "+'injection being mutated: "'.concat(n,'"'),t)}):Ut(t,n,e[n])}),Ft(!0))}(r),Ur(r),function(t){var e=t.$options.provide;if(e){var n=u(e)?e.call(t):e;if(!d(n))return;for(var r=nr(t),o=ft?Reflect.ownKeys(n):Object.keys(n),i=0;i<o.length;i++){var a=o[i];Object.defineProperty(r,a,Object.getOwnPropertyDescriptor(n,a))}}}(r),Cn(r,"created"),"production"!==production.NODE_ENV&&W.performance&&ve&&(r._name=co(r,!1),ve(n),me("vue ".concat(r._name," init"),e,n)),r.$options.el&&r.$mount(r.$options.el)}}(jo),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};"production"!==production.NODE_ENV&&(e.set=function(){lo("Avoid replacing instance root $data. Use nested data properties instead.",this)},n.set=function(){lo("$props is readonly.",this)}),Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=qt,t.prototype.$delete=Wt,t.prototype.$watch=function(t,e,n){if(h(e))return Xr(this,t,e,n);(n=n||{}).user=!0;var r=new Br(this,t,e,n);if(n.immediate){var o='callback for immediate watcher "'.concat(r.expression,'"');Pt(),ar(e,this,[r.value],this,o),jt()}return function(){r.teardown()}}}(jo),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(i(t))for(var o=0,a=t.length;o<a;o++)r.$on(t[o],n);else(r._events[t]||(r._events[t]=[])).push(n),e.test(t)&&(r._hasHookEvent=!0);return r},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(i(t)){for(var r=0,o=t.length;r<o;r++)n.$off(t[r],e);return n}var a,s=n._events[t];if(!s)return n;if(!e)return n._events[t]=null,n;for(var c=s.length;c--;)if((a=s[c])===e||a.fn===e){s.splice(c,1);break}return n},t.prototype.$emit=function(t){var e=this;if("production"!==production.NODE_ENV){var n=t.toLowerCase();n!==t&&e._events[n]&&uo('Event "'.concat(n,'" is emitted in component ')+"".concat(co(e),' but the handler is registered for "').concat(t,'". ')+"Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. "+'You should probably use "'.concat(A(t),'" instead of "').concat(t,'".'))}var r=e._events[t];if(r){r=r.length>1?P(r):r;for(var o=P(arguments,1),i='event handler for "'.concat(t,'"'),a=0,s=r.length;a<s;a++)ar(r[a],e,o,e,i)}return e}}(jo),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=xn(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n);for(var a=n;a&&a.$vnode&&a.$parent&&a.$vnode===a.$parent._vnode;)a.$parent.$el=a.$el,a=a.$parent},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Cn(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||k(e.$children,t),t._scope.stop(),t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Cn(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(jo),function(t){Xe(t.prototype),t.prototype.$nextTick=function(t){return yr(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,o=n._parentVnode;o&&e._isMounted&&(e.$scopedSlots=Qe(e.$parent,o.data.scopedSlots,e.$slots,e.$scopedSlots),e._slotsProxy&&an(e._slotsProxy,e.$scopedSlots)),e.$vnode=o;try{mt(e),fn=e,t=r.call(e._renderProxy,e.$createElement)}catch(n){if(ir(n,e,"render"),"production"!==production.NODE_ENV&&e.$options.renderError)try{t=e.$options.renderError.call(e._renderProxy,e.$createElement,n)}catch(n){ir(n,e,"renderError"),t=e._vnode}else t=e._vnode}finally{fn=null,mt()}return i(t)&&1===t.length&&(t=t[0]),t instanceof yt||("production"!==production.NODE_ENV&&i(t)&&lo("Multiple root nodes returned from render function. Render function should return a single root node.",e),t=bt()),t.parent=o,t}}(jo);var Fo=[String,RegExp,Array],Bo={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Fo,exclude:Fo,max:[String,Number]},methods:{cacheVNode:function(){var t=this.cache,e=this.keys,n=this.vnodeToCache,r=this.keyToCache;if(n){var o=n.tag,i=n.componentInstance,a=n.componentOptions;t[r]={name:Lo(a),tag:o,componentInstance:i},e.push(r),this.max&&e.length>parseInt(this.max)&&Vo(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Vo(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",function(e){Io(t,function(t){return Ro(e,t)})}),this.$watch("exclude",function(e){Io(t,function(t){return!Ro(e,t)})})},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=vn(t),n=e&&e.componentOptions;if(n){var r=Lo(n),o=this.include,i=this.exclude;if(o&&(!r||!Ro(o,r))||i&&r&&Ro(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,k(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return W}};"production"!==production.NODE_ENV&&(e.set=function(){lo("Do not replace the Vue.config object, set individual fields instead.")}),Object.defineProperty(t,"config",e),t.util={warn:lo,extend:j,mergeOptions:xo,defineReactive:Ut},t.set=qt,t.delete=Wt,t.nextTick=yr,t.observable=function(t){return zt(t),t},t.options=Object.create(null),U.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,j(t.options.components,Bo),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=P(arguments,1);return n.unshift(this),u(t.install)?t.install.apply(t,n):u(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=xo(this.options,t),this}}(t),Mo(t),function(t){U.forEach(function(e){t[e]=function(t,n){return n?("production"!==production.NODE_ENV&&"component"===e&&wo(t),"component"===e&&h(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&u(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(jo),Object.defineProperty(jo.prototype,"$isServer",{get:lt}),Object.defineProperty(jo.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(jo,"FunctionalRenderContext",{value:Qr}),jo.version=Lr;var Ho=w("style,class"),zo=w("input,textarea,option,select,progress"),Uo=function(t,e,n){return"value"===n&&zo(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},qo=w("contenteditable,draggable,spellcheck"),Wo=w("events,caret,typing,plaintext-only"),Yo=function(t,e){return Zo(e)||"false"===e?"false":"contenteditable"===t&&Wo(e)?e:"true"},Go=w("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Xo="http://www.w3.org/1999/xlink",Ko=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Jo=function(t){return Ko(t)?t.slice(6,t.length):""},Zo=function(t){return null==t||!1===t};function Qo(t){for(var e=t.data,n=t,r=t;s(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=ti(r.data,e));for(;s(n=n.parent);)n&&n.data&&(e=ti(e,n.data));return function(t,e){if(s(t)||s(e))return ei(t,ni(e));return""}(e.staticClass,e.class)}function ti(t,e){return{staticClass:ei(t.staticClass,e.staticClass),class:s(t.class)?[t.class,e.class]:e.class}}function ei(t,e){return t?e?t+" "+e:t:e||""}function ni(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r<o;r++)s(e=ni(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):d(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}var ri={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},oi=w("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),ii=w("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),ai=function(t){return oi(t)||ii(t)};function si(t){return ii(t)?"svg":"math"===t?"math":void 0}var ci=Object.create(null);var li=w("text,number,password,search,email,tel,url");function ui(t){if("string"==typeof t){var e=document.querySelector(t);return e||("production"!==production.NODE_ENV&&lo("Cannot find element: "+t),document.createElement("div"))}return t}var di=Object.freeze({__proto__:null,createElement:function(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(t,e){return document.createElementNS(ri[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),pi={create:function(t,e){fi(e)},update:function(t,e){t.data.ref!==e.data.ref&&(fi(t,!0),fi(e))},destroy:function(t){fi(t,!0)}};function fi(t,e){var n=t.data.ref;if(s(n)){var r=t.context,o=t.componentInstance||t.elm,a=e?null:o,c=e?void 0:o;if(u(n))ar(n,r,[a],r,"template ref function");else{var l=t.data.refInFor,d="string"==typeof n||"number"==typeof n,p=oe(n),f=r.$refs;if(d||p)if(l){var h=d?f[n]:n.value;e?i(h)&&k(h,o):i(h)?h.includes(o)||h.push(o):d?(f[n]=[o],hi(r,n,f[n])):n.value=[o]}else if(d){if(e&&f[n]!==o)return;f[n]=c,hi(r,n,a)}else if(p){if(e&&n.value!==o)return;n.value=a}else"production"!==production.NODE_ENV&&lo("Invalid template ref type: ".concat(typeof n))}}}function hi(t,e,n){var r=t._setupState;r&&C(r,e)&&(oe(r[e])?r[e].value=n:r[e]=n)}var vi=new yt("",{},[]),mi=["create","activate","update","remove","destroy"];function gi(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&s(t.data)===s(e.data)&&function(t,e){if("input"!==t.tag)return!0;var n,r=s(n=t.data)&&s(n=n.attrs)&&n.type,o=s(n=e.data)&&s(n=n.attrs)&&n.type;return r===o||li(r)&&li(o)}(t,e)||c(t.isAsyncPlaceholder)&&a(e.asyncFactory.error))}function yi(t,e,n){var r,o,i={};for(r=e;r<=n;++r)s(o=t[r].key)&&(i[o]=r);return i}var bi={create:wi,update:wi,destroy:function(t){wi(t,vi)}};function wi(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,o,i=t===vi,a=e===vi,s=xi(t.data.directives,t.context),c=xi(e.data.directives,e.context),l=[],u=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,o.oldArg=r.arg,Si(o,"update",e,t),o.def&&o.def.componentUpdated&&u.push(o)):(Si(o,"bind",e,t),o.def&&o.def.inserted&&l.push(o));if(l.length){var d=function(){for(var n=0;n<l.length;n++)Si(l[n],"inserted",e,t)};i?Te(e,"insert",d):d()}u.length&&Te(e,"postpatch",function(){for(var n=0;n<u.length;n++)Si(u[n],"componentUpdated",e,t)});if(!i)for(n in s)c[n]||Si(s[n],"unbind",t,t,a)}(t,e)}var _i=Object.create(null);function xi(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++){if((r=t[n]).modifiers||(r.modifiers=_i),o[ki(r)]=r,e._setupState&&e._setupState.__sfc){var i=r.def||ko(e,"_setupState","v-"+r.name);r.def="function"==typeof i?{bind:i,update:i}:i}r.def=r.def||ko(e.$options,"directives",r.name,!0)}return o}function ki(t){return t.rawName||"".concat(t.name,".").concat(Object.keys(t.modifiers||{}).join("."))}function Si(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){ir(r,n.context,"directive ".concat(t.name," ").concat(e," hook"))}}var Ci=[pi,bi];function Oi(t,e){var n=e.componentOptions;if(!(s(n)&&!1===n.Ctor.options.inheritAttrs||a(t.data.attrs)&&a(e.data.attrs))){var r,o,i=e.elm,l=t.data.attrs||{},u=e.data.attrs||{};for(r in(s(u.__ob__)||c(u._v_attr_proxy))&&(u=e.data.attrs=j({},u)),u)o=u[r],l[r]!==o&&Ei(i,r,o,e.data.pre);for(r in(tt||nt)&&u.value!==l.value&&Ei(i,"value",u.value),l)a(u[r])&&(Ko(r)?i.removeAttributeNS(Xo,Jo(r)):qo(r)||i.removeAttribute(r))}}function Ei(t,e,n,r){r||t.tagName.indexOf("-")>-1?Ti(t,e,n):Go(e)?Zo(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):qo(e)?t.setAttribute(e,Yo(e,n)):Ko(e)?Zo(n)?t.removeAttributeNS(Xo,Jo(e)):t.setAttributeNS(Xo,e,n):Ti(t,e,n)}function Ti(t,e,n){if(Zo(n))t.removeAttribute(e);else{if(tt&&!et&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var $i={create:Oi,update:Oi};function Di(t,e){var n=e.elm,r=e.data,o=t.data;if(!(a(r.staticClass)&&a(r.class)&&(a(o)||a(o.staticClass)&&a(o.class)))){var i=Qo(e),c=n._transitionClasses;s(c)&&(i=ei(i,ni(c))),i!==n._prevClass&&(n.setAttribute("class",i),n._prevClass=i)}}var Ai,Ni,Pi,ji,Mi,Li,Ri,Ii={create:Di,update:Di},Vi=/[\w).+\-_$\]]/;function Fi(t){var e,n,r,o,i,a=!1,s=!1,c=!1,l=!1,u=0,d=0,p=0,f=0;for(r=0;r<t.length;r++)if(n=e,e=t.charCodeAt(r),a)39===e&&92!==n&&(a=!1);else if(s)34===e&&92!==n&&(s=!1);else if(c)96===e&&92!==n&&(c=!1);else if(l)47===e&&92!==n&&(l=!1);else if(124!==e||124===t.charCodeAt(r+1)||124===t.charCodeAt(r-1)||u||d||p){switch(e){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:p++;break;case 41:p--;break;case 91:d++;break;case 93:d--;break;case 123:u++;break;case 125:u--}if(47===e){for(var h=r-1,v=void 0;h>=0&&" "===(v=t.charAt(h));h--);v&&Vi.test(v)||(l=!0)}}else void 0===o?(f=r+1,o=t.slice(0,r).trim()):m();function m(){(i||(i=[])).push(t.slice(f,r).trim()),f=r+1}if(void 0===o?o=t.slice(0,r).trim():0!==f&&m(),i)for(r=0;r<i.length;r++)o=Bi(o,i[r]);return o}function Bi(t,e){var n=e.indexOf("(");if(n<0)return'_f("'.concat(e,'")(').concat(t,")");var r=e.slice(0,n),o=e.slice(n+1);return'_f("'.concat(r,'")(').concat(t).concat(")"!==o?","+o:o)}function Hi(t,e){console.error("[Vue compiler]: ".concat(t))}function zi(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function Ui(t,e,n,r,o){(t.props||(t.props=[])).push(ta({name:e,value:n,dynamic:o},r)),t.plain=!1}function qi(t,e,n,r,o){(o?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(ta({name:e,value:n,dynamic:o},r)),t.plain=!1}function Wi(t,e,n,r){t.attrsMap[e]=n,t.attrsList.push(ta({name:e,value:n},r))}function Yi(t,e,n,r,o,i,a,s){(t.directives||(t.directives=[])).push(ta({name:e,rawName:n,value:r,arg:o,isDynamicArg:i,modifiers:a},s)),t.plain=!1}function Gi(t,e,n){return n?"_p(".concat(e,',"').concat(t,'")'):t+e}function Xi(t,e,n,r,i,a,s,c){var l;r=r||o,"production"!==production.NODE_ENV&&a&&r.prevent&&r.passive&&a("passive and prevent can't be used together. Passive handler can't prevent default event.",s),r.right?c?e="(".concat(e,")==='click'?'contextmenu':(").concat(e,")"):"click"===e&&(e="contextmenu",delete r.right):r.middle&&(c?e="(".concat(e,")==='click'?'mouseup':(").concat(e,")"):"click"===e&&(e="mouseup")),r.capture&&(delete r.capture,e=Gi("!",e,c)),r.once&&(delete r.once,e=Gi("~",e,c)),r.passive&&(delete r.passive,e=Gi("&",e,c)),r.native?(delete r.native,l=t.nativeEvents||(t.nativeEvents={})):l=t.events||(t.events={});var u=ta({value:n.trim(),dynamic:c},s);r!==o&&(u.modifiers=r);var d=l[e];Array.isArray(d)?i?d.unshift(u):d.push(u):l[e]=d?i?[u,d]:[d,u]:u,t.plain=!1}function Ki(t,e){return t.rawAttrsMap[":"+e]||t.rawAttrsMap["v-bind:"+e]||t.rawAttrsMap[e]}function Ji(t,e,n){var r=Zi(t,":"+e)||Zi(t,"v-bind:"+e);if(null!=r)return Fi(r);if(!1!==n){var o=Zi(t,e);if(null!=o)return JSON.stringify(o)}}function Zi(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsList,i=0,a=o.length;i<a;i++)if(o[i].name===e){o.splice(i,1);break}return n&&delete t.attrsMap[e],r}function Qi(t,e){for(var n=t.attrsList,r=0,o=n.length;r<o;r++){var i=n[r];if(e.test(i.name))return n.splice(r,1),i}}function ta(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function ea(t,e,n){var r=n||{},o=r.number,i="$$v";r.trim&&(i="(typeof ".concat("$$v"," === 'string'")+"? ".concat("$$v",".trim()")+": ".concat("$$v",")")),o&&(i="_n(".concat(i,")"));var a=na(e,i);t.model={value:"(".concat(e,")"),expression:JSON.stringify(e),callback:"function (".concat("$$v",") {").concat(a,"}")}}function na(t,e){var n=function(t){if(t=t.trim(),Ai=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<Ai-1)return(ji=t.lastIndexOf("."))>-1?{exp:t.slice(0,ji),key:'"'+t.slice(ji+1)+'"'}:{exp:t,key:null};Ni=t,ji=Mi=Li=0;for(;!oa();)ia(Pi=ra())?sa(Pi):91===Pi&&aa(Pi);return{exp:t.slice(0,Mi),key:t.slice(Mi+1,Li)}}(t);return null===n.key?"".concat(t,"=").concat(e):"$set(".concat(n.exp,", ").concat(n.key,", ").concat(e,")")}function ra(){return Ni.charCodeAt(++ji)}function oa(){return ji>=Ai}function ia(t){return 34===t||39===t}function aa(t){var e=1;for(Mi=ji;!oa();)if(ia(t=ra()))sa(t);else if(91===t&&e++,93===t&&e--,0===e){Li=ji;break}}function sa(t){for(var e=t;!oa()&&(t=ra())!==e;);}var ca,la="__r",ua="__c";function da(t,e,n){var r=ca;return function o(){null!==e.apply(null,arguments)&&ha(t,o,n,r)}}var pa=ur&&!(it&&Number(it[1])<=53);function fa(t,e,n,r){if(pa){var o=jn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}ca.addEventListener(t,e,st?{capture:n,passive:r}:n)}function ha(t,e,n,r){(r||ca).removeEventListener(t,e._wrapper||e,n)}function va(t,e){if(!a(t.data.on)||!a(e.data.on)){var n=e.data.on||{},r=t.data.on||{};ca=e.elm||t.elm,function(t){if(s(t[la])){var e=tt?"change":"input";t[e]=[].concat(t[la],t[e]||[]),delete t[la]}s(t[ua])&&(t.change=[].concat(t[ua],t.change||[]),delete t[ua])}(n),Ee(n,r,fa,ha,da,e.context),ca=void 0}}var ma,ga={create:va,update:va,destroy:function(t){return va(t,vi)}};function ya(t,e){if(!a(t.data.domProps)||!a(e.data.domProps)){var n,r,o=e.elm,i=t.data.domProps||{},l=e.data.domProps||{};for(n in(s(l.__ob__)||c(l._v_attr_proxy))&&(l=e.data.domProps=j({},l)),i)n in l||(o[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===i[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=a(r)?"":String(r);ba(o,u)&&(o.value=u)}else if("innerHTML"===n&&ii(o.tagName)&&a(o.innerHTML)){(ma=ma||document.createElement("div")).innerHTML="<svg>".concat(r,"</svg>");for(var d=ma.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;d.firstChild;)o.appendChild(d.firstChild)}else if(r!==i[n])try{o[n]=r}catch(t){}}}}function ba(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(s(r)){if(r.number)return b(n)!==b(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var wa={create:ya,update:ya},_a=O(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function xa(t){var e=ka(t.style);return t.staticStyle?j(t.staticStyle,e):e}function ka(t){return Array.isArray(t)?M(t):"string"==typeof t?_a(t):t}var Sa,Ca=/^--/,Oa=/\s*!important$/,Ea=function(t,e,n){if(Ca.test(e))t.style.setProperty(e,n);else if(Oa.test(n))t.style.setProperty(A(e),n.replace(Oa,""),"important");else{var r=$a(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},Ta=["Webkit","Moz","ms"],$a=O(function(t){if(Sa=Sa||document.createElement("div").style,"filter"!==(t=T(t))&&t in Sa)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Ta.length;n++){var r=Ta[n]+e;if(r in Sa)return r}});function Da(t,e){var n=e.data,r=t.data;if(!(a(n.staticStyle)&&a(n.style)&&a(r.staticStyle)&&a(r.style))){var o,i,c=e.elm,l=r.staticStyle,u=r.normalizedStyle||r.style||{},d=l||u,p=ka(e.data.style)||{};e.data.normalizedStyle=s(p.__ob__)?j({},p):p;var f=function(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=xa(o.data))&&j(r,n);(n=xa(t.data))&&j(r,n);for(var i=t;i=i.parent;)i.data&&(n=xa(i.data))&&j(r,n);return r}(e,!0);for(i in d)a(f[i])&&Ea(c,i,"");for(i in f)(o=f[i])!==d[i]&&Ea(c,i,null==o?"":o)}}var Aa={create:Da,update:Da},Na=/\s+/;function Pa(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Na).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ja(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Na).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Ma(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&j(e,La(t.name||"v")),j(e,t),e}return"string"==typeof t?La(t):void 0}}var La=O(function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-act
|