Dokan – Best WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy - Version 2.8.6

Version Description

Download this release

Release Info

Developer sabbir1991
Plugin Icon wp plugin Dokan – Best WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy
Version 2.8.6
Comparing to
See all releases

Code changes from version 2.7.8 to 2.8.6

Files changed (55) hide show
  1. assets/css/admin.css +96 -0
  2. assets/css/rtl.css +3 -0
  3. assets/css/style.css +37 -10
  4. assets/css/vue-admin.css +2 -0
  5. assets/css/vue-admin.css.map +1 -0
  6. assets/css/vue-bootstrap.css +2 -0
  7. assets/css/vue-bootstrap.css.map +1 -0
  8. assets/css/vue-frontend.css +2 -0
  9. assets/css/vue-frontend.css.map +1 -0
  10. assets/css/vue-vendor.css +2 -0
  11. assets/css/vue-vendor.css.map +1 -0
  12. assets/font/Flaticon.eot +0 -0
  13. assets/font/Flaticon.svg +176 -0
  14. assets/font/Flaticon.ttf +0 -0
  15. assets/font/Flaticon.woff +0 -0
  16. assets/font/_flaticon.scss +67 -0
  17. assets/font/flaticon.css +44 -0
  18. assets/font/flaticon.html +385 -0
  19. assets/images/dokan-checked.png +0 -0
  20. assets/images/dokan-logo.png +0 -0
  21. assets/images/premium/C/303/251dric-Lefrancq.jpeg +0 -0
  22. assets/images/premium/Morten-J.-Christensen.jpg +0 -0
  23. assets/images/premium/available@2x.png +0 -0
  24. assets/images/premium/cta-dokan-logo.png +0 -0
  25. assets/images/premium/cta-pattern@2x.png +0 -0
  26. assets/images/premium/david-gaz.jpeg +0 -0
  27. assets/images/premium/dokan-lite-logo@2x.png +0 -0
  28. assets/images/premium/dokan-pro-logo@2x.png +0 -0
  29. assets/images/premium/gaurantee-thumb.png +0 -0
  30. assets/images/premium/header-feature-thumb@2x.png +0 -0
  31. assets/images/premium/melissa.jpg +0 -0
  32. assets/images/premium/payment-options.png +0 -0
  33. assets/images/premium/quote-icon.png +0 -0
  34. assets/images/premium/service-01@2x.png +0 -0
  35. assets/images/premium/service-02@2x.png +0 -0
  36. assets/images/premium/service-03@2x.png +0 -0
  37. assets/images/premium/service-04@2x.png +0 -0
  38. assets/images/premium/service-05@2x.png +0 -0
  39. assets/images/premium/service-06@2x.png +0 -0
  40. assets/images/premium/service-07@2x.png +0 -0
  41. assets/images/premium/service-08@2x.png +0 -0
  42. assets/images/premium/service-09@2x.png +0 -0
  43. assets/images/premium/unavailable@2x.png +0 -0
  44. assets/images/premium/view-icon@2x.png +0 -0
  45. assets/images/theme-customizer.js +0 -102
  46. assets/js/dokan-admin.js +0 -53
  47. assets/js/dokan.js +202 -149
  48. assets/js/vendor-registration.js +179 -0
  49. assets/js/vue-admin.js +5214 -0
  50. assets/js/vue-admin.min.js +1 -0
  51. assets/js/vue-bootstrap.js +1409 -0
  52. assets/js/vue-bootstrap.min.js +1 -0
  53. assets/js/vue-frontend.js +435 -0
  54. assets/js/vue-frontend.min.js +1 -0
  55. assets/js/vue-vendor.js +20914 -0
assets/css/admin.css CHANGED
@@ -138,6 +138,102 @@
138
  margin: 10px 0 0 0;
139
  padding: 0;
140
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  .dokan-dashboard .mark-red a {
142
  color: red;
143
  }
138
  margin: 10px 0 0 0;
139
  padding: 0;
140
  }
141
+ .dokan-dashboard .postbox.dokan-status .main {
142
+ padding: 0;
143
+ }
144
+ .dokan-dashboard .postbox.dokan-status .inside {
145
+ margin: 0;
146
+ }
147
+ .dokan-dashboard .postbox.dokan-status ul {
148
+ margin-top: -13px;
149
+ }
150
+ .dokan-dashboard .postbox.dokan-status ul li {
151
+ min-height: 50px;
152
+ width: 50%;
153
+ float: left;
154
+ padding: 0;
155
+ box-sizing: border-box;
156
+ margin: 0;
157
+ border-top: 1px solid #ececec;
158
+ color: #aaa;
159
+ }
160
+ .dokan-dashboard .postbox.dokan-status ul li a {
161
+ display: block;
162
+ color: #aaa;
163
+ padding: 10px;
164
+ -webkit-transition: all ease .5s;
165
+ transition: all ease .5s;
166
+ position: relative;
167
+ font-size: 12px;
168
+ }
169
+ .dokan-dashboard .postbox.dokan-status ul li a .details {
170
+ color: #aaa;
171
+ }
172
+ .dokan-dashboard .postbox.dokan-status ul li a .details span {
173
+ margin-left: 10px;
174
+ font-weight: bold;
175
+ }
176
+ .dokan-dashboard .postbox.dokan-status ul li a .details span.up {
177
+ color: green;
178
+ }
179
+ .dokan-dashboard .postbox.dokan-status ul li a .details span.up::before {
180
+ content: '+';
181
+ }
182
+ .dokan-dashboard .postbox.dokan-status ul li a .details span.up::after {
183
+ content: '%';
184
+ }
185
+ .dokan-dashboard .postbox.dokan-status ul li a .details span.down {
186
+ color: red;
187
+ }
188
+ .dokan-dashboard .postbox.dokan-status ul li a .details span.down::before {
189
+ content: '-';
190
+ }
191
+ .dokan-dashboard .postbox.dokan-status ul li a .details span.down::after {
192
+ content: '%';
193
+ }
194
+ .dokan-dashboard .postbox.dokan-status ul li a strong {
195
+ font-size: 18px;
196
+ line-height: 1.2em;
197
+ font-weight: 400;
198
+ display: block;
199
+ color: #21759b;
200
+ }
201
+ .dokan-dashboard .postbox.dokan-status ul li .dashicons {
202
+ font-size: 2em;
203
+ float: left;
204
+ margin: 15px;
205
+ }
206
+ .dokan-dashboard .postbox.dokan-status ul li:nth-child(1) {
207
+ border-top: none;
208
+ }
209
+ .dokan-dashboard .postbox.dokan-status ul li:nth-child(2) {
210
+ border-top: none;
211
+ }
212
+ .dokan-dashboard .postbox.dokan-status ul li:nth-child(odd) {
213
+ border-right: 1px solid #ececec;
214
+ }
215
+ .dokan-dashboard .postbox.dokan-status ul li.sale .dashicons {
216
+ color: #307be1;
217
+ }
218
+ .dokan-dashboard .postbox.dokan-status ul li.commission .dashicons {
219
+ color: #6da754;
220
+ }
221
+ .dokan-dashboard .postbox.dokan-status ul li.vendor .dashicons {
222
+ color: #169c22;
223
+ }
224
+ .dokan-dashboard .postbox.dokan-status ul li.approval .dashicons {
225
+ color: #fd9728;
226
+ }
227
+ .dokan-dashboard .postbox.dokan-status ul li.product .dashicons::before {
228
+ font-family: WooCommerce;
229
+ content: "\e006";
230
+ color: #464646;
231
+ }
232
+ .dokan-dashboard .postbox.dokan-status ul li.withdraw .dashicons::before {
233
+ font-family: WooCommerce;
234
+ content: "\e01e";
235
+ color: #cd2c2f;
236
+ }
237
  .dokan-dashboard .mark-red a {
238
  color: red;
239
  }
assets/css/rtl.css CHANGED
@@ -32,6 +32,9 @@
32
  .dokan-text-left {
33
  text-align: right;
34
  }
 
 
 
35
  #dokan-comments-table td.col-author .dokan-author-img,
36
  #dokan-comments-table th.col-author .dokan-author-img {
37
  float: right !important;
32
  .dokan-text-left {
33
  text-align: right;
34
  }
35
+ .dokan-text-right {
36
+ text-align: left;
37
+ }
38
  #dokan-comments-table td.col-author .dokan-author-img,
39
  #dokan-comments-table th.col-author .dokan-author-img {
40
  float: right !important;
assets/css/style.css CHANGED
@@ -421,6 +421,25 @@ select.dokan-form-control {
421
  .dokan-text-left {
422
  text-align: left;
423
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
424
  .wp-editor-wrap {
425
  border: 1px solid #EDEDED;
426
  }
@@ -658,8 +677,8 @@ a.dokan-btn-theme[disabled].active,
658
  fieldset[disabled] input[type="submit"].dokan-btn-theme.active,
659
  fieldset[disabled] a.dokan-btn-theme.active,
660
  fieldset[disabled] .dokan-btn-theme.active {
661
- background-color: #f05025;
662
- border-color: #f05025;
663
  }
664
  input[type="submit"].dokan-btn-theme .badge,
665
  a.dokan-btn-theme .badge,
@@ -749,8 +768,8 @@ a.dokan-btn-success[disabled].active,
749
  fieldset[disabled] input[type="submit"].dokan-btn-success.active,
750
  fieldset[disabled] a.dokan-btn-success.active,
751
  fieldset[disabled] .dokan-btn-success.active {
752
- background-color: #5cb85c;
753
- border-color: #4cae4c;
754
  }
755
  input[type="submit"].dokan-btn-success .badge,
756
  a.dokan-btn-success .badge,
@@ -840,8 +859,8 @@ a.dokan-btn-default[disabled].active,
840
  fieldset[disabled] input[type="submit"].dokan-btn-default.active,
841
  fieldset[disabled] a.dokan-btn-default.active,
842
  fieldset[disabled] .dokan-btn-default.active {
843
- background-color: #fff;
844
- border-color: #ccc;
845
  }
846
  input[type="submit"].dokan-btn-default .badge,
847
  a.dokan-btn-default .badge,
@@ -931,8 +950,8 @@ a.dokan-btn-danger[disabled].active,
931
  fieldset[disabled] input[type="submit"].dokan-btn-danger.active,
932
  fieldset[disabled] a.dokan-btn-danger.active,
933
  fieldset[disabled] .dokan-btn-danger.active {
934
- background-color: #d9534f;
935
- border-color: #d43f3a;
936
  }
937
  input[type="submit"].dokan-btn-danger .badge,
938
  a.dokan-btn-danger .badge,
@@ -1022,8 +1041,8 @@ a.dokan-btn-info[disabled].active,
1022
  fieldset[disabled] input[type="submit"].dokan-btn-info.active,
1023
  fieldset[disabled] a.dokan-btn-info.active,
1024
  fieldset[disabled] .dokan-btn-info.active {
1025
- background-color: #5bc0de;
1026
- border-color: #46b8da;
1027
  }
1028
  input[type="submit"].dokan-btn-info .badge,
1029
  a.dokan-btn-info .badge,
@@ -4146,6 +4165,14 @@ div.media-sidebar a.edit-attachment {
4146
  text-shadow: none;
4147
  }
4148
  }
 
 
 
 
 
 
 
 
4149
  @media (max-width: 1199px) {
4150
  .dokan-single-store .profile-frame .profile-info-box {
4151
  position: relative;
421
  .dokan-text-left {
422
  text-align: left;
423
  }
424
+ .dokan-text-right {
425
+ text-align: right;
426
+ }
427
+ .woocommerce .form-row.has-error {
428
+ background-color: #ffe5e5;
429
+ padding: 10px;
430
+ border-radius: 3px;
431
+ }
432
+ .woocommerce form.register.dokan-vendor-register {
433
+ border: none;
434
+ padding: 0;
435
+ }
436
+ .woocommerce form.register.dokan-vendor-register .name-field {
437
+ display: flex;
438
+ justify-content: space-between;
439
+ }
440
+ .woocommerce form.register.dokan-vendor-register .name-field p {
441
+ width: 48%;
442
+ }
443
  .wp-editor-wrap {
444
  border: 1px solid #EDEDED;
445
  }
677
  fieldset[disabled] input[type="submit"].dokan-btn-theme.active,
678
  fieldset[disabled] a.dokan-btn-theme.active,
679
  fieldset[disabled] .dokan-btn-theme.active {
680
+ background-color: #f37655;
681
+ border-color: #f37655;
682
  }
683
  input[type="submit"].dokan-btn-theme .badge,
684
  a.dokan-btn-theme .badge,
768
  fieldset[disabled] input[type="submit"].dokan-btn-success.active,
769
  fieldset[disabled] a.dokan-btn-success.active,
770
  fieldset[disabled] .dokan-btn-success.active {
771
+ background-color: #80c780;
772
+ border-color: #6ec06e;
773
  }
774
  input[type="submit"].dokan-btn-success .badge,
775
  a.dokan-btn-success .badge,
859
  fieldset[disabled] input[type="submit"].dokan-btn-default.active,
860
  fieldset[disabled] a.dokan-btn-default.active,
861
  fieldset[disabled] .dokan-btn-default.active {
862
+ background-color: #ffffff;
863
+ border-color: #e6e6e6;
864
  }
865
  input[type="submit"].dokan-btn-default .badge,
866
  a.dokan-btn-default .badge,
950
  fieldset[disabled] input[type="submit"].dokan-btn-danger.active,
951
  fieldset[disabled] a.dokan-btn-danger.active,
952
  fieldset[disabled] .dokan-btn-danger.active {
953
+ background-color: #e27c79;
954
+ border-color: #de6764;
955
  }
956
  input[type="submit"].dokan-btn-danger .badge,
957
  a.dokan-btn-danger .badge,
1041
  fieldset[disabled] input[type="submit"].dokan-btn-info.active,
1042
  fieldset[disabled] a.dokan-btn-info.active,
1043
  fieldset[disabled] .dokan-btn-info.active {
1044
+ background-color: #85d0e7;
1045
+ border-color: #70c8e2;
1046
  }
1047
  input[type="submit"].dokan-btn-info .badge,
1048
  a.dokan-btn-info .badge,
4165
  text-shadow: none;
4166
  }
4167
  }
4168
+ @media (max-width: 767px) {
4169
+ .dokan-store-sidebar,
4170
+ .dokan-single-store {
4171
+ margin-right: 3%;
4172
+ width: 94% !important;
4173
+ margin-left: 3%;
4174
+ }
4175
+ }
4176
  @media (max-width: 1199px) {
4177
  .dokan-single-store .profile-frame .profile-info-box {
4178
  position: relative;
assets/css/vue-admin.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .dokan-dashboard .widgets-wrapper{display:block;overflow:hidden;margin-top:15px;width:100%}.dokan-dashboard .widgets-wrapper .left-side,.dokan-dashboard .widgets-wrapper .right-side{float:left;width:48%}.dokan-dashboard .widgets-wrapper .left-side{margin-right:3%}.dokan-dashboard .dokan-postbox .loading{display:block;width:100%;margin:15px auto;text-align:center}.dokan-dashboard .subscribe-box{margin:20px -12px -11px;padding:0 15px 15px;background:#fafafa;border-top:1px solid #efefef;position:relative}.dokan-dashboard .subscribe-box h3{margin:10px 0}.dokan-dashboard .subscribe-box p{margin-bottom:10px!important}.dokan-dashboard .subscribe-box .thank-you{background:#4fa72b;margin-top:10px;padding:15px;border-radius:3px;color:#fff}.dokan-dashboard .subscribe-box .form-wrap{display:flex}.dokan-dashboard .subscribe-box .form-wrap input[type=email]{width:100%;padding:3px 0 3px 6px;margin:0 -1px 0 0}.dokan-dashboard .subscribe-box .form-wrap button.button{box-shadow:none;background:#ff5722;color:#fff;border-color:#ff5722;border-top-left-radius:0;border-bottom-left-radius:0}.dokan-dashboard .subscribe-box .form-wrap button.button:hover{background:#ff6a3c}.dokan-dashboard .subscribe-box .loading{position:absolute;height:100%;margin:0 0 0 -15px;background:rgba(0,0,0,.2)}.dokan-dashboard .subscribe-box .loading .dokan-loader{margin-top:30px}.withdraw-requests .dokan-modal .modal-body{min-height:130px}.withdraw-requests .dokan-modal .modal-body textarea{width:100%}.withdraw-requests .image{width:10%}.withdraw-requests .seller{width:20%}.withdraw-requests td.seller img{float:left;margin-right:10px;margin-top:1px;width:24px;height:auto}.withdraw-requests td.seller strong{display:block;margin-bottom:.2em;font-size:14px}.withdraw-requests td.actions,.withdraw-requests th.actions{width:120px}.withdraw-requests td.status span{line-height:2.5em;padding:5px 8px;border-radius:4px}.withdraw-requests td.status .approved{background:#c6e1c6;color:#5b841b}.withdraw-requests td.status .pending{background:#f8dda7;color:#94660c}.withdraw-requests td.status .cancelled{background:#eba3a3;color:#761919}.dokan-pro-features{font-family:Open Sans,sans-serif;margin:-10px -20px 0 -22px}.dokan-pro-features a{transition:all .2s ease}.dokan-pro-features .section-title{text-align:center;color:#2e2c2c;font-size:30px;line-height:1.5em;font-weight:400;position:relative;margin:0 0 58px}.dokan-pro-features .section-title:after{content:"";position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);width:38px;height:5px;border-radius:3px;background-color:#f2624d}.dokan-pro-features .header-section{background-color:#f2f2f2;color:#3f4143;font-size:16px;display:flex;align-items:center;padding:0 8%;border-bottom:1px solid #eee}@media (min-width:1281px){.dokan-pro-features .header-section{padding:0 24%}}.dokan-pro-features .header-section .feature-thumb img{width:233px;margin:-20px 0 -30px}.dokan-pro-features .header-section .content-area{padding-left:10%}.dokan-pro-features .header-section .content-area h1{font-size:27px;line-height:1.5em;color:#2e2c2c}.dokan-pro-features .header-section .content-area p{font-size:16px;line-height:1.5em;font-weight:300;margin:0;letter-spacing:.5px}.dokan-pro-features .service-section{text-align:center;padding:73px 30px 85px;background-color:#f7f8f9}@media (min-width:1281px){.dokan-pro-features .service-section{padding-left:20%;padding-right:20%}}.dokan-pro-features .service-section .service-list{display:flex;flex-wrap:wrap}.dokan-pro-features .service-section .service-list .service-box{flex:0 0 28.9%;margin:2.2%;text-align:center;border-radius:5px;background-color:#fff}.dokan-pro-features .service-section .service-list .service-box .service-thumb img{border-radius:5px 5px 0 0;max-width:100%}.dokan-pro-features .service-section .service-list .service-box .service-detail{padding:20px 25px 25px}.dokan-pro-features .service-section .service-list .service-box .service-detail h3{color:#3f4143;font-size:15px;line-height:1.5em;font-weight:300;margin:0}.dokan-pro-features .service-section .btn{font-size:16px;line-height:1.5em;font-weight:300;color:#ffff;background-color:#3984b5;border:1px solid #226b9b;border-radius:3px;text-decoration:none;padding:13px 28px;display:inline-block;margin-top:52px;transition:all .2s ease}.dokan-pro-features .service-section .btn:hover{box-shadow:2.736px 7.518px 20px 0 rgba(0,0,0,.15)}.dokan-pro-features .service-section .btn svg{width:15px;fill:#fff;margin-left:5px}.dokan-pro-features .comparison-section{background-color:#f1f1f1;padding:75px}@media (min-width:1281px){.dokan-pro-features .comparison-section{padding-left:21.2%;padding-right:21.2%}}.dokan-pro-features .comparison-section .section-title{margin-bottom:90px}.dokan-pro-features .comparison-section .comparison-area{display:flex;justify-content:space-between}.dokan-pro-features .comparison-section .comparison-area .compare-box{flex:0 0 48%;background-color:#fff;border:1px solid #e0e9ec;border-radius:5px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:50px;box-sizing:border-box}.dokan-pro-features .comparison-section .comparison-area .compare-box .logo-section{margin-bottom:58px;position:relative}.dokan-pro-features .comparison-section .comparison-area .compare-box .logo-section:after{content:"";position:absolute;bottom:-23px;left:0;width:38px;height:5px;border-radius:3px;background-color:#d7d7d7}.dokan-pro-features .comparison-section .comparison-area .compare-box .logo-section img{width:120px}.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list{margin:0}.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li{font-size:15px;line-height:1.5em;font-weight:300;color:#66676e;margin-bottom:28px;position:relative;display:flex;align-items:center}.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li:last-child{margin-bottom:0}.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li img{width:21px;margin-right:12px}.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li.unavailable{color:#ccced5}.dokan-pro-features .pricing-section{background-color:#f7f8f9;padding:85px 0 62px}.dokan-pro-features .pricing-section .section-title{margin-bottom:120px}.dokan-pro-features .pricing-section .pricing-wrapper{padding:0 4.5%}@media (min-width:1281px){.dokan-pro-features .pricing-section .pricing-wrapper{padding-left:21%;padding-right:21%}}.dokan-pro-features .pricing-section .table-row{display:flex}.dokan-pro-features .pricing-section .table-row:first-child .table-col:first-child{background-color:transparent;border-color:transparent;border-radius:3px 3px 0 0}.dokan-pro-features .pricing-section .table-row:first-child .table-col:nth-child(2){border-radius:3px 0 0 0}.dokan-pro-features .pricing-section .table-row:first-child .table-col:last-child{border-radius:0 3px 0 0}.dokan-pro-features .pricing-section .table-row:first-child .table-col.popular{position:relative}.dokan-pro-features .pricing-section .table-row:first-child .table-col.popular:before{position:absolute;top:-28px;left:0;width:100%;content:"Most Popular";color:#23282d;font-size:14px;line-height:1.4em;background-color:#fc0;border-radius:3px 3px 0 0;padding:5px;box-sizing:border-box}.dokan-pro-features .pricing-section .table-row:nth-child(2) .table-col:first-child{border-radius:3px 3px 0 0}.dokan-pro-features .pricing-section .table-row:nth-last-child(2) .table-col:first-child{border-radius:0 0 5px 5px;border-bottom:1px solid #e7eaeb}.dokan-pro-features .pricing-section .table-row:last-child .table-col{border-bottom:1px solid #e7eaeb}.dokan-pro-features .pricing-section .table-row:last-child .table-col:first-child{border-radius:0 0 5px 5px;background-color:transparent;border-color:transparent}.dokan-pro-features .pricing-section .table-row:last-child .table-col:nth-child(2){border-radius:0 0 0 5px}.dokan-pro-features .pricing-section .table-row:last-child .table-col:last-child{border-radius:0 0 5px 0}.dokan-pro-features .pricing-section .table-row .table-col{width:18.5%;text-align:center;border:1px solid #e7eaeb;padding:18px;background-color:#fff;border-bottom:0;border-left:0;border-right:0}.dokan-pro-features .pricing-section .table-row .table-col:first-child{width:25%;margin-right:2%;text-align:left;border-left:1px solid #e7eaeb;border-right:1px solid #e7eaeb}.dokan-pro-features .pricing-section .table-row .table-col:nth-child(2){border-left:1px solid #e7eaeb}.dokan-pro-features .pricing-section .table-row .table-col:last-child{border-left:1px solid #e7eaeb;border-right:1px solid #e7eaeb}.dokan-pro-features .pricing-section .table-row .table-col.popular{z-index:1;box-shadow:1px 10px 30px 0 rgba(215,223,254,.5)}.dokan-pro-features .pricing-section .table-row .table-col .module-name{color:#157ef5;font-size:14px;line-height:1.5em;font-weight:300;text-decoration:none}.dokan-pro-features .pricing-section .table-row .table-col .plan-data{font-size:15px;color:#3f4143}.dokan-pro-features .pricing-section .table-row .table-col .plan-data img{display:block;margin:0 auto;width:23px}.dokan-pro-features .pricing-section .table-row .table-col .buy-btn{font-size:14px;font-weight:300;border-radius:3px;padding:13px 34px;color:#fff;text-decoration:none;margin:25px 0 14px;display:inline-block;transition:all .2s ease}.dokan-pro-features .pricing-section .table-row .table-col .buy-btn:hover{box-shadow:1px 10px 30px 0 rgba(215,223,254,.5)}.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.starter{background-color:#00bcff}.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.professional{background-color:#2bc66d}.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.business{background-color:#795dff}.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.enterprise{background-color:#ff5956}.dokan-pro-features .pricing-section .plan-name{display:inline-block;background:#000;color:#fff;font-size:14px;font-weight:300;line-height:1.4em;border-radius:25px;padding:5px 20px;min-width:95px;box-sizing:border-box;margin:26px 0 20px}.dokan-pro-features .pricing-section .plan-name.starter{background-color:#00bcff}.dokan-pro-features .pricing-section .plan-name.professional{background-color:#2bc66d}.dokan-pro-features .pricing-section .plan-name.business{background-color:#795dff}.dokan-pro-features .pricing-section .plan-name.enterprise{background-color:#ff5956}.dokan-pro-features .pricing-section .price{margin-bottom:15px}.dokan-pro-features .pricing-section .price span{font-size:14px;line-height:1.2em;font-weight:300;color:#b8bbbe;display:block}.dokan-pro-features .pricing-section .price span:first-child{font-size:28px;line-height:1.5em;font-weight:400;color:#23282d}.dokan-pro-features .pricing-section .price span:first-child sup{font-size:14px}.dokan-pro-features .payment-section{display:flex;background:#fff;justify-content:space-between;padding:20px 65px 15px;align-items:center}@media (min-width:1281px){.dokan-pro-features .payment-section{padding-left:21%;padding-right:21%}}.dokan-pro-features .payment-section .guarantee-section{display:flex;flex:0 0 70%;align-content:center;align-items:center;position:relative}.dokan-pro-features .payment-section .guarantee-section:after{content:"";position:absolute;right:-18px;top:50%;transform:translateY(-50%);width:5px;height:38px;border-radius:3px;background-color:#f1f1f1}.dokan-pro-features .payment-section .guarantee-section .feature-thumb img{max-width:100%;width:160px}.dokan-pro-features .payment-section .guarantee-section .guarantee-detail{padding-left:25px}.dokan-pro-features .payment-section .guarantee-section .guarantee-detail h2{font-size:24px;line-height:1.5em;color:#2e2c2c;font-weight:400;margin:0}.dokan-pro-features .payment-section .guarantee-section .guarantee-detail p{color:#66676e;font-size:15px;line-height:1.5em;font-weight:300;margin:5px 0 20px}.dokan-pro-features .payment-section .guarantee-section .guarantee-detail a{color:#f2624d;font-size:15px;line-height:1.5em;text-decoration:none}.dokan-pro-features .payment-section .guarantee-section .guarantee-detail a img{width:18px;margin-right:4px}.dokan-pro-features .payment-section .payment-area h3{font-size:15px;font-weight:300;color:#66676e;margin:0 0 17px}.dokan-pro-features .payment-section .payment-area .option img{max-width:100%}.dokan-pro-features .testimonial-section{background-color:#f1f1f1;padding:75px 0 70px;text-align:center}.dokan-pro-features .testimonial-section .section-title{margin-bottom:75px}.dokan-pro-features .testimonial-section .testimonial-wrapper{width:80%;text-align:center;margin:0 auto}@media only screen and (min-width:1281px){.dokan-pro-features .testimonial-section .testimonial-wrapper{width:55%}}.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .profile-pic{width:70px;height:70px;border:5px solid #fff;border-radius:50%;background-color:#fff;box-shadow:0 1px 16px 0 rgba(0,0,0,.16);margin:0 auto -35px;z-index:1;position:relative}.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .profile-pic img{border-radius:50%;max-width:100%}.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail{background-color:#fff;color:#000;border-radius:5px;border:1px solid #e0e9ec;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:50px 30px 30px;background-repeat:no-repeat;background-position:40px 40px}.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail h4{font-size:18px;line-height:1.444;color:#f2624d;font-weight:400;margin-top:0;margin-bottom:5px}.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail span{font-size:15px;line-height:1.444;font-weight:300;color:#66676e;margin-bottom:20px;display:inline-block}.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail p{color:#2e2c2c;font-size:14px;line-height:1.9em;font-weight:300}.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots{text-align:center;margin:40px 0 25px}.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li.slick-active button:before{background-color:#3f4143}.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li button{position:relative;font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li button:before{position:absolute;top:0;left:0;width:21px;height:5px;content:"";text-align:center;background-color:#d6d6d6;border-radius:30px}.dokan-pro-features .testimonial-section p{color:#262626;font-size:16px;line-height:1.5em;font-weight:300}.dokan-pro-features .testimonial-section p a{color:#8263f7;text-decoration:none}.dokan-pro-features .cta-section{background-image:linear-gradient(15deg,#ff7d90,#ffad6f);background-repeat:no-repeat;background-position:50%;background-size:contain;text-align:center;padding:35px 75px 40px;color:#fff}.dokan-pro-features .cta-section img{width:60px;border-radius:50%;box-shadow:0 3px 70px 0 rgba(126,17,0,.35)}.dokan-pro-features .cta-section h2{font-size:30px;color:#fff;font-weight:400;line-height:1.333em;text-align:center;margin:10px 0;text-shadow:0 1px 2px hsla(0,0%,100%,.31)}.dokan-pro-features .cta-section p{font-size:16px;line-height:1.5em;font-weight:300;margin:10px 0 30px}.dokan-pro-features .cta-section .btn{background-color:#fff;color:#f2624d;font-size:16px;line-height:1.538em;font-weight:300;border:1px solid #ff9381;border-radius:3px;box-shadow:0 1px 2px 0 rgba(255,128,142,.05);display:inline-block;text-decoration:none;padding:12px 27px}.dokan-pro-features .cta-section .btn:hover{box-shadow:2.736px 7.518px 20px 0 rgba(0,0,0,.15)}.dokan-pro-features .cta-section .btn svg{width:15px;fill:#f2624d;margin-left:6px}.dokan-help-page .section-wrapper{margin-top:15px}.dokan-help-page .section-wrapper .dokan-postbox{width:calc(33% - 2em);margin:0 2% 15px 0;float:left}.dokan-help-page .section-wrapper .dokan-postbox:nth-child(3n+1){clear:both}.dokan-help-page .section-wrapper .dokan-postbox .dashicons{color:#ccc}.dokan-help-page .section-wrapper .dokan-postbox a{text-decoration:none}.dokan-help-page .section-wrapper .dokan-postbox .inside,.dokan-help-page .section-wrapper .dokan-postbox ul{margin-bottom:0}.dokan-help-page .loading{width:100%;text-align:center;margin-top:100px}.dokan-settings-wrap{position:relative;display:flex;border:1px solid #c8d7e1}.dokan-settings-wrap .loading{position:absolute;width:100%;height:100%;background:hsla(0,0%,100%,.6)}.dokan-settings-wrap .loading .dokan-loader{top:40%;left:45%}.dokan-settings-wrap .dashicons{padding-top:2px;margin-right:5px}.dokan-settings-wrap .dashicons.dashicons-admin-generic{color:#6c75ff}.dokan-settings-wrap .dashicons.dashicons-cart{color:#00aeff}.dokan-settings-wrap .dashicons.dashicons-money{color:#d35400}.dokan-settings-wrap .dashicons.dashicons-admin-page{color:#8e44ad}.dokan-settings-wrap .dashicons.dashicons-admin-appearance{color:#3498db}.dokan-settings-wrap .dashicons.dashicons-networking{color:#1abc9c}.dokan-settings-wrap h2.nav-tab-wrapper{flex:1;border-bottom:none;padding:0;background:#f1f1f1;border-right:1px solid #c8d7e1}.dokan-settings-wrap h2.nav-tab-wrapper a{float:none;display:block;margin:0;border:none;padding:13px;background:#f1f1f1;font-weight:500;border-bottom:1px solid #c8d7e1;transition-property:none;transition:none}.dokan-settings-wrap h2.nav-tab-wrapper a.nav-tab-active{background:#fff!important;border-right:1px solid #c8d7e1;width:99%;color:#2e4453;transition:none;transition-property:none}.dokan-settings-wrap .metabox-holder{flex:3;padding-left:3%;padding-right:10px;background:#fff}.dokan-settings-wrap .radio-image-container .radio-image{display:block;width:50%;background:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:0 0 15px;position:relative;line-height:0;border:1px solid #ededed;padding:4px}.dokan-settings-wrap .radio-image-container .radio-image img{max-width:100%;z-index:1}.dokan-settings-wrap .radio-image-container .radio-image .current-option-indicator{position:absolute;top:0;right:0;background-color:#4caf50;color:#fff;padding:4px;z-index:2;line-height:1.4}.dokan-settings-wrap .radio-image-container .radio-image .active-option{opacity:0;position:absolute;top:0;left:0;z-index:3;width:100%;height:100%;background-color:rgba(0,0,0,.45);transition:opacity .4s ease}.dokan-settings-wrap .radio-image-container .radio-image .active-option button{position:absolute;top:50%;left:50%;margin-top:-23px;margin-left:-58px}.dokan-settings-wrap .radio-image-container .radio-image:hover .active-option{opacity:1}.dokan-settings-wrap .radio-image-container .radio-image.active .active-option,.dokan-settings-wrap .radio-image-container .radio-image.not-active .current-option-indicator{display:none}.dokan-settings-wrap .radio-image-container label{display:block;margin-bottom:5px}.dokan-settings-wrap .radio-image-container label>input[type=radio]{visibility:hidden;position:absolute}.dokan-settings-wrap .radio-image-container label>img{max-width:100%}.color-picker-container .color-picker-button[data-v-01dc0d51]{height:24px;padding:0 0 0 30px;margin:0 0 6px;font-size:11px}.color-picker-container .color-picker-button span[data-v-01dc0d51]{display:block;padding:0 6px;line-height:22px;color:#555;text-align:center;background:#f7f7f7;border-left:1px solid #ccc;border-radius:0 2px 2px 0}.color-picker-container .hex-input[data-v-01dc0d51]{width:65px;padding:3px 5px 4px;margin:0 3 0 0;font-family:monospace;font-size:12px;line-height:1.4;vertical-align:top;box-shadow:0 1px 0 #ccc}
2
+ /*# sourceMappingURL=vue-admin.css.map */
assets/css/vue-admin.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["vue-admin.css"],"names":[],"mappings":"AAgBA,kCACE,cAAe,AACf,gBAAiB,AACjB,gBAAiB,AACjB,UAAY,CACb,AACD,2FAEE,WAAY,AACZ,SAAW,CACZ,AACD,6CACE,eAAiB,CAClB,AACD,yCACE,cAAe,AACf,WAAY,AACZ,iBAAkB,AAClB,iBAAmB,CACpB,AACD,gCACE,wBAA+B,AAC/B,oBAAqB,AACrB,mBAAoB,AACpB,6BAA8B,AAC9B,iBAAmB,CACpB,AACD,mCACE,aAAe,CAChB,AACD,kCACE,4BAA+B,CAChC,AACD,2CACE,mBAAoB,AACpB,gBAAiB,AACjB,aAAc,AACd,kBAAmB,AACnB,UAAY,CACb,AACD,2CACE,YAAc,CACf,AACD,6DACE,WAAY,AACZ,sBAAuB,AACvB,iBAAqB,CACtB,AACD,yDACE,gBAAiB,AACjB,mBAAoB,AACpB,WAAY,AACZ,qBAAsB,AACtB,yBAA0B,AAC1B,2BAA6B,CAC9B,AACD,+DACE,kBAAoB,CACrB,AACD,yCACE,kBAAmB,AACnB,YAAa,AACb,mBAAoB,AACpB,yBAA+B,CAChC,AACD,uDACE,eAAiB,CAClB,AAED,4CACE,gBAAkB,CACnB,AACD,qDACE,UAAY,CACb,AACD,0BACE,SAAW,CACZ,AACD,2BACE,SAAW,CACZ,AACD,iCACE,WAAY,AACZ,kBAAmB,AACnB,eAAgB,AAChB,WAAY,AACZ,WAAa,CACd,AACD,oCACE,cAAe,AACf,mBAAoB,AACpB,cAAgB,CACjB,AACD,4DAEE,WAAa,CACd,AACD,kCACE,kBAAmB,AACnB,gBAAiB,AACjB,iBAAmB,CACpB,AACD,uCACE,mBAAoB,AACpB,aAAe,CAChB,AACD,sCACE,mBAAoB,AACpB,aAAe,CAChB,AACD,wCACE,mBAAoB,AACpB,aAAe,CAChB,AAED,oBACE,iCAAqC,AACrC,0BAA4B,CAC7B,AACD,sBACE,uBAAyB,CAC1B,AACD,mCACE,kBAAmB,AACnB,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,kBAAmB,AACnB,eAAiB,CAClB,AACD,yCACE,WAAY,AACZ,kBAAmB,AACnB,aAAc,AACd,SAAU,AACV,2BAA4B,AAC5B,WAAY,AACZ,WAAY,AACZ,kBAAmB,AACnB,wBAA0B,CAC3B,AACD,oCACE,yBAA0B,AAC1B,cAAe,AACf,eAAgB,AAChB,aAAc,AACd,mBAAoB,AACpB,aAAc,AACd,4BAA8B,CAC/B,AACD,0BACA,oCACI,aAAe,CAClB,CACA,AACD,uDACE,YAAa,AACb,oBAAsB,CACvB,AACD,kDACE,gBAAkB,CACnB,AACD,qDACE,eAAgB,AAChB,kBAAmB,AACnB,aAAe,CAChB,AACD,oDACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,SAAU,AACV,mBAAqB,CACtB,AACD,qCACE,kBAAmB,AACnB,uBAAwB,AACxB,wBAA0B,CAC3B,AACD,0BACA,qCACI,iBAAkB,AAClB,iBAAmB,CACtB,CACA,AACD,mDACE,aAAc,AACd,cAAgB,CACjB,AACD,gEACE,eAAgB,AAChB,YAAa,AACb,kBAAmB,AACnB,kBAAmB,AACnB,qBAA0B,CAC3B,AACD,mFACE,0BAA2B,AAC3B,cAAgB,CACjB,AACD,gFACE,sBAAwB,CACzB,AACD,mFACE,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,QAAU,CACX,AACD,0CACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,YAAa,AACb,yBAA0B,AAC1B,yBAA0B,AAC1B,kBAAmB,AACnB,qBAAsB,AACtB,kBAAmB,AACnB,qBAAsB,AACtB,gBAAiB,AACjB,uBAAyB,CAC1B,AACD,gDACE,iDAAuD,CACxD,AACD,8CACE,WAAY,AACZ,UAAW,AACX,eAAiB,CAClB,AACD,wCACE,yBAA0B,AAC1B,YAAc,CACf,AACD,0BACA,wCACI,mBAAoB,AACpB,mBAAqB,CACxB,CACA,AACD,uDACE,kBAAoB,CACrB,AACD,yDACE,aAAc,AACd,6BAA+B,CAChC,AACD,sEACE,aAAc,AACd,sBAAuB,AACvB,yBAA0B,AAC1B,kBAAmB,AACnB,uCAAgD,AAChD,aAAc,AACd,qBAAuB,CACxB,AACD,oFACE,mBAAoB,AACpB,iBAAmB,CACpB,AACD,0FACE,WAAY,AACZ,kBAAmB,AACnB,aAAc,AACd,OAAQ,AACR,WAAY,AACZ,WAAY,AACZ,kBAAmB,AACnB,wBAA0B,CAC3B,AACD,wFACE,WAAa,CACd,AACD,oFACE,QAAU,CACX,AACD,uFACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,cAAe,AACf,mBAAoB,AACpB,kBAAmB,AACnB,aAAc,AACd,kBAAoB,CACrB,AACD,kGACE,eAAiB,CAClB,AACD,2FACE,WAAY,AACZ,iBAAmB,CACpB,AACD,mGACE,aAAe,CAChB,AACD,qCACE,yBAA0B,AAC1B,mBAAqB,CACtB,AACD,oDACE,mBAAqB,CACtB,AACD,sDACE,cAAgB,CACjB,AACD,0BACA,sDACI,iBAAkB,AAClB,iBAAmB,CACtB,CACA,AACD,gDACE,YAAc,CACf,AACD,mFACE,6BAA8B,AAC9B,yBAA0B,AAC1B,yBAA2B,CAC5B,AACD,oFACE,uBAAyB,CAC1B,AACD,kFACE,uBAAyB,CAC1B,AACD,+EACE,iBAAmB,CACpB,AACD,sFACE,kBAAmB,AACnB,UAAW,AACX,OAAQ,AACR,WAAY,AACZ,uBAAwB,AACxB,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,sBAA0B,AAC1B,0BAA2B,AAC3B,YAAa,AACb,qBAAuB,CACxB,AACD,oFACE,yBAA2B,CAC5B,AACD,yFACE,0BAA2B,AAC3B,+BAAiC,CAClC,AACD,sEACE,+BAAiC,CAClC,AACD,kFACE,0BAA2B,AAC3B,6BAA8B,AAC9B,wBAA0B,CAC3B,AACD,mFACE,uBAAyB,CAC1B,AACD,iFACE,uBAAyB,CAC1B,AACD,2DACE,YAAa,AACb,kBAAmB,AACnB,yBAA0B,AAC1B,aAAc,AACd,sBAAuB,AACvB,gBAAiB,AACjB,cAAe,AACf,cAAgB,CACjB,AACD,uEACE,UAAW,AACX,gBAAiB,AACjB,gBAAiB,AACjB,8BAA+B,AAC/B,8BAAgC,CACjC,AACD,wEACE,6BAA+B,CAChC,AACD,sEACE,8BAA+B,AAC/B,8BAAgC,CACjC,AACD,mEACE,UAAW,AACX,+CAAqD,CACtD,AACD,wEACE,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,oBAAsB,CACvB,AACD,sEACE,eAAgB,AAChB,aAAe,CAChB,AACD,0EACE,cAAe,AACf,cAAe,AACf,UAAY,CACb,AACD,oEACE,eAAgB,AAChB,gBAAiB,AACjB,kBAAmB,AACnB,kBAAmB,AACnB,WAAY,AACZ,qBAAsB,AACtB,mBAAoB,AACpB,qBAAsB,AACtB,uBAAyB,CAC1B,AACD,0EACE,+CAAqD,CACtD,AACD,4EACE,wBAA0B,CAC3B,AACD,iFACE,wBAA0B,CAC3B,AACD,6EACE,wBAA0B,CAC3B,AACD,+EACE,wBAA0B,CAC3B,AACD,gDACE,qBAAsB,AACtB,gBAAkB,AAClB,WAAY,AACZ,eAAgB,AAChB,gBAAiB,AACjB,kBAAmB,AACnB,mBAAoB,AACpB,iBAAkB,AAClB,eAAgB,AAChB,sBAAuB,AACvB,kBAAoB,CACrB,AACD,wDACE,wBAA0B,CAC3B,AACD,6DACE,wBAA0B,CAC3B,AACD,yDACE,wBAA0B,CAC3B,AACD,2DACE,wBAA0B,CAC3B,AACD,4CACE,kBAAoB,CACrB,AACD,iDACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,cAAe,AACf,aAAe,CAChB,AACD,6DACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,aAAe,CAChB,AACD,iEACE,cAAgB,CACjB,AACD,qCACE,aAAc,AACd,gBAAiB,AACjB,8BAA+B,AAC/B,uBAAwB,AACxB,kBAAoB,CACrB,AACD,0BACA,qCACI,iBAAkB,AAClB,iBAAmB,CACtB,CACA,AACD,wDACE,aAAc,AACd,aAAc,AACd,qBAAsB,AACtB,mBAAoB,AACpB,iBAAmB,CACpB,AACD,8DACE,WAAY,AACZ,kBAAmB,AACnB,YAAa,AACb,QAAS,AACT,2BAA4B,AAC5B,UAAW,AACX,YAAa,AACb,kBAAmB,AACnB,wBAA0B,CAC3B,AACD,2EACE,eAAgB,AAChB,WAAa,CACd,AACD,0EACE,iBAAmB,CACpB,AACD,6EACE,eAAgB,AAChB,kBAAmB,AACnB,cAAe,AACf,gBAAiB,AACjB,QAAU,CACX,AACD,4EACE,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,iBAAmB,CACpB,AACD,4EACE,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,oBAAsB,CACvB,AACD,gFACE,WAAY,AACZ,gBAAkB,CACnB,AACD,sDACE,eAAgB,AAChB,gBAAiB,AACjB,cAAe,AACf,eAAmB,CACpB,AACD,+DACE,cAAgB,CACjB,AACD,yCACE,yBAA0B,AAC1B,oBAAqB,AACrB,iBAAmB,CACpB,AACD,wDACE,kBAAoB,CACrB,AACD,8DACE,UAAW,AACX,kBAAmB,AACnB,aAAe,CAChB,AACD,0CACA,8DACI,SAAW,CACd,CACA,AACD,4FACE,WAAY,AACZ,YAAa,AACb,sBAAuB,AACvB,kBAAmB,AACnB,sBAAuB,AACvB,wCAAiD,AACjD,oBAAqB,AACrB,UAAW,AACX,iBAAmB,CACpB,AACD,gGACE,kBAAmB,AACnB,cAAgB,CACjB,AACD,+FACE,sBAAuB,AACvB,WAAY,AACZ,kBAAmB,AACnB,yBAA0B,AAC1B,uCAAgD,AAChD,uBAAwB,AACxB,4BAA6B,AAC7B,6BAA+B,CAChC,AACD,kGACE,eAAgB,AAChB,kBAAmB,AACnB,cAAe,AACf,gBAAiB,AACjB,aAAc,AACd,iBAAmB,CACpB,AACD,oGACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,cAAe,AACf,mBAAoB,AACpB,oBAAsB,CACvB,AACD,iGACE,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,eAAiB,CAClB,AACD,0EACE,kBAAmB,AACnB,kBAAoB,CACrB,AACD,6EACE,kBAAmB,AACnB,qBAAsB,AACtB,WAAY,AACZ,YAAa,AACb,aAAc,AACd,UAAW,AACX,cAAgB,CACjB,AACD,wGACE,wBAA0B,CAC3B,AACD,oFACE,kBAAmB,AACnB,YAAa,AACb,cAAe,AACf,cAAe,AACf,WAAY,AACZ,YAAa,AACb,YAAa,AACb,eAAgB,AAChB,kBAAmB,AACnB,SAAU,AACV,aAAc,AACd,sBAAwB,CACzB,AACD,2FACE,kBAAmB,AACnB,MAAO,AACP,OAAQ,AACR,WAAY,AACZ,WAAY,AACZ,WAAY,AACZ,kBAAmB,AACnB,yBAA0B,AAC1B,kBAAoB,CACrB,AACD,2CACE,cAAe,AACf,eAAgB,AAChB,kBAAmB,AACnB,eAAiB,CAClB,AACD,6CACE,cAAe,AACf,oBAAsB,CACvB,AACD,iCAIE,wDAAmE,AACnE,4BAA6B,AAC7B,wBAAmC,AACnC,wBAAyB,AACzB,kBAAmB,AACnB,uBAAwB,AACxB,UAAY,CACb,AACD,qCACE,WAAY,AACZ,kBAAmB,AACnB,0CAAoD,CACrD,AACD,oCACE,eAAgB,AAChB,WAAY,AACZ,gBAAiB,AACjB,oBAAqB,AACrB,kBAAmB,AACnB,cAAe,AACf,yCAAmD,CACpD,AACD,mCACE,eAAgB,AAChB,kBAAmB,AACnB,gBAAiB,AACjB,kBAAoB,CACrB,AACD,sCACE,sBAAuB,AACvB,cAAe,AACf,eAAgB,AAChB,oBAAqB,AACrB,gBAAiB,AACjB,yBAA0B,AAC1B,kBAAmB,AACnB,6CAAsD,AACtD,qBAAsB,AACtB,qBAAsB,AACtB,iBAAmB,CACpB,AACD,4CACE,iDAAuD,CACxD,AACD,0CACE,WAAY,AACZ,aAAc,AACd,eAAiB,CAClB,AAED,kCACE,eAAiB,CAClB,AACD,iDACE,sBAAuB,AACvB,mBAAoB,AACpB,UAAY,CACb,AACD,iEACE,UAAY,CACb,AACD,4DACE,UAAY,CACb,AACD,mDACE,oBAAsB,CACvB,AACD,6GAEE,eAAiB,CAClB,AACD,0BACE,WAAY,AACZ,kBAAmB,AACnB,gBAAkB,CACnB,AAED,qBACE,kBAAmB,AACnB,aAAc,AACd,wBAA0B,CAC3B,AACD,8BACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,6BAAqC,CACtC,AACD,4CACE,QAAS,AACT,QAAU,CACX,AACD,gCACE,gBAAiB,AACjB,gBAAkB,CACnB,AACD,wDACE,aAAe,CAChB,AACD,+CACE,aAAe,CAChB,AACD,gDACE,aAAe,CAChB,AACD,qDACE,aAAe,CAChB,AACD,2DACE,aAAe,CAChB,AACD,qDACE,aAAe,CAChB,AACD,wCACE,OAAQ,AACR,mBAAoB,AACpB,UAAW,AACX,mBAAoB,AACpB,8BAAgC,CACjC,AACD,0CACE,WAAY,AACZ,cAAe,AACf,SAAU,AACV,YAAa,AACb,aAAmB,AACnB,mBAAoB,AACpB,gBAAiB,AACjB,gCAAiC,AACjC,yBAA0B,AAC1B,eAAiB,CAClB,AACD,yDACE,0BAA4B,AAC5B,+BAAgC,AAChC,UAAW,AACX,cAAe,AACf,gBAAiB,AACjB,wBAA0B,CAC3B,AACD,qCACE,OAAQ,AACR,gBAAiB,AACjB,mBAAoB,AACpB,eAAiB,CAClB,AACD,yDACE,cAAe,AACf,UAAW,AACX,gBAAiB,AAEjB,sCAA2C,AAC3C,gBAAiB,AACjB,kBAAmB,AACnB,cAAe,AACf,yBAA0B,AAC1B,WAAa,CACd,AACD,6DACE,eAAgB,AAChB,SAAW,CACZ,AACD,mFACE,kBAAmB,AACnB,MAAO,AACP,QAAS,AACT,yBAA0B,AAC1B,WAAY,AACZ,YAAa,AACb,UAAW,AACX,eAAiB,CAClB,AACD,wEACE,UAAW,AACX,kBAAmB,AACnB,MAAO,AACP,OAAQ,AACR,UAAW,AACX,WAAY,AACZ,YAAa,AACb,iCAAsC,AACtC,2BAA8B,CAC/B,AACD,+EACE,kBAAmB,AACnB,QAAS,AACT,SAAU,AACV,iBAAkB,AAClB,iBAAmB,CACpB,AACD,8EACE,SAAW,CACZ,AAID,6KACE,YAAc,CACf,AACD,kDACE,cAAe,AACf,iBAAmB,CACpB,AACD,oEACE,kBAAmB,AAEnB,iBAAmB,CAEpB,AACD,sDACE,cAAgB,CACjB,AAED,8DACE,YAAa,AACb,mBAAoB,AACpB,eAAgB,AAChB,cAAgB,CACjB,AACD,mEACE,cAAe,AACf,cAAe,AACf,iBAAkB,AAClB,WAAY,AACZ,kBAAmB,AACnB,mBAAoB,AACpB,2BAA4B,AAC5B,yBAA2B,CAC5B,AACD,oDACE,WAAY,AACZ,oBAAqB,AACrB,eAAgB,AAChB,sBAAuB,AACvB,eAAgB,AAChB,gBAAiB,AACjB,mBAAoB,AACpB,uBAAyB,CAC1B","file":"vue-admin.css","sourcesContent":["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.dokan-dashboard .widgets-wrapper {\n display: block;\n overflow: hidden;\n margin-top: 15px;\n width: 100%;\n}\n.dokan-dashboard .widgets-wrapper .left-side,\n.dokan-dashboard .widgets-wrapper .right-side {\n float: left;\n width: 48%;\n}\n.dokan-dashboard .widgets-wrapper .left-side {\n margin-right: 3%;\n}\n.dokan-dashboard .dokan-postbox .loading {\n display: block;\n width: 100%;\n margin: 15px auto;\n text-align: center;\n}\n.dokan-dashboard .subscribe-box {\n margin: 20px -12px -11px -12px;\n padding: 0 15px 15px;\n background: #fafafa;\n border-top: 1px solid #efefef;\n position: relative;\n}\n.dokan-dashboard .subscribe-box h3 {\n margin: 10px 0;\n}\n.dokan-dashboard .subscribe-box p {\n margin-bottom: 10px !important;\n}\n.dokan-dashboard .subscribe-box .thank-you {\n background: #4fa72b;\n margin-top: 10px;\n padding: 15px;\n border-radius: 3px;\n color: #fff;\n}\n.dokan-dashboard .subscribe-box .form-wrap {\n display: flex;\n}\n.dokan-dashboard .subscribe-box .form-wrap input[type=\"email\"] {\n width: 100%;\n padding: 3px 0 3px 6px;\n margin: 0px -1px 0 0;\n}\n.dokan-dashboard .subscribe-box .form-wrap button.button {\n box-shadow: none;\n background: #FF5722;\n color: #fff;\n border-color: #FF5722;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.dokan-dashboard .subscribe-box .form-wrap button.button:hover {\n background: #ff6a3c;\n}\n.dokan-dashboard .subscribe-box .loading {\n position: absolute;\n height: 100%;\n margin: 0 0 0 -15px;\n background: rgba(0, 0, 0, 0.2);\n}\n.dokan-dashboard .subscribe-box .loading .dokan-loader {\n margin-top: 30px;\n}\n\n.withdraw-requests .dokan-modal .modal-body {\n min-height: 130px;\n}\n.withdraw-requests .dokan-modal .modal-body textarea {\n width: 100%;\n}\n.withdraw-requests .image {\n width: 10%;\n}\n.withdraw-requests .seller {\n width: 20%;\n}\n.withdraw-requests td.seller img {\n float: left;\n margin-right: 10px;\n margin-top: 1px;\n width: 24px;\n height: auto;\n}\n.withdraw-requests td.seller strong {\n display: block;\n margin-bottom: .2em;\n font-size: 14px;\n}\n.withdraw-requests td.actions,\n.withdraw-requests th.actions {\n width: 120px;\n}\n.withdraw-requests td.status span {\n line-height: 2.5em;\n padding: 5px 8px;\n border-radius: 4px;\n}\n.withdraw-requests td.status .approved {\n background: #c6e1c6;\n color: #5b841b;\n}\n.withdraw-requests td.status .pending {\n background: #f8dda7;\n color: #94660c;\n}\n.withdraw-requests td.status .cancelled {\n background: #eba3a3;\n color: #761919;\n}\n\n.dokan-pro-features {\n font-family: 'Open Sans', sans-serif;\n margin: -10px -20px 0 -22px;\n}\n.dokan-pro-features a {\n transition: all .2s ease;\n}\n.dokan-pro-features .section-title {\n text-align: center;\n color: #2e2c2c;\n font-size: 30px;\n line-height: 1.5em;\n font-weight: 400;\n position: relative;\n margin: 0 0 58px;\n}\n.dokan-pro-features .section-title:after {\n content: '';\n position: absolute;\n bottom: -21px;\n left: 50%;\n transform: translateX(-50%);\n width: 38px;\n height: 5px;\n border-radius: 3px;\n background-color: #f2624d;\n}\n.dokan-pro-features .header-section {\n background-color: #f2f2f2;\n color: #3f4143;\n font-size: 16px;\n display: flex;\n align-items: center;\n padding: 0 8%;\n border-bottom: 1px solid #eee;\n}\n@media (min-width: 1281px) {\n.dokan-pro-features .header-section {\n padding: 0 24%;\n}\n}\n.dokan-pro-features .header-section .feature-thumb img {\n width: 233px;\n margin: -20px 0 -30px;\n}\n.dokan-pro-features .header-section .content-area {\n padding-left: 10%;\n}\n.dokan-pro-features .header-section .content-area h1 {\n font-size: 27px;\n line-height: 1.5em;\n color: #2e2c2c;\n}\n.dokan-pro-features .header-section .content-area p {\n font-size: 16px;\n line-height: 1.5em;\n font-weight: 300;\n margin: 0;\n letter-spacing: .5px;\n}\n.dokan-pro-features .service-section {\n text-align: center;\n padding: 73px 30px 85px;\n background-color: #f7f8f9;\n}\n@media (min-width: 1281px) {\n.dokan-pro-features .service-section {\n padding-left: 20%;\n padding-right: 20%;\n}\n}\n.dokan-pro-features .service-section .service-list {\n display: flex;\n flex-wrap: wrap;\n}\n.dokan-pro-features .service-section .service-list .service-box {\n flex: 0 0 28.9%;\n margin: 2.2%;\n text-align: center;\n border-radius: 5px;\n background-color: #ffffff;\n}\n.dokan-pro-features .service-section .service-list .service-box .service-thumb img {\n border-radius: 5px 5px 0 0;\n max-width: 100%;\n}\n.dokan-pro-features .service-section .service-list .service-box .service-detail {\n padding: 20px 25px 25px;\n}\n.dokan-pro-features .service-section .service-list .service-box .service-detail h3 {\n color: #3f4143;\n font-size: 15px;\n line-height: 1.5em;\n font-weight: 300;\n margin: 0;\n}\n.dokan-pro-features .service-section .btn {\n font-size: 16px;\n line-height: 1.5em;\n font-weight: 300;\n color: #ffff;\n background-color: #3984b5;\n border: 1px solid #226b9b;\n border-radius: 3px;\n text-decoration: none;\n padding: 13px 28px;\n display: inline-block;\n margin-top: 52px;\n transition: all .2s ease;\n}\n.dokan-pro-features .service-section .btn:hover {\n box-shadow: 2.736px 7.518px 20px 0 rgba(0, 0, 0, 0.15);\n}\n.dokan-pro-features .service-section .btn svg {\n width: 15px;\n fill: #fff;\n margin-left: 5px;\n}\n.dokan-pro-features .comparison-section {\n background-color: #f1f1f1;\n padding: 75px;\n}\n@media (min-width: 1281px) {\n.dokan-pro-features .comparison-section {\n padding-left: 21.2%;\n padding-right: 21.2%;\n}\n}\n.dokan-pro-features .comparison-section .section-title {\n margin-bottom: 90px;\n}\n.dokan-pro-features .comparison-section .comparison-area {\n display: flex;\n justify-content: space-between;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box {\n flex: 0 0 48%;\n background-color: #fff;\n border: 1px solid #E0E9EC;\n border-radius: 5px;\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);\n padding: 50px;\n box-sizing: border-box;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .logo-section {\n margin-bottom: 58px;\n position: relative;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .logo-section:after {\n content: \"\";\n position: absolute;\n bottom: -23px;\n left: 0;\n width: 38px;\n height: 5px;\n border-radius: 3px;\n background-color: #d7d7d7;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .logo-section img {\n width: 120px;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list {\n margin: 0;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li {\n font-size: 15px;\n line-height: 1.5em;\n font-weight: 300;\n color: #66676E;\n margin-bottom: 28px;\n position: relative;\n display: flex;\n align-items: center;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li:last-child {\n margin-bottom: 0;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li img {\n width: 21px;\n margin-right: 12px;\n}\n.dokan-pro-features .comparison-section .comparison-area .compare-box .compare-list li.unavailable {\n color: #ccced5;\n}\n.dokan-pro-features .pricing-section {\n background-color: #f7f8f9;\n padding: 85px 0 62px;\n}\n.dokan-pro-features .pricing-section .section-title {\n margin-bottom: 120px;\n}\n.dokan-pro-features .pricing-section .pricing-wrapper {\n padding: 0 4.5%;\n}\n@media (min-width: 1281px) {\n.dokan-pro-features .pricing-section .pricing-wrapper {\n padding-left: 21%;\n padding-right: 21%;\n}\n}\n.dokan-pro-features .pricing-section .table-row {\n display: flex;\n}\n.dokan-pro-features .pricing-section .table-row:first-child .table-col:first-child {\n background-color: transparent;\n border-color: transparent;\n border-radius: 3px 3px 0 0;\n}\n.dokan-pro-features .pricing-section .table-row:first-child .table-col:nth-child(2) {\n border-radius: 3px 0 0 0;\n}\n.dokan-pro-features .pricing-section .table-row:first-child .table-col:last-child {\n border-radius: 0 3px 0 0;\n}\n.dokan-pro-features .pricing-section .table-row:first-child .table-col.popular {\n position: relative;\n}\n.dokan-pro-features .pricing-section .table-row:first-child .table-col.popular:before {\n position: absolute;\n top: -28px;\n left: 0;\n width: 100%;\n content: 'Most Popular';\n color: #23282d;\n font-size: 14px;\n line-height: 1.4em;\n background-color: #ffcc00;\n border-radius: 3px 3px 0 0;\n padding: 5px;\n box-sizing: border-box;\n}\n.dokan-pro-features .pricing-section .table-row:nth-child(2) .table-col:first-child {\n border-radius: 3px 3px 0 0;\n}\n.dokan-pro-features .pricing-section .table-row:nth-last-child(2) .table-col:first-child {\n border-radius: 0 0 5px 5px;\n border-bottom: 1px solid #e7eaeb;\n}\n.dokan-pro-features .pricing-section .table-row:last-child .table-col {\n border-bottom: 1px solid #e7eaeb;\n}\n.dokan-pro-features .pricing-section .table-row:last-child .table-col:first-child {\n border-radius: 0 0 5px 5px;\n background-color: transparent;\n border-color: transparent;\n}\n.dokan-pro-features .pricing-section .table-row:last-child .table-col:nth-child(2) {\n border-radius: 0 0 0 5px;\n}\n.dokan-pro-features .pricing-section .table-row:last-child .table-col:last-child {\n border-radius: 0 0 5px 0;\n}\n.dokan-pro-features .pricing-section .table-row .table-col {\n width: 18.5%;\n text-align: center;\n border: 1px solid #e7eaeb;\n padding: 18px;\n background-color: #fff;\n border-bottom: 0;\n border-left: 0;\n border-right: 0;\n}\n.dokan-pro-features .pricing-section .table-row .table-col:first-child {\n width: 25%;\n margin-right: 2%;\n text-align: left;\n border-left: 1px solid #e7eaeb;\n border-right: 1px solid #e7eaeb;\n}\n.dokan-pro-features .pricing-section .table-row .table-col:nth-child(2) {\n border-left: 1px solid #e7eaeb;\n}\n.dokan-pro-features .pricing-section .table-row .table-col:last-child {\n border-left: 1px solid #e7eaeb;\n border-right: 1px solid #e7eaeb;\n}\n.dokan-pro-features .pricing-section .table-row .table-col.popular {\n z-index: 1;\n box-shadow: 1px 10px 30px 0 rgba(215, 223, 254, 0.5);\n}\n.dokan-pro-features .pricing-section .table-row .table-col .module-name {\n color: #157ef5;\n font-size: 14px;\n line-height: 1.5em;\n font-weight: 300;\n text-decoration: none;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .plan-data {\n font-size: 15px;\n color: #3f4143;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .plan-data img {\n display: block;\n margin: 0 auto;\n width: 23px;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .buy-btn {\n font-size: 14px;\n font-weight: 300;\n border-radius: 3px;\n padding: 13px 34px;\n color: #fff;\n text-decoration: none;\n margin: 25px 0 14px;\n display: inline-block;\n transition: all .2s ease;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .buy-btn:hover {\n box-shadow: 1px 10px 30px 0 rgba(215, 223, 254, 0.5);\n}\n.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.starter {\n background-color: #00bcff;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.professional {\n background-color: #2bc66d;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.business {\n background-color: #795dff;\n}\n.dokan-pro-features .pricing-section .table-row .table-col .buy-btn.enterprise {\n background-color: #ff5956;\n}\n.dokan-pro-features .pricing-section .plan-name {\n display: inline-block;\n background: black;\n color: #fff;\n font-size: 14px;\n font-weight: 300;\n line-height: 1.4em;\n border-radius: 25px;\n padding: 5px 20px;\n min-width: 95px;\n box-sizing: border-box;\n margin: 26px 0 20px;\n}\n.dokan-pro-features .pricing-section .plan-name.starter {\n background-color: #00bcff;\n}\n.dokan-pro-features .pricing-section .plan-name.professional {\n background-color: #2bc66d;\n}\n.dokan-pro-features .pricing-section .plan-name.business {\n background-color: #795dff;\n}\n.dokan-pro-features .pricing-section .plan-name.enterprise {\n background-color: #ff5956;\n}\n.dokan-pro-features .pricing-section .price {\n margin-bottom: 15px;\n}\n.dokan-pro-features .pricing-section .price span {\n font-size: 14px;\n line-height: 1.2em;\n font-weight: 300;\n color: #b8bbbe;\n display: block;\n}\n.dokan-pro-features .pricing-section .price span:first-child {\n font-size: 28px;\n line-height: 1.5em;\n font-weight: 400;\n color: #23282d;\n}\n.dokan-pro-features .pricing-section .price span:first-child sup {\n font-size: 14px;\n}\n.dokan-pro-features .payment-section {\n display: flex;\n background: #fff;\n justify-content: space-between;\n padding: 20px 65px 15px;\n align-items: center;\n}\n@media (min-width: 1281px) {\n.dokan-pro-features .payment-section {\n padding-left: 21%;\n padding-right: 21%;\n}\n}\n.dokan-pro-features .payment-section .guarantee-section {\n display: flex;\n flex: 0 0 70%;\n align-content: center;\n align-items: center;\n position: relative;\n}\n.dokan-pro-features .payment-section .guarantee-section:after {\n content: \"\";\n position: absolute;\n right: -18px;\n top: 50%;\n transform: translateY(-50%);\n width: 5px;\n height: 38px;\n border-radius: 3px;\n background-color: #f1f1f1;\n}\n.dokan-pro-features .payment-section .guarantee-section .feature-thumb img {\n max-width: 100%;\n width: 160px;\n}\n.dokan-pro-features .payment-section .guarantee-section .guarantee-detail {\n padding-left: 25px;\n}\n.dokan-pro-features .payment-section .guarantee-section .guarantee-detail h2 {\n font-size: 24px;\n line-height: 1.5em;\n color: #2e2c2c;\n font-weight: 400;\n margin: 0;\n}\n.dokan-pro-features .payment-section .guarantee-section .guarantee-detail p {\n color: #66676e;\n font-size: 15px;\n line-height: 1.5em;\n font-weight: 300;\n margin: 5px 0 20px;\n}\n.dokan-pro-features .payment-section .guarantee-section .guarantee-detail a {\n color: #f2624d;\n font-size: 15px;\n line-height: 1.5em;\n text-decoration: none;\n}\n.dokan-pro-features .payment-section .guarantee-section .guarantee-detail a img {\n width: 18px;\n margin-right: 4px;\n}\n.dokan-pro-features .payment-section .payment-area h3 {\n font-size: 15px;\n font-weight: 300;\n color: #66676e;\n margin: 0px 0 17px;\n}\n.dokan-pro-features .payment-section .payment-area .option img {\n max-width: 100%;\n}\n.dokan-pro-features .testimonial-section {\n background-color: #f1f1f1;\n padding: 75px 0 70px;\n text-align: center;\n}\n.dokan-pro-features .testimonial-section .section-title {\n margin-bottom: 75px;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper {\n width: 80%;\n text-align: center;\n margin: 0 auto;\n}\n@media only screen and (min-width: 1281px) {\n.dokan-pro-features .testimonial-section .testimonial-wrapper {\n width: 55%;\n}\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .profile-pic {\n width: 70px;\n height: 70px;\n border: 5px solid #fff;\n border-radius: 50%;\n background-color: #fff;\n box-shadow: 0px 1px 16px 0px rgba(0, 0, 0, 0.16);\n margin: 0 auto -35px;\n z-index: 1;\n position: relative;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .profile-pic img {\n border-radius: 50%;\n max-width: 100%;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail {\n background-color: #fff;\n color: #000;\n border-radius: 5px;\n border: 1px solid #E0E9EC;\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);\n padding: 50px 30px 30px;\n background-repeat: no-repeat;\n background-position: 40px 40px;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail h4 {\n font-size: 18px;\n line-height: 1.444;\n color: #F2624D;\n font-weight: 400;\n margin-top: 0;\n margin-bottom: 5px;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail span {\n font-size: 15px;\n line-height: 1.444;\n font-weight: 300;\n color: #66676e;\n margin-bottom: 20px;\n display: inline-block;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .testimonial-box .content-detail p {\n color: #2e2c2c;\n font-size: 14px;\n line-height: 1.9em;\n font-weight: 300;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots {\n text-align: center;\n margin: 40px 0 25px;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li {\n position: relative;\n display: inline-block;\n width: 20px;\n height: 20px;\n margin: 0 5px;\n padding: 0;\n cursor: pointer;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li.slick-active button:before {\n background-color: #3f4143;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li button {\n position: relative;\n font-size: 0;\n line-height: 0;\n display: block;\n width: 20px;\n height: 20px;\n padding: 5px;\n cursor: pointer;\n color: transparent;\n border: 0;\n outline: none;\n background: transparent;\n}\n.dokan-pro-features .testimonial-section .testimonial-wrapper .slick-dots li button:before {\n position: absolute;\n top: 0;\n left: 0;\n width: 21px;\n height: 5px;\n content: '';\n text-align: center;\n background-color: #d6d6d6;\n border-radius: 30px;\n}\n.dokan-pro-features .testimonial-section p {\n color: #262626;\n font-size: 16px;\n line-height: 1.5em;\n font-weight: 300;\n}\n.dokan-pro-features .testimonial-section p a {\n color: #8263f7;\n text-decoration: none;\n}\n.dokan-pro-features .cta-section {\n background-image: -moz-linear-gradient(15deg, #ff7d90 0%, #ffad6f 100%);\n background-image: -webkit-linear-gradient(15deg, #ff7d90 0%, #ffad6f 100%);\n background-image: -ms-linear-gradient(15deg, #ff7d90 0%, #ffad6f 100%);\n background-image: linear-gradient(15deg, #ff7d90 0%, #ffad6f 100%);\n background-repeat: no-repeat;\n background-position: center center;\n background-size: contain;\n text-align: center;\n padding: 35px 75px 40px;\n color: #fff;\n}\n.dokan-pro-features .cta-section img {\n width: 60px;\n border-radius: 50%;\n box-shadow: 0px 3px 70px 0px rgba(126, 17, 0, 0.35);\n}\n.dokan-pro-features .cta-section h2 {\n font-size: 30px;\n color: #fff;\n font-weight: 400;\n line-height: 1.333em;\n text-align: center;\n margin: 10px 0;\n text-shadow: 0px 1px 2px rgba(255, 255, 255, 0.31);\n}\n.dokan-pro-features .cta-section p {\n font-size: 16px;\n line-height: 1.5em;\n font-weight: 300;\n margin: 10px 0 30px;\n}\n.dokan-pro-features .cta-section .btn {\n background-color: #fff;\n color: #f2624d;\n font-size: 16px;\n line-height: 1.538em;\n font-weight: 300;\n border: 1px solid #FF9381;\n border-radius: 3px;\n box-shadow: 0px 1px 2px 0px rgba(255, 128, 142, 0.05);\n display: inline-block;\n text-decoration: none;\n padding: 12px 27px;\n}\n.dokan-pro-features .cta-section .btn:hover {\n box-shadow: 2.736px 7.518px 20px 0 rgba(0, 0, 0, 0.15);\n}\n.dokan-pro-features .cta-section .btn svg {\n width: 15px;\n fill: #f2624d;\n margin-left: 6px;\n}\n\n.dokan-help-page .section-wrapper {\n margin-top: 15px;\n}\n.dokan-help-page .section-wrapper .dokan-postbox {\n width: calc(33% - 2em);\n margin: 0 2% 15px 0;\n float: left;\n}\n.dokan-help-page .section-wrapper .dokan-postbox:nth-child(3n+1) {\n clear: both;\n}\n.dokan-help-page .section-wrapper .dokan-postbox .dashicons {\n color: #ccc;\n}\n.dokan-help-page .section-wrapper .dokan-postbox a {\n text-decoration: none;\n}\n.dokan-help-page .section-wrapper .dokan-postbox .inside,\n.dokan-help-page .section-wrapper .dokan-postbox ul {\n margin-bottom: 0;\n}\n.dokan-help-page .loading {\n width: 100%;\n text-align: center;\n margin-top: 100px;\n}\n\n.dokan-settings-wrap {\n position: relative;\n display: flex;\n border: 1px solid #c8d7e1;\n}\n.dokan-settings-wrap .loading {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(255, 255, 255, 0.6);\n}\n.dokan-settings-wrap .loading .dokan-loader {\n top: 40%;\n left: 45%;\n}\n.dokan-settings-wrap .dashicons {\n padding-top: 2px;\n margin-right: 5px;\n}\n.dokan-settings-wrap .dashicons.dashicons-admin-generic {\n color: #6c75ff;\n}\n.dokan-settings-wrap .dashicons.dashicons-cart {\n color: #00aeff;\n}\n.dokan-settings-wrap .dashicons.dashicons-money {\n color: #d35400;\n}\n.dokan-settings-wrap .dashicons.dashicons-admin-page {\n color: #8e44ad;\n}\n.dokan-settings-wrap .dashicons.dashicons-admin-appearance {\n color: #3498db;\n}\n.dokan-settings-wrap .dashicons.dashicons-networking {\n color: #1abc9c;\n}\n.dokan-settings-wrap h2.nav-tab-wrapper {\n flex: 1;\n border-bottom: none;\n padding: 0;\n background: #f1f1f1;\n border-right: 1px solid #c8d7e1;\n}\n.dokan-settings-wrap h2.nav-tab-wrapper a {\n float: none;\n display: block;\n margin: 0;\n border: none;\n padding: 13px 13px;\n background: #f1f1f1;\n font-weight: 500;\n border-bottom: 1px solid #c8d7e1;\n transition-property: none;\n transition: none;\n}\n.dokan-settings-wrap h2.nav-tab-wrapper a.nav-tab-active {\n background: #fff !important;\n border-right: 1px solid #c8d7e1;\n width: 99%;\n color: #2e4453;\n transition: none;\n transition-property: none;\n}\n.dokan-settings-wrap .metabox-holder {\n flex: 3;\n padding-left: 3%;\n padding-right: 10px;\n background: #fff;\n}\n.dokan-settings-wrap .radio-image-container .radio-image {\n display: block;\n width: 50%;\n background: #fff;\n -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);\n margin: 0 0 15px;\n position: relative;\n line-height: 0;\n border: 1px solid #ededed;\n padding: 4px;\n}\n.dokan-settings-wrap .radio-image-container .radio-image img {\n max-width: 100%;\n z-index: 1;\n}\n.dokan-settings-wrap .radio-image-container .radio-image .current-option-indicator {\n position: absolute;\n top: 0;\n right: 0;\n background-color: #4CAF50;\n color: #fff;\n padding: 4px;\n z-index: 2;\n line-height: 1.4;\n}\n.dokan-settings-wrap .radio-image-container .radio-image .active-option {\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 3;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.45);\n transition: opacity 0.4s ease;\n}\n.dokan-settings-wrap .radio-image-container .radio-image .active-option button {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -23px;\n margin-left: -58px;\n}\n.dokan-settings-wrap .radio-image-container .radio-image:hover .active-option {\n opacity: 1;\n}\n.dokan-settings-wrap .radio-image-container .radio-image.active .active-option {\n display: none;\n}\n.dokan-settings-wrap .radio-image-container .radio-image.not-active .current-option-indicator {\n display: none;\n}\n.dokan-settings-wrap .radio-image-container label {\n display: block;\n margin-bottom: 5px;\n}\n.dokan-settings-wrap .radio-image-container label > input[type='radio'] {\n visibility: hidden;\n /* Makes input not-clickable */\n position: absolute;\n /* Remove input from document flow */\n}\n.dokan-settings-wrap .radio-image-container label > img {\n max-width: 100%;\n}\n\n.color-picker-container .color-picker-button[data-v-01dc0d51] {\n height: 24px;\n padding: 0 0 0 30px;\n margin: 0 0 6px;\n font-size: 11px;\n}\n.color-picker-container .color-picker-button span[data-v-01dc0d51] {\n display: block;\n padding: 0 6px;\n line-height: 22px;\n color: #555;\n text-align: center;\n background: #f7f7f7;\n border-left: 1px solid #ccc;\n border-radius: 0 2px 2px 0;\n}\n.color-picker-container .hex-input[data-v-01dc0d51] {\n width: 65px;\n padding: 3px 5px 4px;\n margin: 0 3 0 0;\n font-family: monospace;\n font-size: 12px;\n line-height: 1.4;\n vertical-align: top;\n box-shadow: 0 1px 0 #ccc;\n}\n"]}
assets/css/vue-bootstrap.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .dokan-postbox .toggle-indicator:before{content:"\F142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.dokan-postbox.closed .toggle-indicator:before{content:"\F140"}.dokan-postbox{position:relative}.dokan-postbox h2.hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.dokan-loader{display:inline-block;position:relative;width:64px;height:64px}.dokan-loader div{position:absolute;border:4px solid #ff5722;opacity:1;border-radius:50%;animation:dokan-loader 1s cubic-bezier(0,.2,.8,1) infinite}.dokan-loader div:nth-child(2){animation-delay:-.5s}@keyframes dokan-loader{0%{top:28px;left:28px;width:0;height:0;opacity:1}to{top:-1px;left:-1px;width:58px;height:58px;opacity:0}}.dokan-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.dokan-modal *{box-sizing:border-box}.dokan-modal .dokan-modal-content{position:fixed;background:#fff;z-index:100000;left:50%;top:50%;transform:translate(-50%,-50%);width:500px}.dokan-modal .dokan-modal-main.has-footer{padding-bottom:55px}.dokan-modal header.modal-header{height:auto;background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}.dokan-modal header.modal-header h1{margin:0;padding:0;font-size:18px;font-weight:700;line-height:1.5em}.dokan-modal header.modal-header .modal-close-link{cursor:pointer;color:#777;height:54px;width:54px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;transition:color .1s ease-in-out,background .1s ease-in-out}.dokan-modal header.modal-header .modal-close-link:before{font:normal 22px/50px dashicons!important;color:#666;display:block;content:"\F335";font-weight:300}.dokan-modal header.modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.dokan-modal .modal-body{min-height:100px;padding:15px;max-height:150px;overflow-y:scroll}.dokan-modal footer{position:absolute;left:0;right:0;bottom:-30px;z-index:100;padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.dokan-modal footer .inner{text-align:right;line-height:23px}.switch{position:relative;display:inline-block;width:40px;height:18px}.switch input{display:none}.switch input:checked+.slider{background-color:#64b450}.switch input:checked+.slider:before{transform:translateX(22px)}.switch input:focus+.slider{box-shadow:0 0 1px #2196f3}.switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.switch .slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:#fff;transition:.4s}.switch .slider.round{border-radius:34px}.switch .slider.round:before{border-radius:50%}
2
+ /*# sourceMappingURL=vue-bootstrap.css.map */
assets/css/vue-bootstrap.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["vue-bootstrap.css"],"names":[],"mappings":"AACA,wCACI,gBAAiB,AACjB,qBAAsB,AACtB,0BAA2B,AAC3B,WAAY,AACZ,mCAAoC,AACpC,kCAAmC,AACnC,8BAA+B,CAClC,AACD,+CACI,eAAiB,CACpB,AACD,eACI,iBAAmB,CACtB,AACD,wBACI,eAAgB,AAChB,iBAAkB,AAClB,SAAU,AACV,eAAiB,CACpB,AAED,cACI,qBAAsB,AACtB,kBAAmB,AACnB,WAAY,AACZ,WAAa,CAChB,AACD,kBACI,kBAAmB,AACnB,yBAA0B,AAC1B,UAAW,AACX,kBAAmB,AACnB,0DAAiE,CACpE,AACD,+BACI,oBAAuB,CAC1B,AACD,wBACA,GACQ,SAAU,AACV,UAAW,AACX,QAAS,AACT,SAAU,AACV,SAAW,CAClB,AACD,GACQ,SAAU,AACV,UAAW,AACX,WAAY,AACZ,YAAa,AACb,SAAW,CAClB,CACA,AAED,sBACE,eAAgB,AAChB,MAAO,AACP,OAAQ,AACR,QAAS,AACT,SAAU,AACV,iBAAkB,AAClB,gBAAiB,AACjB,WAAY,AACZ,aAAe,CAChB,AACD,eACE,qBAAuB,CACxB,AACD,kCACE,eAAgB,AAChB,gBAAiB,AACjB,eAAgB,AAChB,SAAU,AACV,QAAS,AAGT,+BAAiC,AACjC,WAAa,CACd,AACD,0CACE,mBAAqB,CACtB,AACD,iCACE,YAAa,AACb,mBAAoB,AACpB,kBAAmB,AACnB,4BAA8B,CAC/B,AACD,oCACE,SAAU,AACV,UAAW,AACX,eAAgB,AAChB,gBAAiB,AACjB,iBAAmB,CACpB,AACD,mDACE,eAAgB,AAChB,WAAY,AACZ,YAAa,AACb,WAAY,AACZ,UAAW,AACX,kBAAmB,AACnB,MAAO,AACP,QAAS,AACT,kBAAmB,AACnB,SAAU,AACV,2BAA4B,AAC5B,6BAA8B,AAE9B,2DAAgE,CACjE,AACD,0DACE,0CAA4C,AAC5C,WAAY,AACZ,cAAe,AACf,gBAAiB,AACjB,eAAiB,CAClB,AACD,yDACE,gBAAiB,AACjB,kBAAmB,AACnB,UAAY,CACb,AACD,yBACE,iBAAkB,AAClB,aAAc,AACd,iBAAkB,AAClB,iBAAmB,CACpB,AACD,oBACE,kBAAmB,AACnB,OAAQ,AACR,QAAS,AACT,aAAc,AACd,YAAa,AACb,kBAAmB,AACnB,mBAAoB,AACpB,6BAA8B,AAE9B,yCAA+C,CAChD,AACD,2BACE,iBAAkB,AAClB,gBAAkB,CACnB,AAED,QACE,kBAAmB,AACnB,qBAAsB,AACtB,WAAY,AACZ,WAAa,CACd,AACD,cACE,YAAc,CACf,AACD,8BACE,wBAA0B,CAC3B,AACD,qCAGE,0BAA4B,CAC7B,AACD,4BACE,0BAA4B,CAC7B,AACD,gBACE,kBAAmB,AACnB,eAAgB,AAChB,MAAO,AACP,OAAQ,AACR,QAAS,AACT,SAAU,AACV,sBAAuB,AAEvB,cAAgB,CACjB,AACD,uBACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,WAAY,AACZ,SAAU,AACV,WAAY,AACZ,sBAAwB,AAExB,cAAgB,CACjB,AACD,sBACE,kBAAoB,CACrB,AACD,6BACE,iBAAmB,CACpB","file":"vue-bootstrap.css","sourcesContent":["\n.dokan-postbox .toggle-indicator:before {\n content: \"\\F142\";\n display: inline-block;\n font: 400 20px/1 dashicons;\n speak: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-decoration: none!important\n}\n.dokan-postbox.closed .toggle-indicator:before {\n content: \"\\F140\";\n}\n.dokan-postbox {\n position: relative;\n}\n.dokan-postbox h2.hndle {\n font-size: 14px;\n padding: 8px 12px;\n margin: 0;\n line-height: 1.4;\n}\n\n.dokan-loader {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 64px;\n}\n.dokan-loader div {\n position: absolute;\n border: 4px solid #FF5722;\n opacity: 1;\n border-radius: 50%;\n animation: dokan-loader 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n}\n.dokan-loader div:nth-child(2) {\n animation-delay: -0.5s;\n}\n@keyframes dokan-loader {\n0% {\n top: 28px;\n left: 28px;\n width: 0;\n height: 0;\n opacity: 1;\n}\n100% {\n top: -1px;\n left: -1px;\n width: 58px;\n height: 58px;\n opacity: 0;\n}\n}\n\n.dokan-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n min-height: 360px;\n background: #000;\n opacity: .7;\n z-index: 99900;\n}\n.dokan-modal * {\n box-sizing: border-box;\n}\n.dokan-modal .dokan-modal-content {\n position: fixed;\n background: #fff;\n z-index: 100000;\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n width: 500px;\n}\n.dokan-modal .dokan-modal-main.has-footer {\n padding-bottom: 55px;\n}\n.dokan-modal header.modal-header {\n height: auto;\n background: #fcfcfc;\n padding: 1em 1.5em;\n border-bottom: 1px solid #ddd;\n}\n.dokan-modal header.modal-header h1 {\n margin: 0;\n padding: 0;\n font-size: 18px;\n font-weight: 700;\n line-height: 1.5em;\n}\n.dokan-modal header.modal-header .modal-close-link {\n cursor: pointer;\n color: #777;\n height: 54px;\n width: 54px;\n padding: 0;\n position: absolute;\n top: 0;\n right: 0;\n text-align: center;\n border: 0;\n border-left: 1px solid #ddd;\n background-color: transparent;\n -webkit-transition: color 0.1s ease-in-out, background 0.1s ease-in-out;\n transition: color 0.1s ease-in-out, background 0.1s ease-in-out;\n}\n.dokan-modal header.modal-header .modal-close-link::before {\n font: normal 22px/50px dashicons !important;\n color: #666;\n display: block;\n content: '\\F335';\n font-weight: 300;\n}\n.dokan-modal header.modal-header .modal-close-link:hover {\n background: #ddd;\n border-color: #ccc;\n color: #000;\n}\n.dokan-modal .modal-body {\n min-height: 100px;\n padding: 15px;\n max-height: 150px;\n overflow-y: scroll;\n}\n.dokan-modal footer {\n position: absolute;\n left: 0;\n right: 0;\n bottom: -30px;\n z-index: 100;\n padding: 1em 1.5em;\n background: #fcfcfc;\n border-top: 1px solid #dfdfdf;\n -webkit-box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1);\n box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1);\n}\n.dokan-modal footer .inner {\n text-align: right;\n line-height: 23px;\n}\n\n.switch {\n position: relative;\n display: inline-block;\n width: 40px;\n height: 18px;\n}\n.switch input {\n display: none;\n}\n.switch input:checked + .slider {\n background-color: #64b450;\n}\n.switch input:checked + .slider:before {\n -webkit-transform: translateX(22px);\n -ms-transform: translateX(22px);\n transform: translateX(22px);\n}\n.switch input:focus + .slider {\n box-shadow: 0 0 1px #2196F3;\n}\n.switch .slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n -webkit-transition: .4s;\n transition: .4s;\n}\n.switch .slider:before {\n position: absolute;\n content: \"\";\n height: 14px;\n width: 14px;\n left: 2px;\n bottom: 2px;\n background-color: white;\n -webkit-transition: .4s;\n transition: .4s;\n}\n.switch .slider.round {\n border-radius: 34px;\n}\n.switch .slider.round:before {\n border-radius: 50%;\n}\n"]}
assets/css/vue-frontend.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+
2
+ /*# sourceMappingURL=vue-frontend.css.map */
assets/css/vue-frontend.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"vue-frontend.css"}
assets/css/vue-vendor.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .vc-sketch{position:relative;width:200px;padding:10px 10px 0;box-sizing:initial;background:#fff;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.15)}.vc-sketch-saturation-wrap{width:100%;padding-bottom:75%;position:relative;overflow:hidden}.vc-sketch-controls{display:flex}.vc-sketch-sliders{padding:4px 0;flex:1}.vc-sketch-sliders .vc-alpha-gradient,.vc-sketch-sliders .vc-hue{border-radius:2px}.vc-sketch-alpha-wrap,.vc-sketch-hue-wrap{position:relative;height:10px}.vc-sketch-alpha-wrap{margin-top:4px;overflow:hidden}.vc-sketch-color-wrap{width:24px;height:24px;position:relative;margin-top:4px;margin-left:4px;border-radius:3px}.vc-sketch-active-color{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15),inset 0 0 4px rgba(0,0,0,.25);z-index:2}.vc-sketch-color-wrap .vc-checkerboard{background-size:auto}.vc-sketch-field{display:flex;padding-top:4px}.vc-sketch-field .vc-input__input{width:80%;padding:4px 10% 3px;border:none;box-shadow:inset 0 0 0 1px #ccc;font-size:11px}.vc-sketch-field .vc-input__label{display:block;text-align:center;font-size:11px;color:#222;padding-top:3px;padding-bottom:4px;text-transform:capitalize}.vc-sketch-field--single{flex:1;padding-left:6px}.vc-sketch-field--double{flex:2}.vc-sketch-presets{margin-right:-10px;margin-left:-10px;padding-left:10px;padding-top:10px;border-top:1px solid #eee}.vc-sketch-presets-color{border-radius:3px;overflow:hidden;position:relative;display:inline-block;margin:0 10px 10px 0;vertical-align:top;cursor:pointer;width:16px;height:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.vc-sketch__disable-alpha .vc-sketch-color-wrap{height:10px}.vc-editable-input{position:relative}.vc-input__input{padding:0;border:0;outline:none}.vc-input__label{text-transform:capitalize}.vc-saturation,.vc-saturation--black,.vc-saturation--white{cursor:pointer;position:absolute;top:0;left:0;right:0;bottom:0}.vc-saturation--white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.vc-saturation--black{background:linear-gradient(0deg,#000,transparent)}.vc-saturation-pointer{cursor:pointer;position:absolute}.vc-saturation-circle{cursor:head;width:4px;height:4px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;transform:translate(-2px,-2px)}.vc-hue{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px}.vc-hue--horizontal{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue--vertical{background:linear-gradient(0deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.vc-hue-container{cursor:pointer;margin:0 2px;position:relative;height:100%}.vc-hue-pointer{z-index:2;position:absolute}.vc-hue-picker{cursor:pointer;margin-top:1px;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;transform:translateX(-2px)}.vc-alpha,.vc-alpha-checkboard-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.vc-alpha-checkboard-wrap{overflow:hidden}.vc-alpha-gradient{position:absolute;top:0;right:0;bottom:0;left:0}.vc-alpha-container{cursor:pointer;position:relative;z-index:2;height:100%;margin:0 3px}.vc-alpha-pointer{z-index:2;position:absolute}.vc-alpha-picker{cursor:pointer;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px rgba(0,0,0,.6);background:#fff;margin-top:1px;transform:translateX(-2px)}.vc-checkerboard{position:absolute;top:0;right:0;bottom:0;left:0;background-size:contain}.table-loading{position:relative}.table-loading .table-loader-wrap{position:absolute;width:100%;height:100%;z-index:9}.table-loading .table-loader-wrap .table-loader-center{position:absolute;top:50%;transform:translateY(-50%);width:100%}.table-loading .tablenav,.table-loading .wp-list-table{opacity:.4}.table-loader{font-size:10px;margin:50px auto;text-indent:-9999em;width:11em;height:11em;border-radius:50%;background:#fff;background:linear-gradient(90deg,#fff 10%,hsla(0,0%,100%,0) 42%);position:relative;animation:tableLoading 1s infinite linear;transform:translateZ(0)}.table-loader:before{width:50%;height:50%;background:#fff;border-radius:100% 0 0 0}.table-loader:after,.table-loader:before{position:absolute;top:0;left:0;content:""}.table-loader:after{background:#f4f4f4;width:75%;height:75%;border-radius:50%;margin:auto;bottom:0;right:0}@keyframes tableLoading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
2
+ /*# sourceMappingURL=vue-vendor.css.map */
assets/css/vue-vendor.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["vue-vendor.css"],"names":[],"mappings":"AACA,WACE,kBAAmB,AACnB,YAAa,AACb,oBAAqB,AACrB,mBAAoB,AACpB,gBAAiB,AACjB,kBAAmB,AACnB,+DAAkE,CACnE,AACD,2BACE,WAAY,AACZ,mBAAoB,AACpB,kBAAmB,AACnB,eAAiB,CAClB,AACD,oBACE,YAAc,CACf,AACD,mBACE,cAAe,AACf,MAAQ,CACT,AACD,iEAEE,iBAAmB,CACpB,AAKD,0CAHE,kBAAmB,AACnB,WAAa,CAOd,AALD,sBAGE,eAAgB,AAChB,eAAiB,CAClB,AACD,sBACE,WAAY,AACZ,YAAa,AACb,kBAAmB,AACnB,eAAgB,AAChB,gBAAiB,AACjB,iBAAmB,CACpB,AACD,wBACE,kBAAmB,AACnB,MAAO,AACP,OAAQ,AACR,QAAS,AACT,SAAU,AACV,kBAAmB,AACnB,yEAA2E,AAC3E,SAAW,CACZ,AACD,uCACE,oBAAsB,CACvB,AACD,iBACE,aAAc,AACd,eAAiB,CAClB,AACD,kCACE,UAAW,AACX,oBAAqB,AACrB,YAAa,AACb,gCAAiC,AACjC,cAAgB,CACjB,AACD,kCACE,cAAe,AACf,kBAAmB,AACnB,eAAgB,AAChB,WAAY,AACZ,gBAAiB,AACjB,mBAAoB,AACpB,yBAA2B,CAC5B,AACD,yBACE,OAAQ,AACR,gBAAkB,CACnB,AACD,yBACE,MAAQ,CACT,AACD,mBACE,mBAAoB,AACpB,kBAAmB,AACnB,kBAAmB,AACnB,iBAAkB,AAClB,yBAA2B,CAC5B,AACD,yBACE,kBAAmB,AACnB,gBAAiB,AACjB,kBAAmB,AACnB,qBAAsB,AACtB,qBAAsB,AACtB,mBAAoB,AACpB,eAAgB,AAChB,WAAY,AACZ,YAAa,AACb,0CAA4C,CAC7C,AACD,gDACE,WAAa,CACd,AAED,mBACE,iBAAmB,CACpB,AACD,iBACE,UAAW,AACX,SAAU,AACV,YAAc,CACf,AACD,iBACE,yBAA2B,CAC5B,AAED,2DAGE,eAAgB,AAChB,kBAAmB,AACnB,MAAO,AACP,OAAQ,AACR,QAAS,AACT,QAAU,CACX,AACD,sBACE,wDAAiE,CAClE,AACD,sBACE,iDAAyD,CAC1D,AACD,uBACE,eAAgB,AAChB,iBAAmB,CACpB,AACD,sBACE,YAAa,AACb,UAAW,AACX,WAAY,AACZ,wFAA2F,AAC3F,kBAAmB,AACnB,8BAAiC,CAClC,AAED,QACE,kBAAmB,AACnB,MAAS,AACT,QAAW,AACX,SAAY,AACZ,OAAU,AACV,iBAAmB,CACpB,AACD,oBACE,wFAA4G,CAC7G,AACD,kBACE,uFAA0G,CAC3G,AACD,kBACE,eAAgB,AAChB,aAAc,AACd,kBAAmB,AACnB,WAAa,CACd,AACD,gBACE,UAAW,AACX,iBAAmB,CACpB,AACD,eACE,eAAgB,AAChB,eAAgB,AAChB,UAAW,AACX,kBAAmB,AACnB,WAAY,AACZ,kCAAsC,AACtC,gBAAiB,AACjB,0BAA6B,CAC9B,AASD,oCANE,kBAAmB,AACnB,MAAS,AACT,QAAW,AACX,SAAY,AACZ,MAAU,CASX,AAPD,0BAME,eAAiB,CAClB,AACD,mBACE,kBAAmB,AACnB,MAAS,AACT,QAAW,AACX,SAAY,AACZ,MAAU,CACX,AACD,oBACE,eAAgB,AAChB,kBAAmB,AACnB,UAAW,AACX,YAAa,AACb,YAAc,CACf,AACD,kBACE,UAAW,AACX,iBAAmB,CACpB,AACD,iBACE,eAAgB,AAChB,UAAW,AACX,kBAAmB,AACnB,WAAY,AACZ,kCAAsC,AACtC,gBAAiB,AACjB,eAAgB,AAChB,0BAA4B,CAC7B,AAED,iBACE,kBAAmB,AACnB,MAAS,AACT,QAAW,AACX,SAAY,AACZ,OAAU,AACV,uBAAyB,CAC1B,AAED,eACE,iBAAmB,CACpB,AACD,kCACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,SAAW,CACZ,AACD,uDACE,kBAAmB,AACnB,QAAS,AACT,2BAA4B,AAC5B,UAAY,CACb,AACD,uDAEE,UAAa,CACd,AACD,cACE,eAAgB,AAChB,iBAAkB,AAClB,oBAAqB,AACrB,WAAY,AACZ,YAAa,AACb,kBAAmB,AACnB,gBAAoB,AAKpB,iEAA+E,AAC/E,kBAAmB,AAEnB,0CAA2C,AAG3C,uBAAyB,CAC1B,AACD,qBACE,UAAW,AACX,WAAY,AACZ,gBAAoB,AACpB,wBAA0B,CAK3B,AACD,yCALE,kBAAmB,AACnB,MAAO,AACP,OAAQ,AACR,UAAY,CAcb,AAZD,oBACE,mBAAoB,AACpB,UAAW,AACX,WAAY,AACZ,kBAAmB,AAEnB,YAAa,AAIb,SAAU,AACV,OAAS,CACV,AAWD,wBACA,GAEI,sBAAwB,CAC3B,AACD,GAEI,uBAA0B,CAC7B,CACA","file":"vue-vendor.css","sourcesContent":["\n.vc-sketch {\n position: relative;\n width: 200px;\n padding: 10px 10px 0;\n box-sizing: initial;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15);\n}\n.vc-sketch-saturation-wrap {\n width: 100%;\n padding-bottom: 75%;\n position: relative;\n overflow: hidden;\n}\n.vc-sketch-controls {\n display: flex;\n}\n.vc-sketch-sliders {\n padding: 4px 0;\n flex: 1;\n}\n.vc-sketch-sliders .vc-hue,\n.vc-sketch-sliders .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-sketch-hue-wrap {\n position: relative;\n height: 10px;\n}\n.vc-sketch-alpha-wrap {\n position: relative;\n height: 10px;\n margin-top: 4px;\n overflow: hidden;\n}\n.vc-sketch-color-wrap {\n width: 24px;\n height: 24px;\n position: relative;\n margin-top: 4px;\n margin-left: 4px;\n border-radius: 3px;\n}\n.vc-sketch-active-color {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 2px;\n box-shadow: inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25);\n z-index: 2;\n}\n.vc-sketch-color-wrap .vc-checkerboard {\n background-size: auto;\n}\n.vc-sketch-field {\n display: flex;\n padding-top: 4px;\n}\n.vc-sketch-field .vc-input__input {\n width: 80%;\n padding: 4px 10% 3px;\n border: none;\n box-shadow: inset 0 0 0 1px #ccc;\n font-size: 11px;\n}\n.vc-sketch-field .vc-input__label {\n display: block;\n text-align: center;\n font-size: 11px;\n color: #222;\n padding-top: 3px;\n padding-bottom: 4px;\n text-transform: capitalize;\n}\n.vc-sketch-field--single {\n flex: 1;\n padding-left: 6px;\n}\n.vc-sketch-field--double {\n flex: 2;\n}\n.vc-sketch-presets {\n margin-right: -10px;\n margin-left: -10px;\n padding-left: 10px;\n padding-top: 10px;\n border-top: 1px solid #eee;\n}\n.vc-sketch-presets-color {\n border-radius: 3px;\n overflow: hidden;\n position: relative;\n display: inline-block;\n margin: 0 10px 10px 0;\n vertical-align: top;\n cursor: pointer;\n width: 16px;\n height: 16px;\n box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);\n}\n.vc-sketch__disable-alpha .vc-sketch-color-wrap {\n height: 10px;\n}\n\n.vc-editable-input {\n position: relative;\n}\n.vc-input__input {\n padding: 0;\n border: 0;\n outline: none;\n}\n.vc-input__label {\n text-transform: capitalize;\n}\n\n.vc-saturation,\n.vc-saturation--white,\n.vc-saturation--black {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.vc-saturation--white {\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n}\n.vc-saturation--black {\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n}\n.vc-saturation-pointer {\n cursor: pointer;\n position: absolute;\n}\n.vc-saturation-circle {\n cursor: head;\n width: 4px;\n height: 4px;\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\n border-radius: 50%;\n transform: translate(-2px, -2px);\n}\n\n.vc-hue {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n border-radius: 2px;\n}\n.vc-hue--horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue--vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue-container {\n cursor: pointer;\n margin: 0 2px;\n position: relative;\n height: 100%;\n}\n.vc-hue-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-hue-picker {\n cursor: pointer;\n margin-top: 1px;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n transform: translateX(-2px) ;\n}\n\n.vc-alpha {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-checkboard-wrap {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n overflow: hidden;\n}\n.vc-alpha-gradient {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-container {\n cursor: pointer;\n position: relative;\n z-index: 2;\n height: 100%;\n margin: 0 3px;\n}\n.vc-alpha-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-alpha-picker {\n cursor: pointer;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n}\n\n.vc-checkerboard {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n background-size: contain;\n}\n\n.table-loading {\n position: relative;\n}\n.table-loading .table-loader-wrap {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 9;\n}\n.table-loading .table-loader-wrap .table-loader-center {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 100%;\n}\n.table-loading .wp-list-table,\n.table-loading .tablenav {\n opacity: 0.4;\n}\n.table-loader {\n font-size: 10px;\n margin: 50px auto;\n text-indent: -9999em;\n width: 11em;\n height: 11em;\n border-radius: 50%;\n background: #ffffff;\n background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);\n background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);\n background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);\n background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);\n background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);\n position: relative;\n -webkit-animation: tableLoading 1s infinite linear;\n animation: tableLoading 1s infinite linear;\n -webkit-transform: translateZ(0);\n -ms-transform: translateZ(0);\n transform: translateZ(0);\n}\n.table-loader:before {\n width: 50%;\n height: 50%;\n background: #ffffff;\n border-radius: 100% 0 0 0;\n position: absolute;\n top: 0;\n left: 0;\n content: '';\n}\n.table-loader:after {\n background: #f4f4f4;\n width: 75%;\n height: 75%;\n border-radius: 50%;\n content: '';\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n@-webkit-keyframes tableLoading {\n0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n}\n100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n}\n}\n@keyframes tableLoading {\n0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n}\n100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n}\n}\n"]}
assets/font/Flaticon.eot ADDED
Binary file
assets/font/Flaticon.svg ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <!--
4
+ 2018-3-24: Created with FontForge (http://fontforge.org)
5
+ -->
6
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
7
+ <metadata>
8
+ Created by FontForge 20160405 at Sat Mar 24 15:52:30 2018
9
+ By Apache
10
+ Copyright (c) 2018, Apache
11
+ </metadata>
12
+ <defs>
13
+ <font id="Flaticon" horiz-adv-x="512" >
14
+ <font-face
15
+ font-family="Flaticon"
16
+ font-weight="400"
17
+ font-stretch="normal"
18
+ units-per-em="512"
19
+ panose-1="2 0 5 3 0 0 0 0 0 0"
20
+ ascent="448"
21
+ descent="-64"
22
+ bbox="-0.000560957 -64.001 512 448"
23
+ underline-thickness="25.6"
24
+ underline-position="-51.2"
25
+ unicode-range="U+0020-F10D"
26
+ />
27
+ <missing-glyph />
28
+ <glyph glyph-name="space" unicode=" " horiz-adv-x="200"
29
+ />
30
+ <glyph glyph-name="uniF103" unicode="&#xf103;"
31
+ d="M397.864 227.375c3.83984 -7.86328 5.47559 -16.3057 6.20605 -24.9756c1.35254 -15.4004 1.40723 -30.7451 -2.49707 -45.8721c-0.196289 -0.862305 -0.447266 -1.67969 -0.6875 -2.49805c-5.85645 -18.7803 -17.6357 -27.8115 -37.2783 -27.9961
32
+ c-5.72559 -0.0332031 -11.4512 1.00293 -17.5039 1.5918v-40.2773h-40.6699c-0.0771484 1.21094 -0.164062 2.47559 -0.164062 3.70801v146.386v4.38477h19.5117c0.992188 0 1.97363 -0.0771484 2.95508 0.0107422c6.59863 0.523438 12.9902 0.675781 15.9785 -7.23145
33
+ c1.46094 1.03613 2.44238 1.69043 3.4248 2.37793c10.5459 7.37305 22.0957 8.56152 34.1914 5.22363c7.88477 -2.16992 13.0547 -7.64453 16.5332 -14.832zM362.19 164.074c2.97656 14.3633 2.5625 28.8906 0.621094 43.3096
34
+ c-0.730469 5.7041 -4.35156 7.53613 -9.9248 5.92188c-1.30859 -0.381836 -2.54102 -0.926758 -3.81738 -1.3418c-2.25781 -0.719727 -3.15137 -2.01758 -3.12988 -4.58008c0.152344 -14.626 0.0654297 -29.2734 0.0654297 -43.9199v-7.56934
35
+ c9.00879 -3.30469 14.3311 -0.795898 16.1855 8.17969zM237.65 238.598c-0.164062 -10.0889 -0.0654297 -20.1768 -0.0654297 -30.4834c-4.52637 0.567383 -8.5293 1.16699 -12.5645 1.54883c-2.06152 0.173828 -4.18848 0.0322266 -6.26074 -0.229492
36
+ c-8.43066 -1.10156 -9.5752 -2.43164 -9.5752 -10.7422v-66.1582v-4.18848h-40.4297v113.208c0.828125 0.109375 1.75586 0.28418 2.67188 0.28418c8.74707 0.0214844 17.4932 -0.0654297 26.251 0.0761719c2.28027 0.0322266 3.61035 -0.675781 4.57031 -2.74805
37
+ c1.24316 -2.66113 2.81348 -5.16992 4.29688 -7.83105c7.4707 11.8555 15.0068 14.876 27.7129 11.4951c2.38867 -0.632812 3.4248 -1.57031 3.39258 -4.23145zM288.354 276.17c0 -11.3096 -9.16113 -20.4824 -20.4707 -20.4824h-0.0654297
38
+ c-1.625 -0.0214844 -3.30469 0.185547 -4.94043 0.600586c-3.63184 0.916016 -6.79492 2.7373 -9.27051 5.17969c-3.83984 3.73047 -6.22754 8.94336 -6.22754 14.7129c0 10.252 7.53613 18.7588 17.373 20.2422c0.240234 0.0986328 0.491211 0.174805 0.731445 0.229492
39
+ h4.42773c0.109375 -0.0546875 0.196289 -0.0878906 0.293945 -0.15332c10.2305 -1.14453 18.1484 -9.80469 18.1484 -20.3291zM247.51 241.673h40.2656v-113.415h-40.2656v113.415zM509.263 207.089c1.54883 -11.5498 1.85352 -23.252 2.71582 -35.5439h-55.3389
40
+ c-1.06934 -8.02734 2.25684 -13.0225 9.68457 -14.1562c9.73926 -1.52734 19.3477 0.479492 28.9346 2.07227c3.23926 0.555664 6.47852 1.15625 10.252 1.83203v-20.8525c0 -8.96582 0 -8.94336 -8.71387 -11.1357c-15.1279 -3.82812 -30.3525 -4.49316 -45.7197 -1.41797
41
+ c-17.2539 3.44629 -27.8555 14.1133 -32.25 30.7344c-4.61328 17.374 -4.63574 34.9551 0.108398 52.252c5.82422 21.2783 20.0576 31.8799 43.8545 32.9482c12.2158 0.535156 23.918 -1.25391 33.374 -10.0557c7.75391 -7.19824 11.7354 -16.5557 13.0986 -26.6768z
42
+ M455.832 193.838c6.12988 0 11.5283 0 18.127 -0.0107422c-0.796875 7.23047 -1.00391 14.2432 -2.41113 21.0049c-1.14453 5.50781 -7.89551 6.6748 -11.582 2.36719c-1.17773 -1.3418 -2.14844 -3.17383 -2.36719 -4.88574
43
+ c-0.762695 -6.04199 -1.18848 -12.1387 -1.7666 -18.4756zM138.337 212.183c-0.0117188 -15.0293 -0.0117188 -30.0693 0 -45.0986c0 -1.20996 -0.0117188 -2.49707 0.130859 -3.69727c0.599609 -5.0166 2.46484 -6.72852 7.53613 -6.43457
44
+ c4.41699 0.261719 8.80078 0.926758 13.6113 1.47266v-28.8584c-13.9824 -2.5625 -27.9863 -5.58398 -42.2412 -2.08301c-12.5859 3.02051 -19.5332 13.4043 -19.6963 29.0107c-0.185547 18.377 -0.0546875 36.7109 -0.0654297 55.0879v4.24316h-14.6367v25.8809h14.5713
45
+ c1.53711 7.59082 3.11914 14.8975 4.43848 22.249c0.447266 2.47559 1.27637 3.81738 3.92676 4.39551c10.666 2.39941 21.2676 5.07129 32.3047 7.72168v-34.127h21.5947c-1.83301 -8.86621 -3.56641 -17.2754 -5.35547 -25.957h-15.9121
46
+ c-0.0761719 -1.46094 -0.207031 -2.63867 -0.207031 -3.80566zM78.0566 159.406c-2.1377 -20.3945 -13.5889 -31.083 -34.1367 -32.9482c-13.3389 -1.22168 -26.2734 0.545898 -39.0449 4.14453c-1.10156 0.283203 -2.69336 1.66895 -2.71582 2.56348
47
+ c-0.207031 8.9541 -0.120117 17.9512 -0.120117 27.2871c6.51172 -1.3418 12.6514 -2.91211 18.8789 -3.86035c3.85059 -0.611328 7.90723 -0.785156 11.7246 -0.229492c2.00684 0.283203 4.40625 2.25781 5.37695 4.1123
48
+ c1.36328 2.5957 0.0986328 5.49609 -2.41016 7.06641c-3.31543 2.06152 -6.93652 3.68652 -10.3828 5.5625c-3.99219 2.14844 -8.17969 4.06836 -11.877 6.65332c-7.27441 5.14746 -11.5176 12.3135 -12.6738 21.2344
49
+ c-0.108398 0.829102 -0.446289 1.63574 -0.675781 2.46484v6.65332c0.599609 2.96582 0.992188 6.01953 1.82129 8.93164c3.88281 13.8516 14.0146 20.668 27.3096 23.373c14.1562 2.88965 28.1602 1.63574 41.9023 -2.78125
50
+ c2.20312 -0.708984 3.06445 -1.72363 3.00977 -4.14453c-0.173828 -8.36523 -0.0654297 -16.7305 -0.0654297 -24.9863c-7.0127 1.28711 -13.7412 2.63867 -20.5361 3.66406c-2.75977 0.40332 -5.78027 0.599609 -8.40918 -0.108398
51
+ c-1.9082 -0.501953 -4.47168 -2.49805 -4.74414 -4.14453c-0.305664 -1.95215 0.981445 -4.98438 2.5957 -6.20605c2.9668 -2.29004 6.69629 -3.55566 10.0557 -5.35547c4.33008 -2.29004 8.92188 -4.28613 12.8584 -7.14355
52
+ c10.8193 -7.87402 13.5791 -19.249 12.2588 -31.8027z" />
53
+ <glyph glyph-name="uniF106" unicode="&#xf106;"
54
+ d="M477.688 320.501c22.8828 -39.2197 34.3096 -82.0566 34.2979 -128.499c0 -46.4424 -11.4434 -89.2773 -34.334 -128.506c-22.8867 -39.2197 -53.9395 -70.2725 -93.1631 -93.1592c-39.2197 -22.8936 -82.0557 -34.3369 -128.502 -34.3369
55
+ c-24.667 0 -48.8877 3.54785 -72.667 10.6592c13.1133 20.666 21.7793 38.8926 26.001 54.6631c2.00098 7.55469 8.00195 31.0049 18.0029 70.333c4.44336 -8.66992 12.5557 -16.166 24.3311 -22.502c11.7822 -6.3291 24.4492 -9.49805 38.001 -9.49805
56
+ c26.8975 0 50.8955 7.61133 72.0078 22.8379c21.1162 15.2197 37.4512 36.1641 49.0049 62.8291c11.5518 26.6699 17.3291 56.6689 17.3291 90.001c0 25.333 -6.6084 49.1123 -19.833 71.3379c-13.2246 22.2246 -32.3877 40.333 -57.5039 54.334
57
+ c-25.1074 14 -53.4355 20.999 -84.9971 20.999c-23.335 0 -45.1113 -3.22266 -65.334 -9.66699c-20.2227 -6.44531 -37.3916 -14.999 -51.498 -25.665c-14.1123 -10.6621 -26.2227 -22.9404 -36.3369 -36.835c-10.1094 -13.8896 -17.5566 -28.2764 -22.3311 -43.1689
58
+ c-4.77832 -14.8877 -7.16797 -29.7764 -7.16797 -44.666c0 -23.1055 4.44531 -43.4424 13.335 -60.999c8.88672 -17.5566 21.8896 -29.8936 38.998 -36.998c6.66699 -2.66895 10.8926 -0.447266 12.668 6.66406c0.441406 1.55176 1.33496 5.00391 2.66309 10.334
59
+ c1.33496 5.33008 2.22168 8.66211 2.66699 9.99609c1.33496 5.11523 0.111328 9.89258 -3.66602 14.3369c-11.332 13.5518 -16.999 30.332 -16.999 50.335c0 33.5537 11.6104 62.3896 34.834 86.5039c23.2227 24.1104 53.6152 36.168 91.1641 36.168
60
+ c33.5586 0 59.7246 -9.11621 78.5039 -27.3398c18.7822 -18.2178 28.1719 -41.8857 28.1719 -71.002c0 -37.7754 -7.60742 -69.8877 -22.8301 -96.3389c-15.2266 -26.4424 -34.7246 -39.6631 -58.502 -39.6631c-13.5566 0 -24.4492 4.83887 -32.6709 14.5039
61
+ c-8.22363 9.67383 -10.7764 21.2842 -7.66797 34.8369c1.77637 7.77148 4.72363 18.167 8.83398 31.1641c4.11133 13.002 7.44238 24.4463 9.99707 34.3369c2.55664 9.88867 3.83984 18.2812 3.83984 25.165c0 11.1133 -2.99316 20.335 -8.99609 27.6709
62
+ c-6.00195 7.33203 -14.5566 10.998 -25.665 10.998c-13.7793 0 -25.4443 -6.33301 -35.002 -19.001c-9.55664 -12.6699 -14.3311 -28.4482 -14.3311 -47.333c0 -16.2305 2.77734 -29.7744 8.33496 -40.667l-33.0029 -139.343
63
+ c-3.77441 -15.5557 -5.21973 -35.2217 -4.33008 -58.998c-45.7793 20.2217 -82.7803 51.4414 -111.002 93.6738c-28.2227 42.2129 -42.332 89.2197 -42.332 141c0 46.4473 11.4424 89.2783 34.3389 128.504c22.8916 39.2236 53.9443 70.2764 93.1699 93.165
64
+ c39.2197 22.8906 82.0547 34.334 128.501 34.334c46.4492 0 89.2812 -11.4434 128.502 -34.334c39.2207 -22.8916 70.2734 -53.9453 93.167 -93.165z" />
65
+ <glyph glyph-name="uniF10B" unicode="&#xf10b;"
66
+ d="M256.064 448c141.151 0 255.936 -114.848 255.936 -256s-114.784 -256 -255.936 -256c-52.0645 0 -100.353 15.4883 -140.832 42.3037l-98.4004 -31.4561l31.9043 95.1045c-30.6885 42.1436 -48.7363 94.0479 -48.7363 150.048c0 141.184 114.784 256 255.936 256
67
+ h0.128906zM405.024 86.4961c6.17578 17.4717 6.17578 32.3516 4.38379 35.5195c-1.82422 3.16797 -6.78418 4.95996 -14.3047 8.73633c-7.51953 3.74414 -44.0957 21.8242 -51.0078 24.2236c-6.78418 2.56055 -13.248 1.66406 -18.3682 -5.56738
68
+ c-7.19922 -10.0801 -14.2715 -20.3203 -20 -26.4961c-4.51172 -4.7998 -11.8711 -5.4082 -18.0479 -2.84766c-8.28809 3.45508 -31.4561 11.584 -60.0312 37.0234c-22.1445 19.7119 -37.1846 44.2559 -41.5361 51.6162c-4.35254 7.51953 -0.448242 11.8721 3.00781 15.9355
69
+ c3.77637 4.67188 7.36035 8 11.1357 12.3525c3.77637 4.35156 5.8877 6.62402 8.28809 11.7441c2.55957 4.95996 0.736328 10.0801 -1.08789 13.8555c-1.79199 3.77637 -16.832 40.5117 -23.0078 55.3926c-4.95996 11.8721 -8.73633 12.3193 -16.2559 12.6396
70
+ c-2.56055 0.12793 -5.4082 0.288086 -8.57617 0.288086c-9.79199 0 -20 -2.87988 -26.1758 -9.18457c-7.52051 -7.67969 -26.1768 -25.5674 -26.1768 -62.3037c0 -36.7354 26.7842 -72.2559 30.4004 -77.2158c3.77637 -4.95996 52.2236 -81.4082 127.456 -112.576
71
+ c58.8154 -24.3838 76.2881 -22.1123 89.6641 -19.2637c19.5518 4.22363 44.0635 18.6875 50.2402 36.1279z" />
72
+ <glyph glyph-name="uniF10C" unicode="&#xf10c;"
73
+ d="M512 350.738c-14.0459 -21.0518 -31.8975 -39.5439 -52.5332 -54.2627l0.351562 -13.5977c0 -138.789 -105.612 -298.823 -298.823 -298.823c-59.3174 0 -114.507 17.4043 -160.994 47.2549c8.22168 -0.927734 16.5732 -1.43945 25.0508 -1.43945
74
+ c49.207 0 94.5107 16.7324 130.439 44.8877c-45.9434 0.832031 -84.7207 31.1943 -98.0938 72.9463c6.43066 -1.2793 12.9902 -1.95117 19.7725 -1.95117c9.59863 0 18.876 1.31152 27.6748 3.67871c-48.0225 9.66309 -84.2402 52.1191 -84.2402 102.989v1.31152
75
+ c14.1729 -7.87012 30.3623 -12.6055 47.5752 -13.1807c-28.1553 18.8115 -46.7119 50.9648 -46.7119 87.4072c0 19.2607 5.15137 37.3047 14.2061 52.79c51.7979 -63.541 129.191 -105.356 216.471 -109.74c-1.79199 7.67871 -2.7207 15.71 -2.7207 23.9316
76
+ c0 57.9727 47.0312 105.004 105.036 105.004c30.2354 0 57.4941 -12.7334 76.6582 -33.1777c23.9316 4.73535 46.3926 13.4707 66.7402 25.5c-7.87012 -24.4756 -24.4746 -45.0791 -46.167 -58.0693c21.2441 2.52832 41.4639 8.19141 60.3086 16.541z" />
77
+ <glyph glyph-name="uniF107" unicode="&#xf107;"
78
+ d="M460.8 448c28.1602 0 51.2002 -23.04 51.2002 -51.2002v-409.6c0 -28.1602 -23.04 -51.2002 -51.2002 -51.2002h-409.6c-28.1602 0 -51.2002 23.04 -51.2002 51.2002v409.6c0 28.1602 23.04 51.2002 51.2002 51.2002h409.6zM153.6 12.7998v230.4h-76.7998v-230.4h76.7998
79
+ zM115.2 286.72c25.5996 0 46.0801 20.4805 46.0801 46.0801c0 25.6006 -20.4805 46.0801 -46.0801 46.0801c-25.6006 0 -46.0801 -20.4795 -46.0801 -46.0801c0 -25.5996 20.4795 -46.0801 46.0801 -46.0801zM435.2 12.7998v145.92
80
+ c0 48.6406 -40.96 89.6006 -89.6006 89.6006c-23.04 0 -51.1992 -15.3604 -64 -35.8398v30.7197h-76.7998v-230.4h76.7998v135.681c0 20.4785 17.9199 38.3994 38.4004 38.3994s38.4004 -17.9209 38.4004 -38.3994v-135.681h76.7998z" />
81
+ <glyph glyph-name="uniF109" unicode="&#xf109;"
82
+ d="M448 224h64v-32h-64v-64h-32v64h-64v32h64v64h32v-64zM160 224h160v-32c0 -88.2236 -71.7764 -160 -160 -160s-160 71.7764 -160 160s71.7764 160 160 160c38.4316 0 75.4238 -13.8242 104.224 -38.9121l-42.0479 -48.2559
83
+ c-17.1514 14.9443 -39.2314 23.168 -62.1758 23.168c-52.9277 0 -96 -43.0723 -96 -96s43.0723 -96 96 -96c41.7275 0 77.3115 26.752 90.5283 64h-90.5283v64z" />
84
+ <glyph glyph-name="uniF10D" unicode="&#xf10d;"
85
+ d="M512 362.661v-341.322c0 -44.8398 -40.4824 -85.3389 -85.333 -85.3389h-91.0225v193.422h85.333v85.334h-85.333v33.9961c0 13.7275 8.80664 22.8926 16.3555 22.8926h68.9775v85.333h-68.9775c-52.9463 0 -96 -51.6377 -96 -108.977v-33.2451h-62.5781v-85.334h62.5781
86
+ v-193.422h-170.661c-44.8564 0 -85.3389 40.499 -85.3389 85.3389v341.322c0 44.8398 40.4824 85.3389 85.333 85.3389h341.334c44.8506 0 85.333 -40.499 85.333 -85.3389z" />
87
+ <glyph glyph-name="uniF104" unicode="&#xf104;"
88
+ d="M488.514 -17.3438c12.833 0 23.2471 -10.4141 23.2578 -23.2793c0 -12.8428 -10.4141 -23.2568 -23.2686 -23.2568h-465.234c-12.8545 0 -23.2686 10.4141 -23.2686 23.2568c0 12.8652 10.4141 23.2793 23.2686 23.2793h465.245zM52.3428 43.1475v0.0107422h5.81738
89
+ v209.36h-5.81738c-6.41602 0 -11.623 5.20703 -11.623 11.623s5.19629 11.623 11.623 11.623h407.086c6.41602 0 11.623 -5.20703 11.623 -11.623s-5.18555 -11.623 -11.623 -11.623h-5.80664v-209.371h5.80664c12.8545 0 23.2686 -10.4141 23.2686 -23.2686
90
+ s-10.4141 -23.2793 -23.2686 -23.2793h-407.086c-12.8545 0 -23.2686 10.4248 -23.2686 23.2793s10.4141 23.2686 23.2686 23.2686zM407.086 252.519h-69.7832v-209.36h69.7832v209.36zM290.767 252.519h-69.7832v-209.36h69.7832v209.36zM104.675 252.519v-209.36h69.7832
91
+ v209.36h-69.7832zM23.2686 296.68c-10.9697 0 -20.4473 7.6582 -22.7461 18.377c-2.30859 10.7197 3.19238 21.5908 13.2031 26.1006l232.64 104.675c6.07812 2.72363 13.0176 2.72363 19.085 0l230.831 -103.868c9.13867 -3.1377 15.7188 -11.7979 15.7188 -22.0156
92
+ c0 -12.8545 -10.4033 -23.2686 -23.2686 -23.2686h-0.228516h-465.234z" />
93
+ <glyph glyph-name="uniF102" unicode="&#xf102;"
94
+ d="M302.522 222.387c2.06641 -1.36035 3.05469 -3.49023 3.10938 -6.31836c0.0175781 -4.34277 -1.5957 -7.64258 -4.76855 -10.0088c-3.20898 -2.30176 -7.66016 -3.48047 -13.3984 -3.48047h-2.6377c-2.29297 -0.0185547 -3.77148 1.83105 -3.25391 4.04297
95
+ l3.20898 13.7695c0.470703 2.20312 2.79199 4.05273 5.07617 4.03418l3.4541 0.0185547c4.07031 -0.0185547 7.11621 -0.698242 9.20996 -2.05762zM158.686 190.006c2.42969 0.298828 7.22461 0.842773 7.85059 0.861328l0.734375 -1.30566
96
+ c-0.154297 -0.707031 -1.50488 -6.39062 -2.1582 -8.94727l-1.64941 -2.19434l-4.16992 -2.14844c-1.95801 -0.796875 -3.8252 -1.21387 -5.54785 -1.21387c-2.61035 0 -4.65918 0.379883 -6.04688 1.16016l-2.04883 3.9707c0 2.16602 0.499023 3.85254 1.55078 5.17578
97
+ l4.49609 3.06445c1.91309 0.643555 4.26953 1.1875 6.98926 1.57715zM351.438 189.951c2.39355 0.298828 7.1709 0.861328 7.79688 0.861328l0.743164 -1.31445c-0.109375 -0.707031 -1.4873 -6.37305 -2.12109 -8.95605l-1.70508 -2.19434l-4.14258 -2.14844
98
+ c-1.94922 -0.788086 -3.81641 -1.20508 -5.51172 -1.20508c-2.69238 0 -4.71387 0.379883 -6.03711 1.16895l-2.07617 3.96191c0 2.1748 0.507812 3.86133 1.52344 5.18457c1.02441 1.27832 2.60156 2.30273 4.54102 3.06445
99
+ c1.89551 0.652344 4.24316 1.1875 6.98926 1.57715zM100.65 224.68c4.06152 0 7.15234 -0.698242 9.22852 -2.04883c2.04883 -1.35059 3.07324 -3.49023 3.05469 -6.32715c0.0722656 -4.30566 -1.56836 -7.63281 -4.76855 -9.97168
100
+ c-3.19922 -2.35742 -7.65918 -3.52637 -13.416 -3.52637h-2.59277c-2.30273 0 -3.72559 1.82227 -3.22754 4.05176l3.2002 13.7793c0.444336 2.21191 2.77441 4.04297 5.0498 4.02539zM512 344.721v-305.45c0 -7.2793 -5.89258 -13.1807 -13.1807 -13.1807h-485.639
101
+ c-7.28809 0 -13.1807 5.91016 -13.1807 13.1895v305.441c0 7.2793 5.89258 13.1807 13.1807 13.1807h485.639c7.28809 0 13.1807 -5.90137 13.1807 -13.1807zM133.086 217.98c0 3.80762 -0.625977 7.00781 -2.04004 9.56445
102
+ c-1.26953 2.55566 -3.29102 4.66797 -5.79297 6.24512c-2.61035 1.5957 -5.69238 2.71973 -9.22754 3.39062c-3.58984 0.652344 -7.7334 0.942383 -12.5195 0.988281l-22.1553 -0.00878906c-2.30273 -0.0371094 -4.55957 -1.82227 -5.10352 -4.05273l-14.9121 -64.9336
103
+ c-0.543945 -2.19336 0.897461 -4.04297 3.2002 -4.04297h10.6055c2.30273 0 4.57812 1.79492 5.09473 4.04297l3.64453 15.7549c0.480469 2.19434 2.75586 4.02539 5.08594 4.02539h3.02734c12.9814 0.0185547 23.0254 2.66504 30.2412 7.97754
104
+ c7.27051 5.32129 10.8516 12.3555 10.8516 21.0488zM188.256 207.773c0.0185547 4.72266 -2.03027 8.24023 -6.0459 10.4883c-3.99805 2.25684 -10.3252 3.38086 -18.9648 3.38086c-4.26953 0 -8.53027 -0.334961 -12.8359 -0.99707
105
+ c-3.18164 -0.489258 -3.49023 -0.570312 -5.43945 -1.00586c-4.03418 -0.878906 -4.66797 -4.91309 -4.66797 -4.91309l-1.29688 -5.33984c-0.734375 -3.4082 1.2334 -3.27246 2.04883 -2.99121c1.75879 0.525391 2.74707 1.06055 6.3457 1.87598
106
+ c3.43555 0.780273 7.06152 1.36914 9.94434 1.33301c4.24219 0 7.48828 -0.453125 9.64551 -1.35938c2.12988 -0.933594 3.2002 -2.52051 3.2002 -4.82324l-0.19043 -1.49512l-1.52344 -0.943359c-6.02832 -0.380859 -10.3789 -0.933594 -15.6553 -1.69531
107
+ c-5.16699 -0.71582 -9.69043 -1.98535 -13.4521 -3.69824c-4.04395 -1.77637 -7.03516 -4.15234 -9.12891 -7.19824c-2.02148 -3.06348 -3.02832 -6.74414 -3.02832 -11.0957c0 -4.09668 1.46875 -7.44238 4.31543 -10.0615
108
+ c2.86426 -2.56543 6.65332 -3.80762 11.1777 -3.80762c2.86426 0 5.08496 0.226562 6.66211 0.607422l5.13086 1.75879l4.35156 2.42871l3.99805 2.63867l0.0537109 -0.0634766l-0.398438 -1.7041l-0.0185547 -0.0634766v-0.0185547
109
+ c-0.43457 -2.06641 0.816406 -3.78027 2.83789 -3.9707l0.0361328 -0.0361328h0.19043h8.14062h1.53223l0.144531 0.0546875c2.1123 0.244141 4.10645 1.95801 4.55957 3.9707l7.74219 33.4678l0.398438 2.72852zM211.753 143.302l42.2803 71.4971
110
+ s4.06055 6.11035 0.290039 6.05566c-2.51172 -0.0273438 -12.7275 0 -12.7275 0c-2.28418 0 -5.22168 -1.8584 -6.67188 -4.05176c0 0 -15.1934 -26.0723 -16.6709 -28.6914l-1.75879 0.0175781l-4.73242 28.4922c-0.525391 2.24805 -2.86426 4.16113 -5.77441 4.16113
111
+ l-9.50879 -0.0185547c-2.28516 0 -3.69922 -1.82227 -3.17285 -4.04297c0 0 7.21582 -41.083 8.66602 -50.7471c0.670898 -5.34766 -0.0820312 -6.28223 -0.0820312 -6.28223l-9.40039 -16.3896c-1.39551 -2.22949 -0.643555 -4.04297 1.64062 -4.04297l10.9873 0.0185547
112
+ c2.2666 0 5.27637 1.79492 6.63574 4.02441zM325.766 217.745c-0.0185547 3.80762 -0.679688 7.0166 -2.04004 9.55469c-1.32324 2.57422 -3.30859 4.65039 -5.83789 6.27344c-2.57422 1.60449 -5.65625 2.72852 -9.2373 3.38086
113
+ c-3.51758 0.625977 -7.70508 0.960938 -12.4648 0.979492l-22.1826 -0.0185547c-2.30176 -0.0361328 -4.53223 -1.83105 -5.07617 -4.03418l-14.9209 -64.9697c-0.543945 -2.20312 0.942383 -4.03418 3.2002 -4.02539l10.6328 0.0273438
114
+ c2.24805 -0.0273438 4.56934 1.78613 5.09473 3.98926l3.58984 15.7822c0.525391 2.19336 2.81055 4.05176 5.09473 4.01562h3.02734c12.9814 0 23.0713 2.67383 30.3145 7.95898c7.16992 5.37598 10.8057 12.3838 10.8057 21.0859zM380.999 207.737
115
+ c0 4.72266 -2.02148 8.22168 -6.06445 10.4697c-4.03418 2.25781 -10.3525 3.39941 -18.9551 3.39941c-4.26953 0 -8.55762 -0.334961 -12.8359 -1.02441c-3.17285 -0.461914 -3.49023 -0.561523 -5.45703 -0.987305
116
+ c-4.05273 -0.871094 -4.66016 -4.91406 -4.66016 -4.91406l-1.2959 -5.33008c-0.725586 -3.4082 1.1875 -3.25391 2.07617 -2.99121c1.74902 0.525391 2.71875 1.04199 6.2998 1.87598c3.42676 0.770508 7.06152 1.35059 9.96289 1.33301
117
+ c4.22461 0 7.46973 -0.453125 9.62695 -1.36914c2.15723 -0.924805 3.20898 -2.5293 3.20898 -4.81348l-0.163086 -1.49609l-1.52246 -0.960938c-6.07422 -0.371094 -10.4258 -0.923828 -15.665 -1.68555c-5.13965 -0.725586 -9.69043 -1.97656 -13.4795 -3.69824
118
+ c-4.00684 -1.79492 -7.04395 -4.16113 -9.12012 -7.20703c-2.03027 -3.0459 -3.03711 -6.74512 -3.03711 -11.0684c0 -4.11621 1.47852 -7.47949 4.34277 -10.0723c2.88281 -2.54688 6.63574 -3.83398 11.168 -3.83398c2.83789 0.0449219 5.06738 0.217773 6.64453 0.625
119
+ l5.12207 1.73145l4.37891 2.4209l3.9707 2.67383l0.0634766 -0.0810547l-0.354492 -1.7041l-0.0449219 -0.0371094l0.0185547 -0.0263672c-0.499023 -2.07617 0.770508 -3.78027 2.82812 -3.9707l0.0175781 -0.0546875h0.19043v0h8.15039h1.52246l0.145508 0.0546875
120
+ c2.08496 0.253906 4.08789 1.9668 4.52344 3.98828l7.75977 33.4414l0.389648 2.74707zM414.722 233.364c0.489258 2.21191 -0.897461 4.01562 -3.20898 4.01562h-9.49121c-1.94922 0 -3.70801 -1.44141 -4.56836 -3.21777l-0.535156 -0.825195l-0.47168 -2.10254
121
+ l-13.2891 -60.3926l-0.426758 -1.8584l0.0185547 -0.0449219c-0.444336 -1.97656 0.779297 -3.49023 2.65625 -3.78027l0.180664 -0.226562h9.86328c1.94922 0 3.74414 1.46875 4.58691 3.28125l0.499023 0.761719l14.2139 64.3711zM433.586 241.776h-3.55273v2.94629h-1.75
122
+ v-2.94629h-1.19629v-1.46777h1.19629v-5.49414l0.825195 -2.71973l2.41113 -0.860352l1.00586 0.0810547l1.06055 0.208984v1.5498h-0.0810547l-0.662109 -0.199219l-0.887695 -0.126953l-1.08789 0.171875l-0.5625 0.543945l-0.245117 0.852539l-0.0263672 1.26855v4.72363
123
+ h3.55273v1.46777zM450.783 238.142l-0.816406 2.88281l-2.51074 1.02441l-1.8584 -0.380859l-1.90332 -1.27832l-1.10645 1.2334l-1.79492 0.425781l-1.7041 -0.380859l-1.64941 -1.05176v1.15137h-1.70508v-10.3252h1.70508v7.70508l1.44141 0.897461l1.42285 0.353516
124
+ l1.16895 -0.208008l0.581055 -0.588867l0.244141 -0.988281l0.0722656 -1.27832v-5.89258h1.72266v6.6084l-0.0175781 0.543945l-0.0273438 0.507812l1.47754 0.933594l1.44141 0.37207l1.15137 -0.208984l0.597656 -0.588867l0.226562 -0.99707l0.109375 -1.26074v-5.8916
125
+ h1.71289v6.68066h0.0185547z" />
126
+ <glyph glyph-name="uniF108" unicode="&#xf108;"
127
+ d="M65.7412 447.979h380.549c36.1543 0 65.71 -29.5664 65.71 -65.7207v-380.549c0 -36.1436 -29.5557 -65.6895 -65.71 -65.6895h-380.549c-36.1543 0 -65.7412 29.5479 -65.7412 65.6895v380.549c0 36.1543 29.5869 65.7207 65.7412 65.7207zM372.985 391.118
128
+ c-12.6943 0 -23.0488 -10.3945 -23.0488 -23.082v-55.1494c0 -12.6924 10.3545 -23.0645 23.0488 -23.0645h57.8613c12.6729 0 23.0498 10.3721 23.0498 23.0645v55.1494c0 12.6875 -10.377 23.082 -23.0498 23.082h-57.8613zM454.116 231.479h-45.0488
129
+ c4.27148 -13.9521 6.58789 -28.665 6.58789 -43.9619c0 -85.1318 -71.2803 -154.181 -159.174 -154.181c-87.8711 0 -159.153 69.0488 -159.153 154.181c0 15.2969 2.33789 30.0098 6.58887 43.9619h-47v-216.289c0 -11.2012 9.14648 -20.3125 20.3369 -20.3125h356.535
130
+ c11.2002 0 20.3271 9.11133 20.3271 20.3125v216.289zM256.483 292.73c-56.7637 0 -102.81 -44.5918 -102.81 -99.6484c0 -55.001 46.0459 -99.627 102.81 -99.627c56.7939 0 102.842 44.626 102.842 99.627c0 55.0586 -46.0479 99.6484 -102.842 99.6484z" />
131
+ <glyph glyph-name="uniF10A" unicode="&#xf10a;"
132
+ d="M490.24 334.08c14.4639 -24.6719 21.7598 -67.168 21.7598 -142.016v-0.0966797v-0.160156c0 -74.4961 -7.2959 -117.312 -21.7275 -141.728c-13.8887 -24.7041 -28.9609 -29.1836 -59.6484 -31.2637c-30.6885 -1.76074 -107.776 -2.81641 -174.56 -2.81641
133
+ c-66.9121 0 -144.032 1.05566 -174.688 2.84766c-30.624 2.08008 -45.6963 6.56055 -59.7119 31.2646c-14.3037 24.416 -21.6641 67.2314 -21.6641 141.728v0.0644531v0.0957031v0.0957031c0 74.8164 7.36035 117.312 21.6641 141.984
134
+ c14.0156 24.7363 29.1201 29.248 59.7441 31.0078c30.624 2.04785 107.744 2.91211 174.656 2.91211c66.7832 0 143.871 -0.864258 174.527 -2.94434c30.6885 -1.72754 45.7598 -6.27148 59.6484 -30.9756zM192 96l160 96l-160 96v-192z" />
135
+ <glyph glyph-name="uniF105" unicode="&#xf105;"
136
+ d="M429.154 351.167c29.4785 -20.2861 47.835 -51.0703 47.8633 -93.6279c0 -55.666 -25.5352 -97.5713 -60.2617 -124.439c-36.0332 -28.1729 -87.0742 -40.5996 -140.811 -40.5996c-15.7178 0 -28.8262 1.30469 -38.6426 2.63867l-30.1309 -159.139h-92.3506
137
+ l7.14941 37.9053h29.2803l30.1309 159.109c9.81641 -1.30469 22.8965 -2.61035 38.6426 -2.61035c53.708 0 104.749 12.4551 140.81 40.6006c34.6992 26.8398 60.2344 68.7734 60.2344 124.439c0 29.7051 -9.0791 53.5664 -24.5137 72.2344
138
+ c11.7178 -4.22754 22.8389 -9.53223 32.5996 -16.5117zM157.464 162.437l-30.1025 -159.139h-92.3506l81.8252 432.899c28.1729 7.20605 72.7168 11.8027 115.274 11.8027c39.2676 0 85.1162 -6.55371 117.233 -29.4785c29.5068 -20.3145 47.835 -51.0977 47.835 -93.6553
139
+ c0 -55.666 -25.5059 -97.5713 -60.2617 -124.411c-36.0322 -28.2021 -87.1025 -40.6289 -140.811 -40.6289c-15.7178 0 -28.7969 1.30469 -38.6426 2.61035zM196.788 369.382l-24.9111 -130.341c9.81738 -1.95801 20.3145 -3.2627 36.0322 -3.2627
140
+ c56.9717 0 94.2803 36.6846 94.2803 80.5479c0 42.5859 -30.7832 56.3467 -67.4404 56.3467c-17.6758 0 -30.1025 -1.33398 -37.9609 -3.29102z" />
141
+ <glyph glyph-name="uniF101" unicode="&#xf101;"
142
+ d="M443.532 93.4082c0 -1.22949 -0.0859375 -2.57324 -0.214844 -3.24512h-24.1328c0.658203 -6.27637 4.44629 -8.73535 9.83594 -8.73535c4.46094 0 8.75 1.61523 13.1816 4.16016l1.23047 -8.64941c-4.31836 -2.78809 -9.66504 -4.50293 -15.9268 -4.50293
143
+ c-12.0527 0 -20.6592 6.37598 -20.6592 20.7012c0 13.0967 8.02051 21.0742 18.9287 21.0742c12.2666 0 17.7568 -9.19336 17.7568 -20.8027zM419.128 96.9834h12.5811c-0.400391 6.06152 -2.50195 9.20703 -6.29102 9.20703c-3.43066 0 -5.89062 -3.0459 -6.29004 -9.20703
144
+ zM392.85 95.1104l13.1387 -20.6162l-12.8672 -1.83008l-11.6377 19.2578v-18.6719h-12.3379v57.1592l12.3096 1.97266v-35.4414l10.7227 16.4414h13.3252zM405.331 308.562l42.4326 7.5918v-162.842h-42.4326v155.25zM509.713 153.327h-42.4619v155.235l42.4619 7.5918
145
+ v-162.827zM512 85.6172c0 -8.4502 -5.81836 -13.0391 -16.4561 -13.0391c-6.39062 0 -12.3662 1.81543 -16.5557 4.00293l1.4873 9.43652c4.74609 -2.95996 10.5654 -4.77539 15.1826 -4.77539c3.40332 0 5.06152 1.14355 5.06152 3.04492
146
+ c0 2.05859 -1.14355 2.93066 -6.83398 4.34668c-10.0508 2.61621 -14.3252 5.30371 -14.3252 12.8242c0 7.44824 5.56152 12.4521 15.3691 12.4521c5.41797 0 10.665 -1.05762 14.8262 -2.95898l-1.51562 -9.40723c-4.375 2.37305 -9.35059 3.78809 -13.2246 3.78809
147
+ c-2.91699 0 -4.24609 -1.04297 -4.24609 -2.64453c0 -1.62988 1.14355 -2.54492 6.80469 -4.10352c10.666 -2.80176 14.4258 -5.51855 14.4258 -12.9668zM304.667 153.327h-42.7627v67.0234c0 34.9844 19.916 52.5693 59.1182 53.8418c0 0 7.0625 0.272461 11.251 -0.614258
148
+ v-34.8135c-24.8477 -0.857422 -27.6064 -9.83594 -27.6064 -30.7666v-54.6709zM181.728 153.327h-43.791v154.178l43.791 8.64941v-85.0527c16.4414 19.8877 23.2324 39.0879 24.1758 41.4609h50.0684c-1.42969 -4.56055 -10.3652 -32.082 -30.7383 -57.9023
149
+ c0 0 22.7031 -39.7881 27.8926 -61.3477h-52.4404s-6.27637 28.6514 -18.958 47.6514v-47.6367zM473.999 114.182l2.07324 -12.6094c-6.00488 -0.400391 -10.4658 -2.77344 -13.5391 -6.06152v-22.2891h-12.3672v40.1309h10.8369l1.31543 -7.93457
150
+ c2.44434 4.60352 5.79004 8.33496 11.6807 8.76367zM345.241 304.745c0 11.5518 9.33594 20.916 20.8877 20.916c11.5664 0 20.916 -9.36426 20.916 -20.916s-9.34961 -20.9023 -20.916 -20.9023c-11.5371 0 -20.8877 9.36523 -20.8877 20.9023zM387.359 153.327h-42.4189
151
+ v119.107h42.4189v-119.107zM343.239 114.182c11.1377 0 19.3154 -8.02051 19.3154 -20.8584c0 -12.8535 -8.26367 -20.8877 -19.4014 -20.8877c-11.0801 0 -19.1572 7.90625 -19.1572 20.7871c0 12.8818 8.2207 20.959 19.2432 20.959zM343.239 82.4004
152
+ c4.74707 0 7.3916 4.33203 7.40625 10.8086c0 6.47559 -2.65918 10.8223 -7.40625 10.8223c-4.74609 0 -7.29102 -4.16016 -7.29102 -10.7227c0 -6.44824 2.63086 -10.9082 7.29102 -10.9082zM191.106 93.4082c0 -1.22949 -0.0859375 -2.57324 -0.228516 -3.24512h-24.1045
153
+ c0.671875 -6.27637 4.41699 -8.73535 9.83594 -8.73535c4.41797 0 8.76367 1.61523 13.1816 4.16016l1.22949 -8.64941c-4.33203 -2.78809 -9.66406 -4.50293 -15.9697 -4.50293c-12.0234 0 -20.6299 6.37598 -20.6299 20.7012c0 13.0967 8.03418 21.0742 18.9287 21.0742
154
+ c12.2812 0 17.7568 -9.19336 17.7568 -20.8027zM166.702 96.9834h12.6094c-0.415039 6.06152 -2.53027 9.20703 -6.30469 9.20703c-3.43164 0 -5.89062 -3.0459 -6.30469 -9.20703zM127.271 204.066c0 -26.1201 -20.9443 -52.4697 -67.71 -52.4697
155
+ c-21.6738 0 -40.1602 2.11621 -56.5723 6.44824v38.0293c10.9512 -4.47461 29.0078 -9.23535 47.6084 -9.23535c16.9561 0 27.0645 5.63281 27.0645 15.1689c0 11.5518 -12.3389 12.252 -16.9854 12.5381c-54.7852 3.73145 -60.6758 36.1289 -60.6758 49.8818
156
+ c0 23.8613 16.9561 51.7266 64.7793 51.7266c27.7217 0 42.6904 -4.33203 55.5723 -8.83594l0.671875 -0.200195v-36.4424v-0.486328l-0.47168 0.128906c-5.19043 2.20215 -11.2803 4.34668 -11.2803 4.34668c-10.8945 3.27344 -26.1641 6.74805 -37.9443 6.74805
157
+ c-6.70508 0 -24.5762 0 -24.5762 -13.4824c0 -11.1797 12.3955 -11.9805 17.7568 -12.3379c39.3301 -2.64551 62.7627 -21.9033 62.7627 -51.5264zM221.63 113.367h11.9814l-14.2686 -40.918c-3.60254 -10.4941 -8.52051 -14.0967 -17.2852 -14.0967
158
+ c-2.45898 0 -3.5166 0.271484 -4.66016 0.500977l-1.55859 9.89258c1.31543 -0.399414 2.54492 -0.671875 4.94629 -0.671875c2.75977 0 5.21875 1.05859 6.53418 3.875l0.5 1.22949l-14.583 39.2305l13.2676 1.54395l7.76367 -25.3193zM86.5244 114.182
159
+ c11.1523 0 19.3438 -8.02051 19.3438 -20.8584c0 -12.8535 -8.29199 -20.8877 -19.4297 -20.8877c-11.0371 0 -19.1572 7.90625 -19.1572 20.7871c0 12.8818 8.19238 20.959 19.2432 20.959zM86.5244 82.4004c4.77539 0 7.37793 4.33203 7.37793 10.8086
160
+ c0 6.47559 -2.60254 10.8223 -7.37793 10.8223c-4.74609 0 -7.29102 -4.16016 -7.29102 -10.7227c0 -6.44824 2.63086 -10.9082 7.29102 -10.9082zM61.0049 101.758v-28.5078h-12.4531v25.1484c0 2.85938 -1.05762 4.83203 -3.93164 4.83203
161
+ c-2.20117 0 -4.33105 -1.41504 -6.5332 -3.5166v-26.4922h-12.3672v25.1768c0 2.85938 -1.05762 4.80371 -3.93164 4.80371c-2.28711 0 -4.36035 -1.38672 -6.56152 -3.51758v-26.4629h-12.3672v40.1455h10.8945l0.915039 -5.47559
162
+ c3.60254 3.68848 7.29102 6.27637 12.4521 6.27637c5.47559 0 8.52148 -2.68848 9.96484 -6.27637c3.60254 3.60254 7.53418 6.27637 12.5381 6.27637c7.44922 0.0136719 11.3809 -4.66113 11.3809 -12.4102zM148.13 101.758v-28.5078h-12.4521v25.1484
163
+ c0 2.85938 -1.14453 4.83203 -4.10352 4.83203c-2.37305 0 -4.5752 -1.41504 -6.79102 -3.60254v-26.3779h-12.3672v40.1172h10.8945l0.900391 -5.47559c3.60352 3.48828 7.44922 6.27637 12.5391 6.27637c7.44824 0.0136719 11.3799 -4.66113 11.3799 -12.4102z
164
+ M261.59 114.182c8.20703 0 14.4258 -6.2041 14.4258 -19.8008c0 -14.9121 -7.94922 -21.6172 -20.3154 -21.6172c-6.44824 0 -12.5391 1.04395 -17.1992 2.85938v54.7861l12.3662 1.97266v-23.418c2.54492 2.60156 5.97656 5.21777 10.7227 5.21777zM255.356 82.6572
165
+ c4.83301 0 8.29199 2.95996 8.30664 10.9092c0 6.7334 -2.45898 9.57812 -5.97559 9.57812c-2.63086 0 -4.77539 -1.57227 -6.82031 -3.8457v-15.8691c1.64453 -0.500977 2.61621 -0.772461 4.48926 -0.772461zM300.092 114.182
166
+ c11.1084 0 19.3291 -8.02051 19.3008 -20.8584c0 -12.8535 -8.26367 -20.8877 -19.3867 -20.8877c-11.0801 0 -19.2012 7.90625 -19.2012 20.7871c0 12.8818 8.23535 20.959 19.2871 20.959zM300.092 82.4004c4.74609 0 7.37695 4.33203 7.37695 10.8086
167
+ c0 6.47559 -2.63086 10.8223 -7.37695 10.8223c-4.74707 0 -7.29199 -4.16016 -7.29199 -10.7227c0 -6.44824 2.60254 -10.9082 7.29199 -10.9082z" />
168
+ <glyph glyph-name="uniF100" unicode="&#xf100;"
169
+ d="M483.832 419.836c18.7744 -18.7783 28.1631 -41.3926 28.1641 -67.835v-319.999c0 -26.4424 -9.38867 -49.0566 -28.167 -67.8359c-18.7705 -18.7783 -41.3857 -28.167 -67.8271 -28.167h-319.999c-26.4424 0 -49.0566 9.38867 -67.835 28.167
170
+ c-18.7754 18.7793 -28.1641 41.3945 -28.1641 67.8359v319.999c0 26.4424 9.38867 49.0566 28.1641 67.835c18.7783 18.7744 41.3926 28.1641 67.835 28.1641h320.002c26.4424 0 49.0576 -9.38965 67.8271 -28.1641zM212.004 142.001
171
+ c13.7744 13.7764 20.6641 30.4492 20.6641 50c0 19.5615 -6.88965 36.2256 -20.6641 50.002c-13.7812 13.7773 -30.4443 20.668 -50.001 20.668c-19.5557 0 -36.2246 -6.89062 -49.999 -20.668c-13.7803 -13.7773 -20.666 -30.4404 -20.666 -50.002
172
+ c0 -19.5596 6.89062 -36.2236 20.666 -50c13.7773 -13.7812 30.4434 -20.6719 49.999 -20.6719c19.5586 0 36.2207 6.89062 50.001 20.6719zM399.996 142.001c13.7754 13.7764 20.6719 30.4492 20.6719 50c0 19.5615 -6.89453 36.2256 -20.6719 50.002
173
+ c-13.7764 13.7773 -30.4453 20.668 -49.999 20.668c-19.5566 0 -36.2207 -6.89062 -50.0059 -20.668c-13.7686 -13.7773 -20.6641 -30.4404 -20.6641 -50.002c0 -19.5596 6.89551 -36.2236 20.6641 -50c13.7852 -13.7812 30.4521 -20.6719 50.0059 -20.6719
174
+ c19.5615 0 36.2305 6.89062 49.999 20.6719z" />
175
+ </font>
176
+ </defs></svg>
assets/font/Flaticon.ttf ADDED
Binary file
assets/font/Flaticon.woff ADDED
Binary file
assets/font/_flaticon.scss ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Flaticon icon font: Flaticon
3
+ Creation date: 24/03/2018 15:52
4
+ */
5
+
6
+ @font-face {
7
+ font-family: "Flaticon";
8
+ src: url("./Flaticon.eot");
9
+ src: url("./Flaticon.eot?#iefix") format("embedded-opentype"),
10
+ url("./Flaticon.woff") format("woff"),
11
+ url("./Flaticon.ttf") format("truetype"),
12
+ url("./Flaticon.svg#Flaticon") format("svg");
13
+ font-weight: normal;
14
+ font-style: normal;
15
+ }
16
+
17
+ @media screen and (-webkit-min-device-pixel-ratio:0) {
18
+ @font-face {
19
+ font-family: "Flaticon";
20
+ src: url("./Flaticon.svg#Flaticon") format("svg");
21
+ }
22
+ }
23
+
24
+ .fi:before{
25
+ display: inline-block;
26
+ font-family: "Flaticon";
27
+ font-style: normal;
28
+ font-weight: normal;
29
+ font-variant: normal;
30
+ line-height: 1;
31
+ text-decoration: inherit;
32
+ text-rendering: optimizeLegibility;
33
+ text-transform: none;
34
+ -moz-osx-font-smoothing: grayscale;
35
+ -webkit-font-smoothing: antialiased;
36
+ font-smoothing: antialiased;
37
+ }
38
+
39
+ .flaticon-flickr-website-logo-silhouette:before { content: "\f100"; }
40
+ .flaticon-skrill-pay-logo:before { content: "\f101"; }
41
+ .flaticon-money:before { content: "\f102"; }
42
+ .flaticon-stripe-logo:before { content: "\f103"; }
43
+ .flaticon-bank-building:before { content: "\f104"; }
44
+ .flaticon-paypal-logotype:before { content: "\f105"; }
45
+ .flaticon-pinterest-logo:before { content: "\f106"; }
46
+ .flaticon-linkedin-logo:before { content: "\f107"; }
47
+ .flaticon-instagram:before { content: "\f108"; }
48
+ .flaticon-google-plus:before { content: "\f109"; }
49
+ .flaticon-youtube:before { content: "\f10a"; }
50
+ .flaticon-whatsapp:before { content: "\f10b"; }
51
+ .flaticon-twitter-logo-silhouette:before { content: "\f10c"; }
52
+ .flaticon-facebook-logo:before { content: "\f10d"; }
53
+
54
+ $font-Flaticon-flickr-website-logo-silhouette: "\f100";
55
+ $font-Flaticon-skrill-pay-logo: "\f101";
56
+ $font-Flaticon-money: "\f102";
57
+ $font-Flaticon-stripe-logo: "\f103";
58
+ $font-Flaticon-bank-building: "\f104";
59
+ $font-Flaticon-paypal-logotype: "\f105";
60
+ $font-Flaticon-pinterest-logo: "\f106";
61
+ $font-Flaticon-linkedin-logo: "\f107";
62
+ $font-Flaticon-instagram: "\f108";
63
+ $font-Flaticon-google-plus: "\f109";
64
+ $font-Flaticon-youtube: "\f10a";
65
+ $font-Flaticon-whatsapp: "\f10b";
66
+ $font-Flaticon-twitter-logo-silhouette: "\f10c";
67
+ $font-Flaticon-facebook-logo: "\f10d";
assets/font/flaticon.css ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Flaticon icon font: Flaticon
3
+ Creation date: 24/03/2018 15:52
4
+ */
5
+
6
+ @font-face {
7
+ font-family: "Flaticon";
8
+ src: url("./Flaticon.eot");
9
+ src: url("./Flaticon.eot?#iefix") format("embedded-opentype"),
10
+ url("./Flaticon.woff") format("woff"),
11
+ url("./Flaticon.ttf") format("truetype"),
12
+ url("./Flaticon.svg#Flaticon") format("svg");
13
+ font-weight: normal;
14
+ font-style: normal;
15
+ }
16
+
17
+ @media screen and (-webkit-min-device-pixel-ratio:0) {
18
+ @font-face {
19
+ font-family: "Flaticon";
20
+ src: url("./Flaticon.svg#Flaticon") format("svg");
21
+ }
22
+ }
23
+
24
+ [class^="flaticon-"]:before, [class*=" flaticon-"]:before,
25
+ [class^="flaticon-"]:after, [class*=" flaticon-"]:after {
26
+ font-family: Flaticon;
27
+ font-size: 22px;
28
+ font-style: normal;
29
+ }
30
+
31
+ .flaticon-flickr-website-logo-silhouette:before { content: "\f100"; }
32
+ .flaticon-skrill-pay-logo:before { content: "\f101"; }
33
+ .flaticon-money:before { content: "\f102"; }
34
+ .flaticon-stripe-logo:before { content: "\f103"; }
35
+ .flaticon-bank-building:before { content: "\f104"; }
36
+ .flaticon-paypal-logotype:before { content: "\f105"; }
37
+ .flaticon-pinterest-logo:before { content: "\f106"; }
38
+ .flaticon-linkedin-logo:before { content: "\f107"; }
39
+ .flaticon-instagram:before { content: "\f108"; }
40
+ .flaticon-google-plus:before { content: "\f109"; }
41
+ .flaticon-youtube:before { content: "\f10a"; }
42
+ .flaticon-whatsapp:before { content: "\f10b"; }
43
+ .flaticon-twitter-logo-silhouette:before { content: "\f10c"; }
44
+ .flaticon-facebook-logo:before { content: "\f10d"; }
assets/font/flaticon.html ADDED
@@ -0,0 +1,385 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <!--
3
+ Flaticon icon font: Flaticon
4
+ Creation date: 24/03/2018 15:52
5
+ -->
6
+ <html>
7
+ <!DOCTYPE html>
8
+ <html>
9
+
10
+ <head>
11
+ <title>Flaticon WebFont</title>
12
+ <link href="http://fonts.googleapis.com/css?family=Varela+Round" rel="stylesheet" type="text/css" />
13
+ <link rel="stylesheet" type="text/css" href="flaticon.css">
14
+ <meta charset="UTF-8">
15
+ <style>
16
+ html, body, div, span, applet, object, iframe,
17
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
18
+ a, abbr, acronym, address, big, cite, code,
19
+ del, dfn, em, img, ins, kbd, q, s, samp,
20
+ small, strike, strong, sub, sup, tt, var,
21
+ b, u, i, center,
22
+ dl, dt, dd, ol, ul, li,
23
+ fieldset, form, label, legend,
24
+ table, caption, tbody, tfoot, thead, tr, th, td,
25
+ article, aside, canvas, details, embed,
26
+ figure, figcaption, footer, header, hgroup,
27
+ menu, nav, output, ruby, section, summary,
28
+ time, mark, audio, video {
29
+ margin: 0;
30
+ padding: 0;
31
+ border: 0;
32
+ font-size: 100%;
33
+ font: inherit;
34
+ vertical-align: baseline;
35
+ }
36
+ /* HTML5 display-role reset for older browsers */
37
+ article, aside, details, figcaption, figure,
38
+ footer, header, hgroup, menu, nav, section {
39
+ display: block;
40
+ }
41
+ body {
42
+ line-height: 1;
43
+ }
44
+ ol, ul {
45
+ list-style: none;
46
+ }
47
+ blockquote, q {
48
+ quotes: none;
49
+ }
50
+ blockquote:before, blockquote:after,
51
+ q:before, q:after {
52
+ content: '';
53
+ content: none;
54
+ }
55
+ table {
56
+ border-collapse: collapse;
57
+ border-spacing: 0;
58
+ }
59
+ body {
60
+ font-family: 'Varela Round', Helvetica, Arial, sans-serif;
61
+ font-size: 16px;
62
+ color: #222;
63
+ }
64
+ a {
65
+ color: #333;
66
+ border-bottom: 1px solid #a9fd00;
67
+ font-weight: bold;
68
+ text-decoration: none;
69
+ }
70
+ * {
71
+ -moz-box-sizing: border-box;
72
+ -webkit-box-sizing: border-box;
73
+ box-sizing: border-box;
74
+ margin: 0;
75
+ padding: 0;
76
+ }
77
+ [class^="flaticon-"]:before, [class*=" flaticon-"]:before, [class^="flaticon-"]:after, [class*=" flaticon-"]:after {
78
+ font-family: Flaticon;
79
+ font-size: 30px;
80
+ font-style: normal;
81
+ margin-left: 20px;
82
+ color: #333;
83
+ }
84
+ .wrapper {
85
+ max-width: 600px;
86
+ margin: auto;
87
+ padding: 0 1em;
88
+ }
89
+ .title {
90
+ font-size: 1.25em;
91
+ text-align: center;
92
+ margin-bottom: 1em;
93
+ text-transform: uppercase;
94
+ }
95
+ header {
96
+ text-align: center;
97
+ background-color: #222;
98
+ color: #fff;
99
+ padding: 1em;
100
+ }
101
+ header .logo {
102
+ width: 210px;
103
+ height: 38px;
104
+ display: inline-block;
105
+ vertical-align: middle;
106
+ margin-right: 1em;
107
+ border: none;
108
+ }
109
+ header strong {
110
+ font-size: 1.95em;
111
+ font-weight: bold;
112
+ vertical-align: middle;
113
+ margin-top: 5px;
114
+ display: inline-block;
115
+ }
116
+ .demo {
117
+ margin: 2em auto;
118
+ line-height: 1.25em;
119
+ }
120
+ .demo ul li {
121
+ margin-bottom: 1em;
122
+ }
123
+ .demo ul li .num {
124
+ color: #222;
125
+ border-radius: 20px;
126
+ display: inline-block;
127
+ width: 26px;
128
+ padding: 3px;
129
+ height: 26px;
130
+ text-align: center;
131
+ margin-right: 0.5em;
132
+ border: 1px solid #222;
133
+ }
134
+ .demo ul li code {
135
+ background-color: #222;
136
+ border-radius: 4px;
137
+ padding: 0.25em 0.5em;
138
+ display: inline-block;
139
+ color: #fff;
140
+ font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
141
+ font-weight: lighter;
142
+ margin-top: 1em;
143
+ font-size: 0.8em;
144
+ word-break: break-all;
145
+ }
146
+ .demo ul li code.big {
147
+ padding: 1em;
148
+ font-size: 0.9em;
149
+ }
150
+ .demo ul li code .red {
151
+ color: #EF3159;
152
+ }
153
+ .demo ul li code .green {
154
+ color: #ACFF65;
155
+ }
156
+ .demo ul li code .yellow {
157
+ color: #FFFF99;
158
+ }
159
+ .demo ul li code .blue {
160
+ color: #99D3FF;
161
+ }
162
+ .demo ul li code .purple {
163
+ color: #A295FF;
164
+ }
165
+ .demo ul li code .dots {
166
+ margin-top: 0.5em;
167
+ display: block;
168
+ }
169
+ #glyphs {
170
+ border-bottom: 1px solid #ccc;
171
+ padding: 2em 0;
172
+ text-align: center;
173
+ }
174
+ .glyph {
175
+ display: inline-block;
176
+ width: 9em;
177
+ margin: 1em;
178
+ text-align: center;
179
+ vertical-align: top;
180
+ background: #FFF;
181
+ }
182
+ .glyph .glyph-icon {
183
+ padding: 10px;
184
+ display: block;
185
+ font-family:"Flaticon";
186
+ font-size: 64px;
187
+ line-height: 1;
188
+ }
189
+ .glyph .glyph-icon:before {
190
+ font-size: 64px;
191
+ color: #222;
192
+ margin-left: 0;
193
+ }
194
+ .class-name {
195
+ font-size: 0.65em;
196
+ background-color: #222;
197
+ color: #fff;
198
+ border-radius: 4px 4px 0 0;
199
+ padding: 0.5em;
200
+ color: #FFFF99;
201
+ font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
202
+ }
203
+ .author-name {
204
+ font-size: 0.6em;
205
+ background-color: #fcfcfd;
206
+ border: 1px solid #DEDEE4;
207
+ border-top: 0;
208
+ border-radius: 0 0 4px 4px;
209
+ padding: 0.5em;
210
+ }
211
+ .class-name:last-child {
212
+ font-size: 10px;
213
+ color:#888;
214
+ }
215
+ .class-name:last-child a {
216
+ font-size: 10px;
217
+ color:#555;
218
+ }
219
+ .class-name:last-child a:hover {
220
+ color:#a9fd00;
221
+ }
222
+ .glyph > input {
223
+ display: block;
224
+ width: 100px;
225
+ margin: 5px auto;
226
+ text-align: center;
227
+ font-size: 12px;
228
+ cursor: text;
229
+ }
230
+ .glyph > input.icon-input {
231
+ font-family:"Flaticon";
232
+ font-size: 16px;
233
+ margin-bottom: 10px;
234
+ }
235
+ .attribution .title {
236
+ margin-top: 2em;
237
+ }
238
+ .attribution textarea {
239
+ background-color: #fcfcfd;
240
+ padding: 1em;
241
+ border: none;
242
+ box-shadow: none;
243
+ border: 1px solid #DEDEE4;
244
+ border-radius: 4px;
245
+ resize: none;
246
+ width: 100%;
247
+ height: 150px;
248
+ font-size: 0.8em;
249
+ font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
250
+ -webkit-appearance: none;
251
+ }
252
+ .iconsuse {
253
+ margin: 2em auto;
254
+ text-align: center;
255
+ max-width: 1200px;
256
+ }
257
+ .iconsuse:after {
258
+ content: '';
259
+ display: table;
260
+ clear: both;
261
+ }
262
+ .iconsuse .image {
263
+ float: left;
264
+ width: 25%;
265
+ padding: 0 1em;
266
+ }
267
+ .iconsuse .image p {
268
+ margin-bottom: 1em;
269
+ }
270
+ .iconsuse .image span {
271
+ display: block;
272
+ font-size: 0.65em;
273
+ background-color: #222;
274
+ color: #fff;
275
+ border-radius: 4px;
276
+ padding: 0.5em;
277
+ color: #FFFF99;
278
+ margin-top: 1em;
279
+ font-family: Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
280
+ }
281
+ #footer {
282
+ text-align: center;
283
+ background-color: #4C5B5C;
284
+ color: #7c9192;
285
+ padding: 1em;
286
+ }
287
+ #footer a {
288
+ border: none;
289
+ color: #a9fd00;
290
+ font-weight: normal;
291
+ }
292
+ @media (max-width: 960px) {
293
+ .iconsuse .image {
294
+ width: 50%;
295
+ }
296
+ }
297
+ @media (max-width: 560px) {
298
+ .iconsuse .image {
299
+ width: 100%;
300
+ }
301
+ }
302
+ </style>
303
+ </head>
304
+
305
+ <body class="characters-off">
306
+
307
+ <section id="glyphs">
308
+
309
+
310
+ <div class="glyph"><div class="glyph-icon flaticon-flickr-website-logo-silhouette"></div>
311
+ <div class="class-name">.flaticon-flickr-website-logo-silhouette</div>
312
+ <div class="author-name">Author: <a data-file="001-flickr-website-logo-silhouette" href="https://www.flaticon.com/authors/dave-gandy">Dave Gandy</a> </div>
313
+ </div>
314
+
315
+ <div class="glyph"><div class="glyph-icon flaticon-skrill-pay-logo"></div>
316
+ <div class="class-name">.flaticon-skrill-pay-logo</div>
317
+ <div class="author-name">Author: <a data-file="002-skrill-pay-logo" href="http://www.freepik.com">Freepik</a> </div>
318
+ </div>
319
+
320
+ <div class="glyph"><div class="glyph-icon flaticon-money"></div>
321
+ <div class="class-name">.flaticon-money</div>
322
+ <div class="author-name">Author: <a data-file="003-money" href="http://www.freepik.com">Freepik</a> </div>
323
+ </div>
324
+
325
+ <div class="glyph"><div class="glyph-icon flaticon-stripe-logo"></div>
326
+ <div class="class-name">.flaticon-stripe-logo</div>
327
+ <div class="author-name">Author: <a data-file="004-stripe-logo" href="http://www.freepik.com">Freepik</a> </div>
328
+ </div>
329
+
330
+ <div class="glyph"><div class="glyph-icon flaticon-bank-building"></div>
331
+ <div class="class-name">.flaticon-bank-building</div>
332
+ <div class="author-name">Author: <a data-file="005-bank-building" href="http://www.freepik.com">Freepik</a> </div>
333
+ </div>
334
+
335
+ <div class="glyph"><div class="glyph-icon flaticon-paypal-logotype"></div>
336
+ <div class="class-name">.flaticon-paypal-logotype</div>
337
+ <div class="author-name">Author: <a data-file="006-paypal-logotype" href="http://www.freepik.com">Freepik</a> </div>
338
+ </div>
339
+
340
+ <div class="glyph"><div class="glyph-icon flaticon-pinterest-logo"></div>
341
+ <div class="class-name">.flaticon-pinterest-logo</div>
342
+ <div class="author-name">Author: <a data-file="007-pinterest-logo" href="https://www.flaticon.com/authors/dave-gandy">Dave Gandy</a> </div>
343
+ </div>
344
+
345
+ <div class="glyph"><div class="glyph-icon flaticon-linkedin-logo"></div>
346
+ <div class="class-name">.flaticon-linkedin-logo</div>
347
+ <div class="author-name">Author: <a data-file="008-linkedin-logo" href="https://www.flaticon.com/authors/google">Google</a> </div>
348
+ </div>
349
+
350
+ <div class="glyph"><div class="glyph-icon flaticon-instagram"></div>
351
+ <div class="class-name">.flaticon-instagram</div>
352
+ <div class="author-name">Author: <a data-file="009-instagram" href="http://www.freepik.com">Freepik</a> </div>
353
+ </div>
354
+
355
+ <div class="glyph"><div class="glyph-icon flaticon-google-plus"></div>
356
+ <div class="class-name">.flaticon-google-plus</div>
357
+ <div class="author-name">Author: <a data-file="010-google-plus" href="https://www.flaticon.com/authors/pixel-perfect">Pixel perfect</a> </div>
358
+ </div>
359
+
360
+ <div class="glyph"><div class="glyph-icon flaticon-youtube"></div>
361
+ <div class="class-name">.flaticon-youtube</div>
362
+ <div class="author-name">Author: <a data-file="011-youtube" href="https://www.flaticon.com/authors/pixel-perfect">Pixel perfect</a> </div>
363
+ </div>
364
+
365
+ <div class="glyph"><div class="glyph-icon flaticon-whatsapp"></div>
366
+ <div class="class-name">.flaticon-whatsapp</div>
367
+ <div class="author-name">Author: <a data-file="012-whatsapp" href="https://www.flaticon.com/authors/pixel-perfect">Pixel perfect</a> </div>
368
+ </div>
369
+
370
+ <div class="glyph"><div class="glyph-icon flaticon-twitter-logo-silhouette"></div>
371
+ <div class="class-name">.flaticon-twitter-logo-silhouette</div>
372
+ <div class="author-name">Author: <a data-file="013-twitter-logo-silhouette" href="https://www.flaticon.com/authors/elegant-themes">Elegant Themes</a> </div>
373
+ </div>
374
+
375
+ <div class="glyph"><div class="glyph-icon flaticon-facebook-logo"></div>
376
+ <div class="class-name">.flaticon-facebook-logo</div>
377
+ <div class="author-name">Author: <a data-file="014-facebook-logo" href="https://www.flaticon.com/authors/simpleicon">SimpleIcon</a> </div>
378
+ </div>
379
+
380
+
381
+ </section>
382
+
383
+
384
+ </body>
385
+ </html>
assets/images/dokan-checked.png ADDED
Binary file
assets/images/dokan-logo.png CHANGED
Binary file
assets/images/premium/C/303/251dric-Lefrancq.jpeg ADDED
Binary file
assets/images/premium/Morten-J.-Christensen.jpg ADDED
Binary file
assets/images/premium/available@2x.png ADDED
Binary file
assets/images/premium/cta-dokan-logo.png ADDED
Binary file
assets/images/premium/cta-pattern@2x.png ADDED
Binary file
assets/images/premium/david-gaz.jpeg ADDED
Binary file
assets/images/premium/dokan-lite-logo@2x.png ADDED
Binary file
assets/images/premium/dokan-pro-logo@2x.png ADDED
Binary file
assets/images/premium/gaurantee-thumb.png ADDED
Binary file
assets/images/premium/header-feature-thumb@2x.png ADDED
Binary file
assets/images/premium/melissa.jpg ADDED
Binary file
assets/images/premium/payment-options.png ADDED
Binary file
assets/images/premium/quote-icon.png ADDED
Binary file
assets/images/premium/service-01@2x.png ADDED
Binary file
assets/images/premium/service-02@2x.png ADDED
Binary file
assets/images/premium/service-03@2x.png ADDED
Binary file
assets/images/premium/service-04@2x.png ADDED
Binary file
assets/images/premium/service-05@2x.png ADDED
Binary file
assets/images/premium/service-06@2x.png ADDED
Binary file
assets/images/premium/service-07@2x.png ADDED
Binary file
assets/images/premium/service-08@2x.png ADDED
Binary file
assets/images/premium/service-09@2x.png ADDED
Binary file
assets/images/premium/unavailable@2x.png ADDED
Binary file
assets/images/premium/view-icon@2x.png ADDED
Binary file
assets/images/theme-customizer.js DELETED
@@ -1,102 +0,0 @@
1
- jQuery(function( $ ) {
2
- "use strict";
3
-
4
- wp.customize( 'dokan_logo', function( value ) {
5
- value.bind( function( to ) {
6
- $( '.site-header h1.site-title a' ).css( 'background', "url("+to+") no-repeat scroll 0 0 rgba(0, 0, 0, 0)");
7
- } );
8
- });
9
-
10
- wp.customize( 'dokan_link_color', function( value ) {
11
- value.bind( function( to ) {
12
- $( '.site-header .cart-area-top a, .site-footer .footer-copy a, a' ).css( 'color', to );
13
- } );
14
- });
15
-
16
-
17
- wp.customize( 'dokan_link_hover_color', function( value ) {
18
- value.bind( function( to ) {
19
- $( '.site-header .cart-area-top a:hover, .site-footer .footer-copy a:hover, a:hover' ).css( 'color', to );
20
- } );
21
- });
22
-
23
- wp.customize( 'dokan_header_bg', function( value ) {
24
- value.bind( function( to ) {
25
- $( '.site-header' ).css( 'background-color', to );
26
- } );
27
- });
28
-
29
- wp.customize( 'dokan_nav_bg', function( value ) {
30
- value.bind( function( to ) {
31
- $( '.navbar-default' ).css( 'background-color', to );
32
- } );
33
- });
34
-
35
- wp.customize( 'dokan_nav_color', function( value ) {
36
- value.bind( function( to ) {
37
- $( '.navbar-default .navbar-nav > li > a' ).css( 'color', to );
38
- } );
39
- });
40
-
41
- wp.customize( 'dokan_nav_hover', function( value ) {
42
- value.bind( function( to ) {
43
- $( '.navbar-default .navbar-nav > li > a:hover' ).css( 'color', to );
44
- } );
45
- });
46
-
47
- wp.customize( 'sidebar_widget_header', function( value ) {
48
- value.bind( function( to ) {
49
- $( '.widget-title' ).css( 'color', to );
50
- } );
51
- });
52
-
53
- wp.customize( 'dokan_sidebar_widget_link', function( value ) {
54
- value.bind( function( to ) {
55
- $( '.widget ul li a' ).css( 'color', to );
56
- } );
57
- });
58
-
59
- wp.customize( 'dokan_sidebar_link_hover', function( value ) {
60
- value.bind( function( to ) {
61
- $( '.widget ul li a:hover' ).css( 'color', to );
62
- } );
63
- });
64
-
65
- wp.customize( 'footer_widget_header', function( value ) {
66
- value.bind( function( to ) {
67
- $( '.site-footer .widget h3' ).css( 'color', to );
68
- } );
69
- });
70
-
71
- wp.customize( 'dokan_footer_widget_link', function( value ) {
72
- value.bind( function( to ) {
73
- $( '.site-footer .widget ul li a' ).css( 'color', to );
74
- } );
75
- });
76
-
77
- wp.customize( 'dokan_footer_link_hover', function( value ) {
78
- value.bind( function( to ) {
79
- $( '.site-footer .widget ul li a:hover' ).css( 'color', to );
80
- } );
81
- });
82
-
83
- wp.customize( 'dokan_footer_text', function( value ) {
84
- value.bind( function( to ) {
85
- $( '.site-footer' ).css( 'color', to );
86
- } );
87
- });
88
-
89
-
90
- wp.customize( 'dokan_footer_bg', function( value ) {
91
- value.bind( function( to ) {
92
- $( '.site-footer .footer-widget-area' ).css( 'background', to );
93
- } );
94
- });
95
-
96
- wp.customize( 'dokan_footer_bottom_bar_bg_color', function( value ) {
97
- value.bind( function( to ) {
98
- $( '.site-footer .copy-container' ).css( 'background', to );
99
- } );
100
- });
101
-
102
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/dokan-admin.js CHANGED
@@ -5,45 +5,6 @@
5
  */
6
  jQuery(function($) {
7
 
8
- window.WeDevs_Admin = {
9
-
10
- /**
11
- * Image Upload Helper Function
12
- **/
13
- imageUpload: function (e) {
14
- e.preventDefault();
15
-
16
- var self = $(this),
17
- inputField = self.siblings('input.image_url');
18
-
19
- tb_show('', 'media-upload.php?post_id=0&amp;type=image&amp;TB_iframe=true');
20
-
21
- window.send_to_editor = function (html) {
22
- var url = $(html).attr('src');
23
- //if we find an image, get the src
24
- if($(html).find('img').length > 0) {
25
- url = $(html).find('img').attr('src');
26
- }
27
-
28
- inputField.val(url);
29
-
30
- var image = '<img src="' + url + '" alt="image" />';
31
- image += '<a href="#" class="remove-image"><span>Remove</span></a>';
32
-
33
- self.siblings('.image_placeholder').empty().append(image);
34
- tb_remove();
35
- }
36
- },
37
-
38
- removeImage: function (e) {
39
- e.preventDefault();
40
- var self = $(this);
41
-
42
- self.parent('.image_placeholder').siblings('input.image_url').val('');
43
- self.parent('.image_placeholder').empty();
44
- }
45
- }
46
-
47
  $('.tips').tooltip();
48
 
49
  // settings api - radio_image
@@ -61,19 +22,5 @@ jQuery(function($) {
61
 
62
  btn.parents('.dokan-settings-radio-image').addClass('active').removeClass('not-active');
63
  });
64
-
65
- $(function(){
66
- $('#the-list').on('click', '.editinline', function(){
67
- var post_id = $(this).closest('tr').attr('id');
68
-
69
- post_id = post_id.replace("post-", "");
70
-
71
- var $vendor_id_inline_data = $('#dokan_vendor_id_inline_' + post_id).find('#dokan_vendor_id').text(),
72
- $wc_inline_data = $('#woocommerce_inline_' + post_id );
73
-
74
- $( 'select[name="dokan_product_author_override"] option:selected', '.inline-edit-row' ).attr( 'selected', false ).change();
75
- $( 'select[name="dokan_product_author_override"] option[value="' + $vendor_id_inline_data + '"]' ).attr( 'selected', 'selected' ).change();
76
- });
77
- });
78
  });
79
 
5
  */
6
  jQuery(function($) {
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  $('.tips').tooltip();
9
 
10
  // settings api - radio_image
22
 
23
  btn.parents('.dokan-settings-radio-image').addClass('active').removeClass('not-active');
24
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  });
26
 
assets/js/dokan.js CHANGED
@@ -452,6 +452,67 @@ jQuery(function($) {
452
 
453
  dokan_seller_meta_boxes_order_items.init();
454
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455
  })(jQuery);
456
 
457
 
@@ -512,6 +573,7 @@ jQuery(function($) {
512
  $( '.dokan-product-listing' ).on( 'click', 'a.dokan-add-new-product', this.addProductPopup );
513
 
514
  this.loadSelect2();
 
515
  this.attribute.sortable();
516
  this.checkProductPostboxToggle();
517
  $( '.product-edit-container .dokan-product-attribute-wrapper' ).on( 'click', 'a.dokan-product-toggle-attribute, .dokan-product-attribute-heading', this.attribute.toggleAttribute );
@@ -522,10 +584,11 @@ jQuery(function($) {
522
  $( '.dokan-product-attribute-wrapper ul.dokan-attribute-option-list' ).on( 'click', 'button.dokan-add-new-attribute', this.attribute.addNewExtraAttr );
523
  $( '.product-edit-container .dokan-product-attribute-wrapper' ).on( 'click', 'a.dokan-product-remove-attribute', this.attribute.removeAttribute );
524
  $( '.product-edit-container .dokan-product-attribute-wrapper' ).on( 'click', 'a.dokan-save-attribute', this.attribute.saveAttribute );
525
-
526
  $( 'body' ).on( 'click', '.product-container-footer input[type="submit"]', this.createNewProduct );
527
 
528
  this.attribute.disbalePredefinedAttribute();
 
 
529
  },
530
 
531
  saleSchedule: function() {
@@ -610,6 +673,20 @@ jQuery(function($) {
610
  );
611
  },
612
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
613
  addProductPopup: function (e) {
614
  e.preventDefault();
615
  Dokan_Editor.openProductPopup();
@@ -627,6 +704,7 @@ jQuery(function($) {
627
  open: function() {
628
  $(this.content).closest('.mfp-wrap').removeAttr('tabindex');
629
  Dokan_Editor.loadSelect2();
 
630
 
631
  $('.sale_price_dates_from, .sale_price_dates_to').on('focus', function() {
632
  $(this).css('z-index', '99999');
@@ -641,6 +719,8 @@ jQuery(function($) {
641
  $('.tips').tooltip();
642
 
643
  Dokan_Editor.gallery.sortable();
 
 
644
  },
645
  close: function() {
646
  product_gallery_frame = undefined;
@@ -689,7 +769,7 @@ jQuery(function($) {
689
  $.magnificPopup.close();
690
  window.location.href = resp.data;
691
  } else {
692
- $('.dokan-dahsboard-product-listing-wrapper').load( window.location.href + ' table.product-listing-table' );
693
  $.magnificPopup.close();
694
  Dokan_Editor.openProductPopup();
695
  }
@@ -1277,45 +1357,76 @@ jQuery(function($) {
1277
  return false;
1278
  });
1279
 
1280
- $( "input.dokan-product-regular-price, input.dokan-product-sales-price" ).on( 'keyup', function () {
1281
- if ( dokan.commission_type == 'percentage' ) {
 
 
 
 
 
 
 
 
 
 
1282
  if ( $('input.dokan-product-sales-price' ).val() == '' ) {
1283
  $( 'span.vendor-price' ).html(
1284
- parseFloat( accounting.formatNumber( ( ( $( 'input.dokan-product-regular-price' ).val() * dokan.vendor_percentage ) / 100 ), dokan.rounding_precision, '' ) )
1285
- .toString()
1286
- .replace( '.', dokan.mon_decimal_point )
1287
  );
1288
  } else {
1289
  $( 'span.vendor-price' ).html(
1290
- parseFloat( accounting.formatNumber( ( ( $( 'input.dokan-product-sales-price' ).val() * dokan.vendor_percentage ) / 100 ), dokan.rounding_precision, '' ) )
1291
  .toString()
1292
  .replace( '.', dokan.mon_decimal_point )
1293
  );
1294
  }
1295
  } else {
1296
-
1297
  if ( $('input.dokan-product-sales-price' ).val() == '' ) {
1298
  $( 'span.vendor-price' ).html(
1299
- parseFloat( accounting.formatNumber( ( $( 'input.dokan-product-regular-price' ).val() - ( 100 - dokan.vendor_percentage ) ), dokan.rounding_precision, '' ) )
1300
- .toString()
1301
- .replace( '.', dokan.mon_decimal_point )
1302
  );
1303
  } else {
1304
  $( 'span.vendor-price' ).html(
1305
- parseFloat( accounting.formatNumber( ( $( 'input.dokan-product-sales-price' ).val() - ( 100 - dokan.vendor_percentage ) ), dokan.rounding_precision, '' ) )
1306
- .toString()
1307
- .replace( '.', dokan.mon_decimal_point )
1308
- );
1309
  }
1310
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1311
 
1312
- if ( $( '#product_type' ).val() == 'simple' ) {
 
 
 
1313
  if ( Number( $('span.vendor-price').text() ) < 0 ) {
1314
  $( $('.dokan-product-less-price-alert').removeClass('dokan-hide') );
1315
  $( 'input[type=submit]' ).attr( 'disabled', 'disabled' );
 
1316
  } else {
1317
- $( 'input[type=submit]' ).removeAttr( 'disabled');
1318
  $( $('.dokan-product-less-price-alert').addClass('dokan-hide') );
 
 
1319
  }
1320
  }
1321
 
@@ -1327,13 +1438,13 @@ jQuery(function($) {
1327
  } else {
1328
  if ( Number( $('span.vendor-price').text() ) > 0 ) {
1329
  $( 'input[type=submit]' ).removeAttr( 'disabled');
1330
- $( $('.dokan-product-less-price-alert').addClass('dokan-hide') );
1331
  } else {
1332
- $( $('.dokan-product-less-price-alert').removeClass('dokan-hide') );
1333
  $( 'input[type=submit]' ).attr( 'disabled', 'disabled' );
1334
  }
1335
  }
1336
- } );
1337
 
1338
  } ).trigger('keyup');
1339
 
@@ -1405,116 +1516,6 @@ jQuery(function($) {
1405
 
1406
  });
1407
 
1408
- // Dokan Register
1409
- jQuery(function($) {
1410
- $('.user-role input[type=radio]').on('change', function() {
1411
- var value = $(this).val();
1412
-
1413
- if ( value === 'seller') {
1414
- $('.show_if_seller').slideDown();
1415
- if ( $( '.tc_check_box' ).length > 0 )
1416
- $('input[name=register]').attr('disabled','disabled');
1417
- } else {
1418
- $('.show_if_seller').slideUp();
1419
- if ( $( '.tc_check_box' ).length > 0 )
1420
- $( 'input[name=register]' ).removeAttr( 'disabled' );
1421
- }
1422
- });
1423
-
1424
- $( '.tc_check_box' ).on( 'click', function () {
1425
- var chk_value = $( this ).val();
1426
- if ( $( this ).prop( "checked" ) ) {
1427
- $( 'input[name=register]' ).removeAttr( 'disabled' );
1428
- $( 'input[name=dokan_migration]' ).removeAttr( 'disabled' );
1429
- } else {
1430
- $( 'input[name=register]' ).attr( 'disabled', 'disabled' );
1431
- $( 'input[name=dokan_migration]' ).attr( 'disabled', 'disabled' );
1432
- }
1433
- } );
1434
-
1435
- if ( $( '.tc_check_box' ).length > 0 ){
1436
- $( 'input[name=dokan_migration]' ).attr( 'disabled', 'disabled' );
1437
- }
1438
-
1439
- $('#company-name').on('focusout', function() {
1440
- var value = getSlug( $(this).val() );
1441
-
1442
- $('#seller-url').val(value);
1443
- $('#url-alart').text( value );
1444
- $('#seller-url').focus();
1445
- });
1446
-
1447
- $('#seller-url').keydown(function(e) {
1448
- var text = $(this).val();
1449
-
1450
- // Allow: backspace, delete, tab, escape, enter and .
1451
- if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 91, 109, 110, 173, 189, 190]) !== -1 ||
1452
- // Allow: Ctrl+A
1453
- (e.keyCode == 65 && e.ctrlKey === true) ||
1454
- // Allow: home, end, left, right
1455
- (e.keyCode >= 35 && e.keyCode <= 39)) {
1456
- // let it happen, don't do anything
1457
- return;
1458
- }
1459
-
1460
- if ((e.shiftKey || (e.keyCode < 65 || e.keyCode > 90) && (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105) ) {
1461
- e.preventDefault();
1462
- }
1463
- });
1464
-
1465
- $('#seller-url').keyup(function(e) {
1466
- $('#url-alart').text( $(this).val() );
1467
- });
1468
-
1469
- $('#shop-phone').keydown(function(e) {
1470
- // Allow: backspace, delete, tab, escape, enter and .
1471
- if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 91, 107, 109, 110, 187, 189, 190]) !== -1 ||
1472
- // Allow: Ctrl+A
1473
- (e.keyCode == 65 && e.ctrlKey === true) ||
1474
- // Allow: home, end, left, right
1475
- (e.keyCode >= 35 && e.keyCode <= 39)) {
1476
- // let it happen, don't do anything
1477
- return;
1478
- }
1479
-
1480
- // Ensure that it is a number and stop the keypress
1481
- if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
1482
- e.preventDefault();
1483
- }
1484
- });
1485
-
1486
- $('#seller-url').on('focusout', function() {
1487
- var self = $(this),
1488
- data = {
1489
- action : 'shop_url',
1490
- url_slug : self.val(),
1491
- _nonce : dokan.nonce,
1492
- };
1493
-
1494
- if ( self.val() === '' ) {
1495
- return;
1496
- }
1497
-
1498
- var row = self.closest('.form-row');
1499
- row.block({ message: null, overlayCSS: { background: '#fff url(' + dokan.ajax_loader + ') no-repeat center', opacity: 0.6 } });
1500
-
1501
- $.post( dokan.ajaxurl, data, function(resp) {
1502
-
1503
- if ( resp.success === true ) {
1504
- $('#url-alart').removeClass('text-danger').addClass('text-success');
1505
- $('#url-alart-mgs').removeClass('text-danger').addClass('text-success').text(dokan.seller.available);
1506
- } else {
1507
- $('#url-alart').removeClass('text-success').addClass('text-danger');
1508
- $('#url-alart-mgs').removeClass('text-success').addClass('text-danger').text(dokan.seller.notAvailable);
1509
- }
1510
-
1511
- row.unblock();
1512
-
1513
- } );
1514
-
1515
- });
1516
- });
1517
-
1518
  //dokan settings
1519
  (function($) {
1520
 
@@ -1946,28 +1947,10 @@ jQuery(function($) {
1946
  }
1947
  };
1948
 
1949
- var Dokan_Add_Seller = {
1950
- init: function() {
1951
- this.validate(this);
1952
- },
1953
-
1954
- validate: function(self) {
1955
-
1956
- $('form.register').validate({
1957
- errorPlacement: validatorError,
1958
- success: validatorSuccess,
1959
- submitHandler: function(form) {
1960
- form.submit();
1961
- }
1962
- });
1963
- }
1964
- };
1965
-
1966
  $(function() {
1967
  Dokan_Settings.init();
1968
  Dokan_Withdraw.init();
1969
  Dokan_Seller.init();
1970
- Dokan_Add_Seller.init();
1971
 
1972
  $('.dokan-form-horizontal').on('change', 'input[type=checkbox]#lbl_setting_minimum_quantity', function(){
1973
  var showSWDiscount = $( '.show_if_needs_sw_discount' );
@@ -2036,6 +2019,46 @@ jQuery(function($) {
2036
  escapeMarkup: function( m ) {
2037
  return m;
2038
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2039
  ajax: {
2040
  url: dokan.ajaxurl,
2041
  dataType: 'json',
@@ -2091,4 +2114,34 @@ jQuery(function($) {
2091
  }
2092
  });
2093
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2094
  })(jQuery);
452
 
453
  dokan_seller_meta_boxes_order_items.init();
454
 
455
+ // Ajax search customers
456
+ $( '#dokan-filter-customer' ).filter( ':not(.enhanced)' ).each( function() {
457
+ var select2_args = {
458
+ allowClear: $( this ).data( 'allow_clear' ) ? true : false,
459
+ placeholder: $( this ).data( 'placeholder' ),
460
+ minimumInputLength: $( this ).data( 'minimum_input_length' ) ? $( this ).data( 'minimum_input_length' ) : '1',
461
+ escapeMarkup: function( m ) {
462
+ return m;
463
+ },
464
+ ajax: {
465
+ url: dokan.ajaxurl,
466
+ dataType: 'json',
467
+ delay: 1000,
468
+ data: function( params ) {
469
+ return {
470
+ term: params.term,
471
+ action: 'dokan_json_search_vendor_customers',
472
+ security: dokan.search_customer_nonce,
473
+ exclude: $( this ).data( 'exclude' )
474
+ };
475
+ },
476
+ processResults: function( data ) {
477
+ var terms = [];
478
+ if ( data ) {
479
+ $.each( data, function( id, text ) {
480
+ terms.push({
481
+ id: id,
482
+ text: text
483
+ });
484
+ });
485
+ }
486
+ return {
487
+ results: terms
488
+ };
489
+ },
490
+ cache: true
491
+ }
492
+ };
493
+
494
+ $( this ).select2( select2_args ).addClass( 'enhanced' );
495
+
496
+ if ( $( this ).data( 'sortable' ) ) {
497
+ var $select = $(this);
498
+ var $list = $( this ).next( '.select2-container' ).find( 'ul.select2-selection__rendered' );
499
+
500
+ $list.sortable({
501
+ placeholder : 'ui-state-highlight select2-selection__choice',
502
+ forcePlaceholderSize: true,
503
+ items : 'li:not(.select2-search__field)',
504
+ tolerance : 'pointer',
505
+ stop: function() {
506
+ $( $list.find( '.select2-selection__choice' ).get().reverse() ).each( function() {
507
+ var id = $( this ).data( 'data' ).id;
508
+ var option = $select.find( 'option[value="' + id + '"]' )[0];
509
+ $select.prepend( option );
510
+ } );
511
+ }
512
+ });
513
+ }
514
+ });
515
+
516
  })(jQuery);
517
 
518
 
573
  $( '.dokan-product-listing' ).on( 'click', 'a.dokan-add-new-product', this.addProductPopup );
574
 
575
  this.loadSelect2();
576
+ this.bindProductTagDropdown();
577
  this.attribute.sortable();
578
  this.checkProductPostboxToggle();
579
  $( '.product-edit-container .dokan-product-attribute-wrapper' ).on( 'click', 'a.dokan-product-toggle-attribute, .dokan-product-attribute-heading', this.attribute.toggleAttribute );
584
  $( '.dokan-product-attribute-wrapper ul.dokan-attribute-option-list' ).on( 'click', 'button.dokan-add-new-attribute', this.attribute.addNewExtraAttr );
585
  $( '.product-edit-container .dokan-product-attribute-wrapper' ).on( 'click', 'a.dokan-product-remove-attribute', this.attribute.removeAttribute );
586
  $( '.product-edit-container .dokan-product-attribute-wrapper' ).on( 'click', 'a.dokan-save-attribute', this.attribute.saveAttribute );
 
587
  $( 'body' ).on( 'click', '.product-container-footer input[type="submit"]', this.createNewProduct );
588
 
589
  this.attribute.disbalePredefinedAttribute();
590
+
591
+ $( 'body' ).trigger( 'dokan-product-editor-loaded', this );
592
  },
593
 
594
  saleSchedule: function() {
673
  );
674
  },
675
 
676
+ bindProductTagDropdown: function () {
677
+ if ( dokan.product_vendors_can_create_tags && 'on' === dokan.product_vendors_can_create_tags ) {
678
+ return;
679
+ }
680
+
681
+ $( '#product_tag' ).select2( {
682
+ language: {
683
+ noResults: function () {
684
+ return dokan.i18n_no_result_found;
685
+ }
686
+ }
687
+ } );
688
+ },
689
+
690
  addProductPopup: function (e) {
691
  e.preventDefault();
692
  Dokan_Editor.openProductPopup();
704
  open: function() {
705
  $(this.content).closest('.mfp-wrap').removeAttr('tabindex');
706
  Dokan_Editor.loadSelect2();
707
+ Dokan_Editor.bindProductTagDropdown();
708
 
709
  $('.sale_price_dates_from, .sale_price_dates_to').on('focus', function() {
710
  $(this).css('z-index', '99999');
719
  $('.tips').tooltip();
720
 
721
  Dokan_Editor.gallery.sortable();
722
+
723
+ $( 'body' ).trigger( 'dokan-product-editor-popup-opened', Dokan_Editor );
724
  },
725
  close: function() {
726
  product_gallery_frame = undefined;
769
  $.magnificPopup.close();
770
  window.location.href = resp.data;
771
  } else {
772
+ $('.dokan-dashboard-product-listing-wrapper').load( window.location.href + ' table.product-listing-table' );
773
  $.magnificPopup.close();
774
  Dokan_Editor.openProductPopup();
775
  }
1357
  return false;
1358
  });
1359
 
1360
+ function dokan_show_earning_suggestion() {
1361
+ var selectedCategoryWrapper = $('select#product_cat').find('option:selected');
1362
+
1363
+ if ( selectedCategoryWrapper.data( 'commission' ) != '' ) {
1364
+ var vendor_percentage = selectedCategoryWrapper.data( 'commission' );
1365
+ var commission_type = selectedCategoryWrapper.data( 'commission_type' );
1366
+ } else {
1367
+ var commission_type = $('span.vendor-earning').attr( 'data-commission_type' );
1368
+ var vendor_percentage = $('span.vendor-earning').attr( 'data-commission' );
1369
+ }
1370
+
1371
+ if ( commission_type == 'percentage' ) {
1372
  if ( $('input.dokan-product-sales-price' ).val() == '' ) {
1373
  $( 'span.vendor-price' ).html(
1374
+ parseFloat( accounting.formatNumber( ( ( $( 'input.dokan-product-regular-price' ).val() * vendor_percentage ) / 100 ), dokan.rounding_precision, '' ) )
1375
+ .toString()
1376
+ .replace( '.', dokan.mon_decimal_point )
1377
  );
1378
  } else {
1379
  $( 'span.vendor-price' ).html(
1380
+ parseFloat( accounting.formatNumber( ( ( $( 'input.dokan-product-sales-price' ).val() * vendor_percentage ) / 100 ), dokan.rounding_precision, '' ) )
1381
  .toString()
1382
  .replace( '.', dokan.mon_decimal_point )
1383
  );
1384
  }
1385
  } else {
 
1386
  if ( $('input.dokan-product-sales-price' ).val() == '' ) {
1387
  $( 'span.vendor-price' ).html(
1388
+ parseFloat( accounting.formatNumber( ( $( 'input.dokan-product-regular-price' ).val() - vendor_percentage ), dokan.rounding_precision, '' ) )
1389
+ .toString()
1390
+ .replace( '.', dokan.mon_decimal_point )
1391
  );
1392
  } else {
1393
  $( 'span.vendor-price' ).html(
1394
+ parseFloat( accounting.formatNumber( ( $( 'input.dokan-product-sales-price' ).val() - vendor_percentage ), dokan.rounding_precision, '' ) )
1395
+ .toString()
1396
+ .replace( '.', dokan.mon_decimal_point )
1397
+ );
1398
  }
1399
  }
1400
+ }
1401
+
1402
+ $('select#product_cat').on('change', function() {
1403
+ dokan_show_earning_suggestion();
1404
+
1405
+ if ( $( '#product_type' ).val() == 'variable' || $( '#product_type' ).val() == undefined ) {
1406
+ return;
1407
+ }
1408
+
1409
+ if ( Number( $('span.vendor-price').text() ) <= 0 ) {
1410
+ $( 'input[type=submit]' ).attr( 'disabled', 'disabled' );
1411
+ $( '.dokan-product-less-price-alert' ).removeClass( 'dokan-hide' );
1412
+ } else {
1413
+ $( 'input[type=submit]' ).removeAttr( 'disabled');
1414
+ $( '.dokan-product-less-price-alert' ).addClass( 'dokan-hide' );
1415
+ }
1416
+ });
1417
 
1418
+ $( "input.dokan-product-regular-price, input.dokan-product-sales-price" ).on( 'keyup', function () {
1419
+ dokan_show_earning_suggestion();
1420
+
1421
+ if ( $( '#product_type' ).val() == 'simple' || $( '#product_type' ).text() == '' ) {
1422
  if ( Number( $('span.vendor-price').text() ) < 0 ) {
1423
  $( $('.dokan-product-less-price-alert').removeClass('dokan-hide') );
1424
  $( 'input[type=submit]' ).attr( 'disabled', 'disabled' );
1425
+ $( 'button[type=submit]' ).attr( 'disabled', 'disabled' );
1426
  } else {
 
1427
  $( $('.dokan-product-less-price-alert').addClass('dokan-hide') );
1428
+ $( 'input[type=submit]' ).removeAttr( 'disabled');
1429
+ $( 'button[type=submit]' ).removeAttr( 'disabled');
1430
  }
1431
  }
1432
 
1438
  } else {
1439
  if ( Number( $('span.vendor-price').text() ) > 0 ) {
1440
  $( 'input[type=submit]' ).removeAttr( 'disabled');
1441
+ $( '.dokan-product-less-price-alert' ).addClass( 'dokan-hide' );
1442
  } else {
1443
+ $( '.dokan-product-less-price-alert' ).removeClass( 'dokan-hide ');
1444
  $( 'input[type=submit]' ).attr( 'disabled', 'disabled' );
1445
  }
1446
  }
1447
+ } );
1448
 
1449
  } ).trigger('keyup');
1450
 
1516
 
1517
  });
1518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1519
  //dokan settings
1520
  (function($) {
1521
 
1947
  }
1948
  };
1949
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1950
  $(function() {
1951
  Dokan_Settings.init();
1952
  Dokan_Withdraw.init();
1953
  Dokan_Seller.init();
 
1954
 
1955
  $('.dokan-form-horizontal').on('change', 'input[type=checkbox]#lbl_setting_minimum_quantity', function(){
1956
  var showSWDiscount = $( '.show_if_needs_sw_discount' );
2019
  escapeMarkup: function( m ) {
2020
  return m;
2021
  },
2022
+ language: {
2023
+ errorLoading: function() {
2024
+ // Workaround for https://github.com/select2/select2/issues/4355 instead of i18n_ajax_error.
2025
+ return dokan.i18n_searching;
2026
+ },
2027
+ inputTooLong: function( args ) {
2028
+ var overChars = args.input.length - args.maximum;
2029
+
2030
+ if ( 1 === overChars ) {
2031
+ return dokan.i18n_input_too_long_1;
2032
+ }
2033
+
2034
+ return dokan.i18n_input_too_long_n.replace( '%qty%', overChars );
2035
+ },
2036
+ inputTooShort: function( args ) {
2037
+ var remainingChars = args.minimum - args.input.length;
2038
+
2039
+ if ( 1 === remainingChars ) {
2040
+ return dokan.i18n_input_too_short_1;
2041
+ }
2042
+
2043
+ return dokan.i18n_input_too_short_n.replace( '%qty%', remainingChars );
2044
+ },
2045
+ loadingMore: function() {
2046
+ return dokan.i18n_load_more;
2047
+ },
2048
+ maximumSelected: function( args ) {
2049
+ if ( args.maximum === 1 ) {
2050
+ return dokan.i18n_selection_too_long_1;
2051
+ }
2052
+
2053
+ return dokan.i18n_selection_too_long_n.replace( '%qty%', args.maximum );
2054
+ },
2055
+ noResults: function() {
2056
+ return dokan.i18n_no_matches;
2057
+ },
2058
+ searching: function() {
2059
+ return dokan.i18n_searching;
2060
+ }
2061
+ },
2062
  ajax: {
2063
  url: dokan.ajaxurl,
2064
  dataType: 'json',
2114
  }
2115
  });
2116
 
2117
+ /**
2118
+ * Trigger bulk item checkbox selections
2119
+ */
2120
+ var bulkItemsSelection = {
2121
+ init: function() {
2122
+ selected_items = [];
2123
+
2124
+ $( '#cb-select-all' ).on( 'change', function( e ) {
2125
+ var self = $(this);
2126
+
2127
+ var item_id = $( '.cb-select-items' );
2128
+
2129
+ if ( self.is( ':checked' ) ) {
2130
+ item_id.each( function ( key, value ) {
2131
+ var item = $( value );
2132
+ item.prop( 'checked', 'checked' );
2133
+ } );
2134
+ } else {
2135
+ item_id.each( function ( key, value ) {
2136
+ $( value ).prop( 'checked', '' );
2137
+ selected_items.pop();
2138
+ } );
2139
+ }
2140
+ } );
2141
+ }
2142
+ };
2143
+
2144
+ bulkItemsSelection.init();
2145
+
2146
+
2147
  })(jQuery);
assets/js/vendor-registration.js ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($) {
2
+
3
+ var Dokan_Vendor_Registration = {
4
+
5
+ init: function() {
6
+ var form = $('form.register');
7
+
8
+ // bind events
9
+ $( '.user-role input[type=radio]', form ).on( 'change', this.showSellerForm );
10
+ $( '.tc_check_box', form ).on( 'click', this.onTOC );
11
+ $( '#shop-phone', form ).keydown( this.ensurePhoneNumber );
12
+ $( '#company-name', form ).on( 'focusout', this.generateSlugFromCompany );
13
+
14
+ $( '#seller-url', form ).keydown( this.constrainSlug );
15
+ $( '#seller-url', form ).keyup( this.renderUrl );
16
+ $( '#seller-url', form ).on( 'focusout', this.checkSlugAvailability );
17
+
18
+ this.validationLocalized();
19
+ // this.validate(this);
20
+ },
21
+
22
+ validate: function(self) {
23
+
24
+ $('form.register').validate({
25
+ errorPlacement: function(error, element) {
26
+ var form_group = $(element).closest('.form-group');
27
+ form_group.addClass('has-error').append(error);
28
+ },
29
+ success: function(label, element) {
30
+ $(element).closest('.form-group').removeClass('has-error');
31
+ },
32
+ submitHandler: function(form) {
33
+ form.submit();
34
+ }
35
+ });
36
+ },
37
+
38
+ showSellerForm: function() {
39
+ var value = $(this).val();
40
+
41
+ if ( value === 'seller') {
42
+ $('.show_if_seller').find( 'input, select' ).removeAttr( 'disabled' );
43
+ $('.show_if_seller').slideDown();
44
+
45
+ if ( $( '.tc_check_box' ).length > 0 ) {
46
+ $('button[name=register]').attr('disabled','disabled');
47
+ }
48
+
49
+ } else {
50
+ $('.show_if_seller').find( 'input, select' ).attr( 'disabled', 'disabled' );
51
+ $('.show_if_seller').slideUp();
52
+
53
+ if ( $( '.tc_check_box' ).length > 0 ) {
54
+ $( 'button[name=register]' ).removeAttr( 'disabled' );
55
+ }
56
+ }
57
+ },
58
+
59
+ onTOC: function() {
60
+ var chk_value = $( this ).val();
61
+
62
+ if ( $( this ).prop( "checked" ) ) {
63
+ $( 'input[name=register]' ).removeAttr( 'disabled' );
64
+ $( 'button[name=register]' ).removeAttr( 'disabled' );
65
+ $( 'input[name=dokan_migration]' ).removeAttr( 'disabled' );
66
+ } else {
67
+ $( 'input[name=register]' ).attr( 'disabled', 'disabled' );
68
+ $( 'button[name=register]' ).attr( 'disabled', 'disabled' );
69
+ $( 'input[name=dokan_migration]' ).attr( 'disabled', 'disabled' );
70
+ }
71
+ },
72
+
73
+ ensurePhoneNumber: function(e) {
74
+ // Allow: backspace, delete, tab, escape, enter and .
75
+ if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 91, 107, 109, 110, 187, 189, 190]) !== -1 ||
76
+
77
+ // Allow: Ctrl+A
78
+ (e.keyCode == 65 && e.ctrlKey === true) ||
79
+
80
+ // Allow: home, end, left, right
81
+ (e.keyCode >= 35 && e.keyCode <= 39)) {
82
+ // let it happen, don't do anything
83
+ return;
84
+ }
85
+
86
+ // Ensure that it is a number and stop the keypress
87
+ if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
88
+ e.preventDefault();
89
+ }
90
+ },
91
+
92
+ generateSlugFromCompany: function() {
93
+ var value = getSlug( $(this).val() );
94
+
95
+ $('#seller-url').val(value);
96
+ $('#url-alart').text( value );
97
+ $('#seller-url').focus();
98
+ },
99
+
100
+ constrainSlug: function(e) {
101
+ var text = $(this).val();
102
+
103
+ // Allow: backspace, delete, tab, escape, enter and .
104
+ if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 91, 109, 110, 173, 189, 190]) !== -1 ||
105
+ // Allow: Ctrl+A
106
+ (e.keyCode == 65 && e.ctrlKey === true) ||
107
+ // Allow: home, end, left, right
108
+ (e.keyCode >= 35 && e.keyCode <= 39)) {
109
+ // let it happen, don't do anything
110
+ return;
111
+ }
112
+
113
+ if ((e.shiftKey || (e.keyCode < 65 || e.keyCode > 90) && (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105) ) {
114
+ e.preventDefault();
115
+ }
116
+ },
117
+
118
+ checkSlugAvailability: function() {
119
+ var self = $(this),
120
+ data = {
121
+ action : 'shop_url',
122
+ url_slug : self.val(),
123
+ _nonce : dokan.nonce,
124
+ };
125
+
126
+ if ( self.val() === '' ) {
127
+ return;
128
+ }
129
+
130
+ var row = self.closest('.form-row');
131
+ row.block({ message: null, overlayCSS: { background: '#fff url(' + dokan.ajax_loader + ') no-repeat center', opacity: 0.6 } });
132
+
133
+ $.post( dokan.ajaxurl, data, function(resp) {
134
+
135
+ if ( resp.success === true ) {
136
+ $('#url-alart').removeClass('text-danger').addClass('text-success');
137
+ $('#url-alart-mgs').removeClass('text-danger').addClass('text-success').text(dokan.seller.available);
138
+ } else {
139
+ $('#url-alart').removeClass('text-success').addClass('text-danger');
140
+ $('#url-alart-mgs').removeClass('text-success').addClass('text-danger').text(dokan.seller.notAvailable);
141
+ }
142
+
143
+ row.unblock();
144
+
145
+ } );
146
+ },
147
+
148
+ renderUrl: function() {
149
+ $('#url-alart').text( $(this).val() );
150
+ },
151
+
152
+ validationLocalized: function() {
153
+ var dokan_messages = DokanValidateMsg;
154
+
155
+ dokan_messages.maxlength = $.validator.format( dokan_messages.maxlength_msg );
156
+ dokan_messages.minlength = $.validator.format( dokan_messages.minlength_msg );
157
+ dokan_messages.rangelength = $.validator.format( dokan_messages.rangelength_msg );
158
+ dokan_messages.range = $.validator.format( dokan_messages.range_msg );
159
+ dokan_messages.max = $.validator.format( dokan_messages.max_msg );
160
+ dokan_messages.min = $.validator.format( dokan_messages.min_msg );
161
+
162
+ $.validator.messages = dokan_messages;
163
+ }
164
+ };
165
+
166
+ // boot the class onReady
167
+ $(function() {
168
+ Dokan_Vendor_Registration.init();
169
+
170
+ $('.show_if_seller').find( 'input, select' ).attr( 'disabled', 'disabled' );
171
+
172
+ // disable migration button if checkbox isn't checked
173
+ if ( $( '.tc_check_box' ).length > 0 ){
174
+ $( 'input[name=dokan_migration]' ).attr( 'disabled', 'disabled' );
175
+ $( 'input[name=register]' ).attr( 'disabled', 'disabled' );
176
+ }
177
+ });
178
+
179
+ })(jQuery);
assets/js/vue-admin.js ADDED
@@ -0,0 +1,5214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dokanWebpack([0],[
2
+ /* 0 */,
3
+ /* 1 */,
4
+ /* 2 */,
5
+ /* 3 */
6
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7
+
8
+ "use strict";
9
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue_chartjs__ = __webpack_require__(4);
10
+
11
+
12
+
13
+ /* harmony default export */ __webpack_exports__["a"] = ({
14
+ extends: __WEBPACK_IMPORTED_MODULE_0_vue_chartjs__["Line"],
15
+ props: ['data'],
16
+ data() {
17
+ return {
18
+ options: {
19
+ responsive: true,
20
+ maintainAspectRatio: false,
21
+ scales: {
22
+ xAxes: [{
23
+ type: 'time',
24
+ scaleLabel: {
25
+ display: false
26
+ },
27
+ gridLines: {
28
+ display: false
29
+ },
30
+ ticks: {
31
+ fontColor: '#aaa',
32
+ fontSize: 11
33
+ }
34
+ }],
35
+ yAxes: [{
36
+ scaleLabel: {
37
+ display: false
38
+ },
39
+ ticks: {
40
+ fontColor: '#aaa'
41
+ }
42
+ }]
43
+ },
44
+ legend: {
45
+ position: 'top',
46
+ onClick: false
47
+ },
48
+ elements: {
49
+ line: {
50
+ tension: 0,
51
+ borderWidth: 4
52
+ },
53
+ point: {
54
+ radius: 5,
55
+ borderWidth: 3,
56
+ backgroundColor: '#fff',
57
+ borderColor: '#fff'
58
+ }
59
+ },
60
+ tooltips: {
61
+ displayColors: false,
62
+ callbacks: {
63
+ label: function (tooltipItems, data) {
64
+ let label = data.datasets[tooltipItems.datasetIndex].label || '';
65
+ let customLabel = data.datasets[tooltipItems.datasetIndex].tooltipLabel || '';
66
+ let prefix = data.datasets[tooltipItems.datasetIndex].tooltipPrefix || '';
67
+
68
+ let tooltipLabel = customLabel ? customLabel + ': ' : label + ': ';
69
+
70
+ tooltipLabel += prefix + tooltipItems.yLabel;
71
+
72
+ return tooltipLabel;
73
+ }
74
+ }
75
+ }
76
+ }
77
+ };
78
+ },
79
+ mounted() {
80
+ this.renderChart(this.data, this.options);
81
+ }
82
+ });
83
+
84
+ /***/ }),
85
+ /* 4 */,
86
+ /* 5 */,
87
+ /* 6 */,
88
+ /* 7 */
89
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
90
+
91
+ "use strict";
92
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
93
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Chart_vue__ = __webpack_require__(3);
94
+ /* empty harmony namespace reexport */
95
+ var disposed = false
96
+ var normalizeComponent = __webpack_require__(0)
97
+ /* script */
98
+
99
+
100
+ /* template */
101
+ var __vue_template__ = null
102
+ /* template functional */
103
+ var __vue_template_functional__ = false
104
+ /* styles */
105
+ var __vue_styles__ = null
106
+ /* scopeId */
107
+ var __vue_scopeId__ = null
108
+ /* moduleIdentifier (server only) */
109
+ var __vue_module_identifier__ = null
110
+ var Component = normalizeComponent(
111
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Chart_vue__["a" /* default */],
112
+ __vue_template__,
113
+ __vue_template_functional__,
114
+ __vue_styles__,
115
+ __vue_scopeId__,
116
+ __vue_module_identifier__
117
+ )
118
+ Component.options.__file = "src/admin/components/Chart.vue"
119
+
120
+ /* hot reload */
121
+ if (false) {(function () {
122
+ var hotAPI = require("vue-hot-reload-api")
123
+ hotAPI.install(require("vue"), false)
124
+ if (!hotAPI.compatible) return
125
+ module.hot.accept()
126
+ if (!module.hot.data) {
127
+ hotAPI.createRecord("data-v-28c376de", Component.options)
128
+ } else {
129
+ hotAPI.reload("data-v-28c376de", Component.options)
130
+ }
131
+ module.hot.dispose(function (data) {
132
+ disposed = true
133
+ })
134
+ })()}
135
+
136
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
137
+
138
+
139
+ /***/ }),
140
+ /* 8 */,
141
+ /* 9 */,
142
+ /* 10 */,
143
+ /* 11 */,
144
+ /* 12 */
145
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
146
+
147
+ "use strict";
148
+ //
149
+ //
150
+ //
151
+ //
152
+ //
153
+ //
154
+ //
155
+
156
+ /* harmony default export */ __webpack_exports__["a"] = ({
157
+ name: 'App'
158
+ });
159
+
160
+ /***/ }),
161
+ /* 13 */
162
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
163
+
164
+ "use strict";
165
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_admin_components_Chart_vue__ = __webpack_require__(7);
166
+ //
167
+ //
168
+ //
169
+ //
170
+ //
171
+ //
172
+ //
173
+ //
174
+ //
175
+ //
176
+ //
177
+ //
178
+ //
179
+ //
180
+ //
181
+ //
182
+ //
183
+ //
184
+ //
185
+ //
186
+ //
187
+ //
188
+ //
189
+ //
190
+ //
191
+ //
192
+ //
193
+ //
194
+ //
195
+ //
196
+ //
197
+ //
198
+ //
199
+ //
200
+ //
201
+ //
202
+ //
203
+ //
204
+ //
205
+ //
206
+ //
207
+ //
208
+ //
209
+ //
210
+ //
211
+ //
212
+ //
213
+ //
214
+ //
215
+ //
216
+ //
217
+ //
218
+ //
219
+ //
220
+ //
221
+ //
222
+ //
223
+ //
224
+ //
225
+ //
226
+ //
227
+ //
228
+ //
229
+ //
230
+ //
231
+ //
232
+ //
233
+ //
234
+ //
235
+ //
236
+ //
237
+ //
238
+ //
239
+ //
240
+ //
241
+ //
242
+ //
243
+ //
244
+ //
245
+ //
246
+ //
247
+ //
248
+ //
249
+ //
250
+ //
251
+ //
252
+ //
253
+ //
254
+ //
255
+ //
256
+ //
257
+ //
258
+ //
259
+ //
260
+ //
261
+ //
262
+ //
263
+ //
264
+ //
265
+ //
266
+ //
267
+ //
268
+ //
269
+ //
270
+ //
271
+ //
272
+ //
273
+ //
274
+ //
275
+ //
276
+
277
+ let Postbox = dokan_get_lib('Postbox');
278
+ let Loading = dokan_get_lib('Loading');
279
+
280
+
281
+
282
+ /* harmony default export */ __webpack_exports__["a"] = ({
283
+
284
+ name: 'Dashboard',
285
+
286
+ components: {
287
+ Postbox,
288
+ Loading,
289
+ Chart: __WEBPACK_IMPORTED_MODULE_0_admin_components_Chart_vue__["default"]
290
+ },
291
+
292
+ data() {
293
+ return {
294
+ overview: null,
295
+ feed: null,
296
+ report: null,
297
+ subscribe: {
298
+ success: false,
299
+ loading: false,
300
+ email: ''
301
+ }
302
+ };
303
+ },
304
+
305
+ created() {
306
+ this.fetchOverview();
307
+ this.fetchFeed();
308
+ this.fetchReport();
309
+ },
310
+
311
+ methods: {
312
+
313
+ fetchOverview() {
314
+ dokan.api.get('/admin/report/summary').done(response => {
315
+ this.overview = response;
316
+ });
317
+ },
318
+
319
+ fetchFeed() {
320
+ dokan.api.get('/admin/dashboard/feed').done(response => {
321
+ this.feed = response;
322
+ });
323
+ },
324
+
325
+ fetchReport() {
326
+ dokan.api.get('/admin/report/overview').done(response => {
327
+ this.report = response;
328
+ });
329
+ },
330
+
331
+ validEmail(email) {
332
+ var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
333
+ return re.test(email);
334
+ },
335
+
336
+ emailSubscribe() {
337
+ let action = 'https://wedevs.us16.list-manage.com/subscribe/post-json?u=66e606cfe0af264974258f030&id=0d176bb256&c=?';
338
+
339
+ if (!this.validEmail(this.subscribe.email)) {
340
+ return;
341
+ }
342
+
343
+ this.subscribe.loading = true;
344
+
345
+ $.ajax({
346
+ url: action,
347
+ data: {
348
+ EMAIL: this.subscribe.email,
349
+ 'group[3555][8]': '1'
350
+ },
351
+ type: 'GET',
352
+ dataType: 'json',
353
+ cache: false,
354
+ contentType: "application/json; charset=utf-8"
355
+ }).always(response => {
356
+ this.subscribe.success = true;
357
+ this.subscribe.loading = false;
358
+ });
359
+ }
360
+ }
361
+ });
362
+
363
+ /***/ }),
364
+ /* 14 */
365
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
366
+
367
+ "use strict";
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
+ //
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
+ let ListTable = dokan_get_lib('ListTable');
455
+ let Modal = dokan_get_lib('Modal');
456
+
457
+ /* harmony default export */ __webpack_exports__["a"] = ({
458
+
459
+ name: 'Withdraw',
460
+
461
+ components: {
462
+ ListTable,
463
+ Modal
464
+ },
465
+
466
+ data() {
467
+ return {
468
+ showModal: false,
469
+ editing: {
470
+ id: null,
471
+ note: null
472
+ },
473
+
474
+ totalPages: 1,
475
+ perPage: 10,
476
+ totalItems: 0,
477
+
478
+ counts: {
479
+ pending: 0,
480
+ approved: 0,
481
+ cancelled: 0
482
+ },
483
+ notFound: this.__('No requests found.', 'dokan-lite'),
484
+ showCb: true,
485
+ loading: false,
486
+ columns: {
487
+ 'seller': { label: this.__('Vendor', 'dokan-lite') },
488
+ 'amount': { label: this.__('Amount', 'dokan-lite') },
489
+ 'status': { label: this.__('Status', 'dokan-lite') },
490
+ 'method_title': { label: this.__('Method', 'dokan-lite') },
491
+ 'method_details': { label: this.__('Details', 'dokan-lite') },
492
+ 'note': { label: this.__('Note', 'dokan-lite') },
493
+ 'created': { label: this.__('Date', 'dokan-lite') },
494
+ 'actions': { label: this.__('Actions', 'dokan-lite') }
495
+ },
496
+ requests: [],
497
+ actionColumn: 'seller'
498
+ };
499
+ },
500
+
501
+ watch: {
502
+ '$route.query.status'() {
503
+ this.fetchRequests();
504
+ },
505
+
506
+ '$route.query.page'() {
507
+ this.fetchRequests();
508
+ }
509
+ },
510
+
511
+ computed: {
512
+
513
+ currentStatus() {
514
+ return this.$route.query.status || 'pending';
515
+ },
516
+
517
+ currentPage() {
518
+ let page = this.$route.query.page || 1;
519
+
520
+ return parseInt(page);
521
+ },
522
+
523
+ actions() {
524
+ if ('pending' == this.currentStatus) {
525
+ return [{
526
+ key: 'trash',
527
+ label: this.__('Delete', 'dokan-lite')
528
+ }, {
529
+ key: 'cancel',
530
+ label: this.__('Cancel', 'dokan-lite')
531
+ }];
532
+ } else if ('cancelled' == this.currentStatus) {
533
+ return [{
534
+ key: 'trash',
535
+ label: this.__('Delete', 'dokan-lite')
536
+ }, {
537
+ key: 'pending',
538
+ label: this.__('Pending', 'dokan-lite')
539
+ }];
540
+ } else {
541
+ return [];
542
+ }
543
+ },
544
+
545
+ bulkActions() {
546
+ if ('pending' == this.currentStatus) {
547
+ return [{
548
+ key: 'approved',
549
+ label: this.__('Approve', 'dokan-lite')
550
+ }, {
551
+ key: 'cancelled',
552
+ label: this.__('Cancel', 'dokan-lite')
553
+ }, {
554
+ key: 'delete',
555
+ label: this.__('Delete', 'dokan-lite')
556
+ }, {
557
+ key: 'paypal',
558
+ label: this.__('Download PayPal mass payment file', 'dokan-lite')
559
+ }];
560
+ } else if ('cancelled' == this.currentStatus) {
561
+ return [{
562
+ key: 'pending',
563
+ label: this.__('Pending', 'dokan-lite')
564
+ }, {
565
+ key: 'delete',
566
+ label: this.__('Delete', 'dokan-lite')
567
+ }, {
568
+ key: 'paypal',
569
+ label: this.__('Download PayPal mass payment file', 'dokan-lite')
570
+ }];
571
+ } else {
572
+ return [{
573
+ key: 'paypal',
574
+ label: this.__('Download PayPal mass payment file', 'dokan-lite')
575
+ }];
576
+ }
577
+ }
578
+ },
579
+
580
+ created() {
581
+ this.fetchRequests();
582
+ },
583
+
584
+ methods: {
585
+
586
+ updatedCounts(xhr) {
587
+ this.counts.pending = parseInt(xhr.getResponseHeader('X-Status-Pending'));
588
+ this.counts.approved = parseInt(xhr.getResponseHeader('X-Status-Completed'));
589
+ this.counts.cancelled = parseInt(xhr.getResponseHeader('X-Status-Cancelled'));
590
+ },
591
+
592
+ updatePagination(xhr) {
593
+ this.totalPages = parseInt(xhr.getResponseHeader('X-WP-TotalPages'));
594
+ this.totalItems = parseInt(xhr.getResponseHeader('X-WP-Total'));
595
+ },
596
+
597
+ vendorUrl(id) {
598
+ if (window.dokan.hasPro === '1') {
599
+ return dokan.urls.adminRoot + 'admin.php?page=dokan#/vendors/' + id;
600
+ }
601
+
602
+ return dokan.urls.adminRoot + 'user-edit.php?user_id=' + id;
603
+ },
604
+
605
+ fetchRequests() {
606
+ this.loading = true;
607
+
608
+ dokan.api.get('/withdraw?per_page=' + this.perPage + '&page=' + this.currentPage + '&status=' + this.currentStatus).done((response, status, xhr) => {
609
+ this.requests = response;
610
+ this.loading = false;
611
+
612
+ this.updatedCounts(xhr);
613
+ this.updatePagination(xhr);
614
+ });
615
+ },
616
+
617
+ goToPage(page) {
618
+ this.$router.push({
619
+ name: 'Withdraw',
620
+ query: {
621
+ status: this.currentStatus,
622
+ page: page
623
+ }
624
+ });
625
+ },
626
+
627
+ updateItem(id, value) {
628
+ let index = this.requests.findIndex(x => x.id == id);
629
+
630
+ this.$set(this.requests, index, value);
631
+ },
632
+
633
+ changeStatus(status, id) {
634
+ this.loading = true;
635
+
636
+ dokan.api.put('/withdraw/' + id, { status: status }).done(response => {
637
+ // this.requests = response;
638
+ this.loading = false;
639
+ // this.updateItem(id, response);
640
+ this.fetchRequests();
641
+ });
642
+ },
643
+
644
+ onActionClick(action, row) {
645
+ if ('cancel' === action) {
646
+ this.changeStatus('cancelled', row.id);
647
+ }
648
+
649
+ if ('pending' === action) {
650
+ this.changeStatus('pending', row.id);
651
+ }
652
+
653
+ if ('trash' === action) {
654
+ if (confirm(this.__('Are you sure?', 'dokan-lite'))) {
655
+ this.loading = true;
656
+
657
+ dokan.api.delete('/withdraw/' + row.id).done(response => {
658
+ this.loading = false;
659
+ this.fetchRequests();
660
+ });
661
+ }
662
+ }
663
+ },
664
+
665
+ getPaymentDetails(method, data) {
666
+ let details = '—';
667
+
668
+ if (data[method] !== undefined) {
669
+ if ('paypal' === method || 'skrill' === method) {
670
+ details = data[method].email || '';
671
+ } else if ('bank' === method) {
672
+ if (data.bank.hasOwnProperty('ac_name')) {
673
+ details = this.sprintf(this.__('Account Name: %s', 'dokan-lite'), data.bank.ac_name);
674
+ }
675
+
676
+ if (data.bank.hasOwnProperty('ac_number')) {
677
+ details += this.sprintf(this.__(', Account Number: %s', 'dokan-lite'), data.bank.ac_number);
678
+ }
679
+
680
+ if (data.bank.hasOwnProperty('bank_name')) {
681
+ details += this.sprintf(this.__(', Bank Name: %s', 'dokan-lite'), data.bank.bank_name);
682
+ }
683
+
684
+ if (data.bank.hasOwnProperty('routing_number')) {
685
+ details += this.sprintf(this.__(', Routing Number: %s', 'dokan-lite'), data.bank.routing_number);
686
+ }
687
+ }
688
+ }
689
+
690
+ return details;
691
+ },
692
+
693
+ moment(date) {
694
+ return moment(date);
695
+ },
696
+
697
+ onBulkAction(action, items) {
698
+ if (_.contains(['delete', 'approved', 'cancelled', 'pending'], action)) {
699
+
700
+ let jsonData = {};
701
+ jsonData[action] = items;
702
+
703
+ this.loading = true;
704
+
705
+ dokan.api.put('/withdraw/batch', jsonData).done(response => {
706
+ this.loading = false;
707
+ this.fetchRequests();
708
+ });
709
+ }
710
+
711
+ if ('paypal' === action) {
712
+ let ids = items.join(",");
713
+
714
+ $.post(ajaxurl, {
715
+ 'dokan_withdraw_bulk': 'paypal',
716
+ 'id': ids,
717
+ 'action': 'withdraw_ajax_submission'
718
+ }, function (response, status, xhr) {
719
+ var filename = "";
720
+ var disposition = xhr.getResponseHeader('Content-Disposition');
721
+
722
+ if (disposition && disposition.indexOf('attachment') !== -1) {
723
+ var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
724
+ var matches = filenameRegex.exec(disposition);
725
+
726
+ if (matches != null && matches[1]) {
727
+ filename = matches[1].replace(/['"]/g, '');
728
+ }
729
+ }
730
+
731
+ var type = xhr.getResponseHeader('Content-Type');
732
+
733
+ var blob = typeof File === 'function' ? new File([response], filename, { type: type }) : new Blob([response], { type: type });
734
+ if (typeof window.navigator.msSaveBlob !== 'undefined') {
735
+ // IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed."
736
+ window.navigator.msSaveBlob(blob, filename);
737
+ } else {
738
+ var URL = window.URL || window.webkitURL;
739
+ var downloadUrl = URL.createObjectURL(blob);
740
+
741
+ if (filename) {
742
+ // use HTML5 a[download] attribute to specify filename
743
+ var a = document.createElement("a");
744
+ // safari doesn't support this yet
745
+ if (typeof a.download === 'undefined') {
746
+ window.location = downloadUrl;
747
+ } else {
748
+ a.href = downloadUrl;
749
+ a.download = filename;
750
+ document.body.appendChild(a);
751
+ a.click();
752
+ }
753
+ } else {
754
+ window.location = downloadUrl;
755
+ }
756
+
757
+ setTimeout(function () {
758
+ URL.revokeObjectURL(downloadUrl);
759
+ }, 100); // cleanup
760
+ }
761
+ });
762
+ }
763
+ },
764
+
765
+ openNoteModal(note, id) {
766
+ this.showModal = true;
767
+ this.editing = {
768
+ id: id,
769
+ note: note
770
+ };
771
+ },
772
+
773
+ updateNote() {
774
+ this.showModal = false;
775
+ this.loading = true;
776
+
777
+ dokan.api.put('/withdraw/' + this.editing.id + '/note', {
778
+ note: this.editing.note
779
+ }).done(response => {
780
+ this.loading = false;
781
+
782
+ this.updateItem(this.editing.id, response);
783
+ this.editing = {
784
+ id: null,
785
+ note: null
786
+ };
787
+ });
788
+ }
789
+ }
790
+ });
791
+
792
+ /***/ }),
793
+ /* 15 */
794
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
795
+
796
+ "use strict";
797
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_slick_carousel_slick_slick_css__ = __webpack_require__(69);
798
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_slick_carousel_slick_slick_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_slick_carousel_slick_slick_css__);
799
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_slick__ = __webpack_require__(72);
800
+ //
801
+ //
802
+ //
803
+ //
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
+ //
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
+ //
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
+ /* harmony default export */ __webpack_exports__["a"] = ({
1046
+
1047
+ name: 'Premium',
1048
+
1049
+ components: { Slick: __WEBPACK_IMPORTED_MODULE_1_vue_slick__["a" /* default */] },
1050
+
1051
+ data() {
1052
+ return {
1053
+ asstesUrl: dokan.urls.assetsUrl,
1054
+ services: [{
1055
+ "title": this.__("Premium modules to make everything easier & better", "dokan-lite"),
1056
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-01@2x.png'
1057
+ }, {
1058
+ "title": this.__("Frontend dashboard for vendors with advanced controls", "dokan-lite"),
1059
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-02@2x.png'
1060
+ }, {
1061
+ "title": this.__("Unlimited Product Variations and group product upload", "dokan-lite"),
1062
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-03@2x.png'
1063
+ }, {
1064
+ "title": this.__("Zone wise shipping with multiple method for vendors", "dokan-lite"),
1065
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-04@2x.png'
1066
+ }, {
1067
+ "title": this.__("Store support based on ticket system for your customers", "dokan-lite"),
1068
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-05@2x.png'
1069
+ }, {
1070
+ "title": this.__("Vendors will be able to generate coupon codes", "dokan-lite"),
1071
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-06@2x.png'
1072
+ }, {
1073
+ "title": this.__("Earning, Selling and Commission Reports & Statement", "dokan-lite"),
1074
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-07@2x.png'
1075
+ }, {
1076
+ "title": this.__("24/7 super fast premium customer support for you", "dokan-lite"),
1077
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-08@2x.png'
1078
+ }, {
1079
+ "title": this.__("Add Social profile to your vendor’s store and support for store SEO", "dokan-lite"),
1080
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/service-09@2x.png'
1081
+ }],
1082
+
1083
+ comparisons: [{
1084
+ "title": this.__("Frontend order management", "dokan-lite"),
1085
+ "compare": {
1086
+ "lite": "available",
1087
+ "pro": 'available'
1088
+ }
1089
+ }, {
1090
+ "title": this.__("Seller Statement Reports", "dokan-lite"),
1091
+ "compare": {
1092
+ "lite": "available",
1093
+ "pro": 'available'
1094
+ }
1095
+ }, {
1096
+ "title": this.__("Making Announcements", "dokan-lite"),
1097
+ "compare": {
1098
+ "lite": "available",
1099
+ "pro": 'available'
1100
+ }
1101
+ }, {
1102
+ "title": this.__("Customized Product Categories", "dokan-lite"),
1103
+ "compare": {
1104
+ "lite": "unavailable",
1105
+ "pro": 'available'
1106
+ }
1107
+ }, {
1108
+ "title": this.__("Store SEO", "dokan-lite"),
1109
+ "compare": {
1110
+ "lite": "unavailable",
1111
+ "pro": 'available'
1112
+ }
1113
+ }, {
1114
+ "title": this.__("Back Ordering System", "dokan-lite"),
1115
+ "compare": {
1116
+ "lite": "unavailable",
1117
+ "pro": 'available'
1118
+ }
1119
+ }, {
1120
+ "title": this.__("Store Contact Form", "dokan-lite"),
1121
+ "compare": {
1122
+ "lite": "unavailable",
1123
+ "pro": 'available'
1124
+ }
1125
+ }, {
1126
+ "title": this.__("Single Product Multiple Seller", "dokan-lite"),
1127
+ "compare": {
1128
+ "lite": "unavailable",
1129
+ "pro": 'available'
1130
+ }
1131
+ }, {
1132
+ "title": this.__("Seller Verification", "dokan-lite"),
1133
+ "compare": {
1134
+ "lite": "unavailable",
1135
+ "pro": 'available'
1136
+ }
1137
+ }, {
1138
+ "title": this.__("Featured Seller", "dokan-lite"),
1139
+ "compare": {
1140
+ "lite": "unavailable",
1141
+ "pro": 'available'
1142
+ }
1143
+ }, {
1144
+ "title": this.__("Multiple Commission Types", "dokan-lite"),
1145
+ "compare": {
1146
+ "lite": "unavailable",
1147
+ "pro": 'available'
1148
+ }
1149
+ }, {
1150
+ "title": this.__("Frontend Shipping Tracking", "dokan-lite"),
1151
+ "compare": {
1152
+ "lite": "unavailable",
1153
+ "pro": 'available'
1154
+ }
1155
+ }, {
1156
+ "title": this.__("Setup Wizard", "dokan-lite"),
1157
+ "compare": {
1158
+ "lite": "unavailable",
1159
+ "pro": 'available'
1160
+ }
1161
+ }, {
1162
+ "title": this.__("Google Maps", "dokan-lite"),
1163
+ "compare": {
1164
+ "lite": "unavailable",
1165
+ "pro": 'available'
1166
+ }
1167
+ }, {
1168
+ "title": this.__("Manage reviews", "dokan-lite"),
1169
+ "compare": {
1170
+ "lite": "unavailable",
1171
+ "pro": 'available'
1172
+ }
1173
+ }, {
1174
+ "title": this.__("Bookable Product", "dokan-lite"),
1175
+ "compare": {
1176
+ "lite": "unavailable",
1177
+ "pro": 'available'
1178
+ }
1179
+ }],
1180
+
1181
+ modules: [{
1182
+ "title": "Domain",
1183
+ "url": "https:\/\/wedevs.com\/dokan\/",
1184
+ "starter": {
1185
+ "type": "numeric",
1186
+ "value": '01'
1187
+ },
1188
+ "professional": {
1189
+ "type": "numeric",
1190
+ "value": '03'
1191
+ },
1192
+ "business": {
1193
+ "type": "numeric",
1194
+ "value": '05'
1195
+ },
1196
+ "enterprise": {
1197
+ "type": "numeric",
1198
+ "value": '20'
1199
+ }
1200
+ }, {
1201
+ "title": "Modules",
1202
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/",
1203
+ "starter": {
1204
+ "type": "numeric",
1205
+ "value": '01'
1206
+ },
1207
+ "professional": {
1208
+ "type": "numeric",
1209
+ "value": '08'
1210
+ },
1211
+ "business": {
1212
+ "type": "numeric",
1213
+ "value": '14'
1214
+ },
1215
+ "enterprise": {
1216
+ "type": "numeric",
1217
+ "value": '14'
1218
+ }
1219
+ }, {
1220
+ "title": "Color Scheme",
1221
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/color-scheme-customizer\/",
1222
+ "starter": {
1223
+ "type": "icon",
1224
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1225
+ },
1226
+ "professional": {
1227
+ "type": "icon",
1228
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1229
+ },
1230
+ "business": {
1231
+ "type": "icon",
1232
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1233
+ },
1234
+ "enterprise": {
1235
+ "type": "icon",
1236
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1237
+ }
1238
+ }, {
1239
+ "title": "Vendor Review",
1240
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/dokan-vendor-review\/",
1241
+ "starter": {
1242
+ "type": "icon",
1243
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1244
+ },
1245
+ "professional": {
1246
+ "type": "icon",
1247
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1248
+ },
1249
+ "business": {
1250
+ "type": "icon",
1251
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1252
+ },
1253
+ "enterprise": {
1254
+ "type": "icon",
1255
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1256
+ }
1257
+ }, {
1258
+ "title": "Store Support",
1259
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/store-support\/",
1260
+ "starter": {
1261
+ "type": "icon",
1262
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1263
+ },
1264
+ "professional": {
1265
+ "type": "icon",
1266
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1267
+ },
1268
+ "business": {
1269
+ "type": "icon",
1270
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1271
+ },
1272
+ "enterprise": {
1273
+ "type": "icon",
1274
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1275
+ }
1276
+ }, {
1277
+ "title": "Auction",
1278
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/dokan-simple-auctions\/",
1279
+ "starter": {
1280
+ "type": "icon",
1281
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1282
+ },
1283
+ "professional": {
1284
+ "type": "icon",
1285
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1286
+ },
1287
+ "business": {
1288
+ "type": "icon",
1289
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1290
+ },
1291
+ "enterprise": {
1292
+ "type": "icon",
1293
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1294
+ }
1295
+ }, {
1296
+ "title": "Ajax Live Search",
1297
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/ajax-live-search\/",
1298
+ "starter": {
1299
+ "type": "icon",
1300
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1301
+ },
1302
+ "professional": {
1303
+ "type": "icon",
1304
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1305
+ },
1306
+ "business": {
1307
+ "type": "icon",
1308
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1309
+ },
1310
+ "enterprise": {
1311
+ "type": "icon",
1312
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1313
+ }
1314
+ }, {
1315
+ "title": "Stripe Connect",
1316
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/stripe-connect\/",
1317
+ "starter": {
1318
+ "type": "icon",
1319
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1320
+ },
1321
+ "professional": {
1322
+ "type": "icon",
1323
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1324
+ },
1325
+ "business": {
1326
+ "type": "icon",
1327
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1328
+ },
1329
+ "enterprise": {
1330
+ "type": "icon",
1331
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1332
+ }
1333
+ }, {
1334
+ "title": "Subscriptions",
1335
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/subscription\/",
1336
+ "starter": {
1337
+ "type": "icon",
1338
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1339
+ },
1340
+ "professional": {
1341
+ "type": "icon",
1342
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1343
+ },
1344
+ "business": {
1345
+ "type": "icon",
1346
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1347
+ },
1348
+ "enterprise": {
1349
+ "type": "icon",
1350
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1351
+ }
1352
+ }, {
1353
+ "title": "Single Product Multivendor",
1354
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/single-product-multivendor\/",
1355
+ "starter": {
1356
+ "type": "icon",
1357
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1358
+ },
1359
+ "professional": {
1360
+ "type": "icon",
1361
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1362
+ },
1363
+ "business": {
1364
+ "type": "icon",
1365
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1366
+ },
1367
+ "enterprise": {
1368
+ "type": "icon",
1369
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1370
+ }
1371
+ }, {
1372
+ "title": "Seller Verification",
1373
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/seller-verification\/",
1374
+ "starter": {
1375
+ "type": "icon",
1376
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1377
+ },
1378
+ "professional": {
1379
+ "type": "icon",
1380
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1381
+ },
1382
+ "business": {
1383
+ "type": "icon",
1384
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1385
+ },
1386
+ "enterprise": {
1387
+ "type": "icon",
1388
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1389
+ }
1390
+ }, {
1391
+ "title": "WC Booking Integration",
1392
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/woocommerce-booking-integration\/",
1393
+ "starter": {
1394
+ "type": "icon",
1395
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1396
+ },
1397
+ "professional": {
1398
+ "type": "icon",
1399
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1400
+ },
1401
+ "business": {
1402
+ "type": "icon",
1403
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1404
+ },
1405
+ "enterprise": {
1406
+ "type": "icon",
1407
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1408
+ }
1409
+ }, {
1410
+ "title": "Vendor Staff Manager",
1411
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/vendor-staff-manager\/",
1412
+ "starter": {
1413
+ "type": "icon",
1414
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1415
+ },
1416
+ "professional": {
1417
+ "type": "icon",
1418
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1419
+ },
1420
+ "business": {
1421
+ "type": "icon",
1422
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1423
+ },
1424
+ "enterprise": {
1425
+ "type": "icon",
1426
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1427
+ }
1428
+ }, {
1429
+ "title": "Export Import",
1430
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/export-import\/",
1431
+ "starter": {
1432
+ "type": "icon",
1433
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1434
+ },
1435
+ "professional": {
1436
+ "type": "icon",
1437
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1438
+ },
1439
+ "business": {
1440
+ "type": "icon",
1441
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1442
+ },
1443
+ "enterprise": {
1444
+ "type": "icon",
1445
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1446
+ }
1447
+ }, {
1448
+ "title": "Product Enquiry",
1449
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/product-enquiry\/",
1450
+ "starter": {
1451
+ "type": "icon",
1452
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1453
+ },
1454
+ "professional": {
1455
+ "type": "icon",
1456
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1457
+ },
1458
+ "business": {
1459
+ "type": "icon",
1460
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1461
+ },
1462
+ "enterprise": {
1463
+ "type": "icon",
1464
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1465
+ }
1466
+ }, {
1467
+ "title": "Vendor Vacation",
1468
+ "url": "https:\/\/wedevs.com\/dokan\/modules\/vendor-vacation\/",
1469
+ "starter": {
1470
+ "type": "icon",
1471
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1472
+ },
1473
+ "professional": {
1474
+ "type": "icon",
1475
+ "value": dokan.urls.assetsUrl + '/images/premium/unavailable@2x.png'
1476
+ },
1477
+ "business": {
1478
+ "type": "icon",
1479
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1480
+ },
1481
+ "enterprise": {
1482
+ "type": "icon",
1483
+ "value": dokan.urls.assetsUrl + '/images/premium/available@2x.png'
1484
+ }
1485
+ }],
1486
+
1487
+ payment: {
1488
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/payment-options.png',
1489
+ "guaranteeThumbnail": dokan.urls.assetsUrl + '/images/premium/gaurantee-thumb.png',
1490
+ "viewIcon": dokan.urls.assetsUrl + '/images/premium/view-icon@2x.png',
1491
+ "termsPolicyUrl": "https:\/\/wedevs.com\/refund-policy\/"
1492
+ },
1493
+
1494
+ slickOptions: {
1495
+ //options can be used from the plugin documentation
1496
+ slidesToShow: 1,
1497
+ fade: true,
1498
+ speed: 500,
1499
+ cssEase: 'linear',
1500
+ autoplay: true,
1501
+ autoplaySpeed: 2000,
1502
+ infinite: true,
1503
+ accessibility: true,
1504
+ adaptiveHeight: false,
1505
+ arrows: false,
1506
+ dots: true,
1507
+ draggable: true,
1508
+ edgeFriction: 0.30,
1509
+ swipe: true
1510
+ },
1511
+
1512
+ testimonials: [{
1513
+ "name": "Melissa McGovern",
1514
+ "designation": "Director, Hawk And PeddleProjects",
1515
+ "pic": dokan.urls.assetsUrl + '/images/premium/melissa.jpg',
1516
+ "content": "We're still a new business and are continuing to build our platform. Dokan has halved the time it would take us to build our ecommerce platform by being feature rich and easy to install and configure."
1517
+ }, {
1518
+ "name": "Morten J. Christensen",
1519
+ "designation": "Owner, Dincatering",
1520
+ "pic": dokan.urls.assetsUrl + '/images/premium/Morten-J.-Christensen.jpg',
1521
+ "content": "First and foremost it enables the possibility for actually creating the kind of marketplace i wanted. The plugin lets me create a local marketplace for local danish catering suppliers to showcase and sell their offers of the season."
1522
+ }, {
1523
+ "name": "Cédric Lefrancq",
1524
+ "designation": "Webmaster, Unwebmaster.Be",
1525
+ "pic": dokan.urls.assetsUrl + '/images/premium/Cédric-Lefrancq.jpeg',
1526
+ "content": "The support is very good. The plugin is perfect. Bugs are fixed very quickly. That’s a very good plugin."
1527
+ }, {
1528
+ "name": "David Gaz",
1529
+ "designation": "Founder, The Bureau Of Small Projects",
1530
+ "pic": dokan.urls.assetsUrl + '/images/premium/david-gaz.jpeg',
1531
+ "content": "It’s hands down an amazing plugin. But their support is even more amazing. They got back to me within hours on the weekend."
1532
+ }],
1533
+
1534
+ cta: {
1535
+ "styles": {
1536
+ "bgPattern": dokan.urls.assetsUrl + '/images/premium/cta-pattern@2x.png'
1537
+ },
1538
+ "thumbnail": dokan.urls.assetsUrl + '/images/premium/cta-dokan-logo.png',
1539
+ "url": dokan.urls.buynowpro
1540
+ }
1541
+
1542
+ };
1543
+ },
1544
+
1545
+ methods: {
1546
+ next() {
1547
+ this.$refs.slick.next();
1548
+ },
1549
+
1550
+ prev() {
1551
+ this.$refs.slick.prev();
1552
+ },
1553
+
1554
+ reInit() {
1555
+ // Helpful if you have to deal with v-for to update dynamic lists
1556
+ this.$nextTick(() => {
1557
+ this.$refs.slick.reSlick();
1558
+ });
1559
+ }
1560
+ },
1561
+
1562
+ computed: {
1563
+ buyNowProUrl() {
1564
+ return dokan.urls.buynowpro.substr(-1) === '/' ? dokan.urls.buynowpro + '?' : dokan.urls.buynowpro + '&';
1565
+ }
1566
+ }
1567
+ });
1568
+
1569
+ /***/ }),
1570
+ /* 16 */,
1571
+ /* 17 */,
1572
+ /* 18 */
1573
+ /***/ (function(module, exports) {
1574
+
1575
+ module.exports = jQuery;
1576
+
1577
+ /***/ }),
1578
+ /* 19 */
1579
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1580
+
1581
+ "use strict";
1582
+ //
1583
+ //
1584
+ //
1585
+ //
1586
+ //
1587
+ //
1588
+ //
1589
+ //
1590
+ //
1591
+ //
1592
+ //
1593
+ //
1594
+ //
1595
+ //
1596
+ //
1597
+ //
1598
+ //
1599
+ //
1600
+ //
1601
+ //
1602
+
1603
+ let Postbox = dokan_get_lib('Postbox');
1604
+ let Loading = dokan_get_lib('Loading');
1605
+
1606
+ /* harmony default export */ __webpack_exports__["a"] = ({
1607
+
1608
+ name: 'Help',
1609
+
1610
+ components: {
1611
+ Postbox,
1612
+ Loading
1613
+ },
1614
+
1615
+ data() {
1616
+ return {
1617
+ docs: null
1618
+ };
1619
+ },
1620
+
1621
+ created() {
1622
+ this.fetch();
1623
+ },
1624
+
1625
+ methods: {
1626
+
1627
+ fetch() {
1628
+ dokan.api.get('/admin/help').done(response => {
1629
+ this.docs = response;
1630
+ });
1631
+ }
1632
+ }
1633
+ });
1634
+
1635
+ /***/ }),
1636
+ /* 20 */
1637
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1638
+
1639
+ "use strict";
1640
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_admin_components_Fields_vue__ = __webpack_require__(81);
1641
+ //
1642
+ //
1643
+ //
1644
+ //
1645
+ //
1646
+ //
1647
+ //
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
+ let Loading = dokan_get_lib('Loading');
1694
+
1695
+
1696
+ /* harmony default export */ __webpack_exports__["a"] = ({
1697
+
1698
+ name: 'Settings',
1699
+
1700
+ components: {
1701
+ Fields: __WEBPACK_IMPORTED_MODULE_0_admin_components_Fields_vue__["a" /* default */],
1702
+ Loading
1703
+ },
1704
+
1705
+ data() {
1706
+ return {
1707
+ isSaved: false,
1708
+ showLoading: false,
1709
+ isUpdated: false,
1710
+ isLoaded: false,
1711
+ message: '',
1712
+ currentTab: null,
1713
+ settingSections: [],
1714
+ settingFields: {},
1715
+ settingValues: {}
1716
+ };
1717
+ },
1718
+
1719
+ methods: {
1720
+ changeTab(section) {
1721
+ var activetab = '';
1722
+ this.currentTab = section.id;
1723
+
1724
+ if (typeof localStorage != 'undefined') {
1725
+ localStorage.setItem("activetab", this.currentTab);
1726
+ }
1727
+ },
1728
+
1729
+ showSectionTitle(index) {
1730
+ return _.findWhere(this.settingSections, { id: index }).title;
1731
+ },
1732
+
1733
+ fetchSettingValues() {
1734
+ var self = this,
1735
+ data = {
1736
+ action: 'dokan_get_setting_values',
1737
+ nonce: dokan.nonce
1738
+ };
1739
+
1740
+ self.showLoading = true;
1741
+
1742
+ jQuery.post(dokan.ajaxurl, data, function (resp) {
1743
+ if (resp.success) {
1744
+
1745
+ Object.keys(self.settingFields).forEach(function (section, index) {
1746
+ Object.keys(self.settingFields[section]).forEach(function (field, i) {
1747
+
1748
+ if (!self.settingValues[section]) {
1749
+ self.settingValues[section] = {};
1750
+ }
1751
+
1752
+ if (typeof resp.data[section][field] === 'undefined') {
1753
+ if (typeof self.settingFields[section][field].default === 'undefined') {
1754
+ self.settingValues[section][field] = '';
1755
+ } else {
1756
+ self.settingValues[section][field] = self.settingFields[section][field].default;
1757
+ }
1758
+ } else {
1759
+ self.settingValues[section][field] = resp.data[section][field];
1760
+ }
1761
+ });
1762
+ });
1763
+
1764
+ self.settingValues = jQuery.extend({}, self.settingValues);
1765
+
1766
+ self.showLoading = false;
1767
+ self.isLoaded = true;
1768
+ }
1769
+ });
1770
+ },
1771
+
1772
+ showMedia(data, $event) {
1773
+ var self = this;
1774
+
1775
+ var file_frame = wp.media.frames.file_frame = wp.media({
1776
+ title: this.__('Choose your file', 'dokan-lite'),
1777
+ button: {
1778
+ text: this.__('Select', 'dokan-lite')
1779
+ },
1780
+ multiple: false
1781
+ });
1782
+
1783
+ file_frame.on('select', function () {
1784
+ var attachment = file_frame.state().get('selection').first().toJSON();
1785
+ self.settingValues[data.sectionId][data.name] = attachment.url;
1786
+ });
1787
+
1788
+ file_frame.open();
1789
+ },
1790
+
1791
+ saveSettings(fieldData, section) {
1792
+ var self = this,
1793
+ data = {
1794
+ action: 'dokan_save_settings',
1795
+ nonce: dokan.nonce,
1796
+ settingsData: fieldData,
1797
+ section: section
1798
+ };
1799
+ self.showLoading = true;
1800
+ jQuery.post(dokan.ajaxurl, data, function (resp) {
1801
+ if (resp.success) {
1802
+ self.isSaved = true;
1803
+ self.isUpdated = true;
1804
+ self.message = resp.data;
1805
+ } else {
1806
+ self.isSaved = true;
1807
+ self.isUpdated = false;
1808
+ self.message = resp.data;
1809
+ }
1810
+ self.showLoading = false;
1811
+ });
1812
+ }
1813
+ },
1814
+
1815
+ created() {
1816
+ this.fetchSettingValues();
1817
+
1818
+ this.currentTab = 'dokan_general';
1819
+ if (typeof localStorage != 'undefined') {
1820
+ this.currentTab = localStorage.getItem("activetab") ? localStorage.getItem("activetab") : 'dokan_general';
1821
+ }
1822
+
1823
+ this.settingSections = dokan.settings_sections;
1824
+ this.settingFields = dokan.settings_fields;
1825
+ }
1826
+ });
1827
+
1828
+ /***/ }),
1829
+ /* 21 */
1830
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1831
+
1832
+ "use strict";
1833
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_admin_components_ColorPicker_vue__ = __webpack_require__(82);
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
+ //
1903
+ //
1904
+ //
1905
+ //
1906
+ //
1907
+ //
1908
+ //
1909
+ //
1910
+ //
1911
+ //
1912
+ //
1913
+ //
1914
+ //
1915
+ //
1916
+ //
1917
+ //
1918
+ //
1919
+ //
1920
+ //
1921
+ //
1922
+ //
1923
+ //
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
+ /* harmony default export */ __webpack_exports__["a"] = ({
1968
+ name: 'Fields',
1969
+
1970
+ components: {
1971
+ colorPicker: __WEBPACK_IMPORTED_MODULE_0_admin_components_ColorPicker_vue__["a" /* default */]
1972
+ },
1973
+
1974
+ props: ['id', 'fieldData', 'sectionId', 'fieldValue'],
1975
+
1976
+ methods: {
1977
+ containCommonFields(type) {
1978
+ return _.contains([undefined, 'text', 'email', 'url', 'phone'], type);
1979
+ }
1980
+ }
1981
+
1982
+ });
1983
+
1984
+ /***/ }),
1985
+ /* 22 */
1986
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1987
+
1988
+ "use strict";
1989
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue_color_src_components_Sketch_vue__ = __webpack_require__(84);
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
+ /* harmony default export */ __webpack_exports__["a"] = ({
2038
+ components: {
2039
+ Sketch: __WEBPACK_IMPORTED_MODULE_0_vue_color_src_components_Sketch_vue__["a" /* default */]
2040
+ },
2041
+
2042
+ props: {
2043
+ value: {
2044
+ type: String,
2045
+ required: true,
2046
+ default: ''
2047
+ },
2048
+
2049
+ format: {
2050
+ type: String,
2051
+ required: false,
2052
+ default: 'hex',
2053
+ validator(type) {
2054
+ return ['hsl', 'hex', 'rgba', 'hsv'].indexOf(type) !== -1;
2055
+ }
2056
+ },
2057
+
2058
+ presetColors: {
2059
+ type: Array,
2060
+ required: false,
2061
+ default() {
2062
+ return ['#000', '#fff', '#d33', '#d93', '#ee2', '#81d742', '#1e73be', '#8224e3'];
2063
+ }
2064
+ },
2065
+
2066
+ disableAlpha: {
2067
+ type: Boolean,
2068
+ required: false,
2069
+ default: true
2070
+ },
2071
+
2072
+ disableFields: {
2073
+ type: Boolean,
2074
+ required: false,
2075
+ default: true
2076
+ }
2077
+ },
2078
+
2079
+ data() {
2080
+ return {
2081
+ showColorPicker: false
2082
+ };
2083
+ },
2084
+
2085
+ methods: {
2086
+ updateColor(colors) {
2087
+ let color = '';
2088
+
2089
+ if (colors[this.format]) {
2090
+ color = colors[this.format];
2091
+ }
2092
+
2093
+ this.$emit('input', color);
2094
+ },
2095
+
2096
+ toggleColorPicker() {
2097
+ this.showColorPicker = !this.showColorPicker;
2098
+ },
2099
+
2100
+ setHexColor(color) {
2101
+ this.updateColor({
2102
+ hex: color
2103
+ });
2104
+ }
2105
+ }
2106
+ });
2107
+
2108
+ /***/ }),
2109
+ /* 23 */,
2110
+ /* 24 */,
2111
+ /* 25 */,
2112
+ /* 26 */,
2113
+ /* 27 */,
2114
+ /* 28 */,
2115
+ /* 29 */,
2116
+ /* 30 */,
2117
+ /* 31 */,
2118
+ /* 32 */,
2119
+ /* 33 */,
2120
+ /* 34 */,
2121
+ /* 35 */,
2122
+ /* 36 */,
2123
+ /* 37 */,
2124
+ /* 38 */,
2125
+ /* 39 */,
2126
+ /* 40 */,
2127
+ /* 41 */,
2128
+ /* 42 */,
2129
+ /* 43 */,
2130
+ /* 44 */,
2131
+ /* 45 */,
2132
+ /* 46 */,
2133
+ /* 47 */,
2134
+ /* 48 */,
2135
+ /* 49 */,
2136
+ /* 50 */,
2137
+ /* 51 */,
2138
+ /* 52 */,
2139
+ /* 53 */
2140
+ /***/ (function(module, exports, __webpack_require__) {
2141
+
2142
+ "use strict";
2143
+
2144
+
2145
+ var _App = __webpack_require__(54);
2146
+
2147
+ var _App2 = _interopRequireDefault(_App);
2148
+
2149
+ var _router = __webpack_require__(57);
2150
+
2151
+ var _router2 = _interopRequireDefault(_router);
2152
+
2153
+ var _adminMenuFix = __webpack_require__(107);
2154
+
2155
+ var _adminMenuFix2 = _interopRequireDefault(_adminMenuFix);
2156
+
2157
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2158
+
2159
+ /* eslint-disable no-new */
2160
+ var Vue = dokan_get_lib('Vue');
2161
+
2162
+ new Vue({
2163
+ el: '#dokan-vue-admin',
2164
+ router: _router2.default,
2165
+ render: function render(h) {
2166
+ return h(_App2.default);
2167
+ },
2168
+
2169
+ created: function created() {
2170
+ this.setLocaleData(dokan.i18n['dokan-lite']);
2171
+ }
2172
+ });
2173
+
2174
+ // fix the admin menu for the slug "vue-app"
2175
+ (0, _adminMenuFix2.default)('dokan');
2176
+
2177
+ /***/ }),
2178
+ /* 54 */
2179
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2180
+
2181
+ "use strict";
2182
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2183
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(12);
2184
+ /* empty harmony namespace reexport */
2185
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_3a030f38_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(56);
2186
+ var disposed = false
2187
+ function injectStyle (ssrContext) {
2188
+ if (disposed) return
2189
+ __webpack_require__(55)
2190
+ }
2191
+ var normalizeComponent = __webpack_require__(0)
2192
+ /* script */
2193
+
2194
+
2195
+ /* template */
2196
+
2197
+ /* template functional */
2198
+ var __vue_template_functional__ = false
2199
+ /* styles */
2200
+ var __vue_styles__ = injectStyle
2201
+ /* scopeId */
2202
+ var __vue_scopeId__ = null
2203
+ /* moduleIdentifier (server only) */
2204
+ var __vue_module_identifier__ = null
2205
+ var Component = normalizeComponent(
2206
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__["a" /* default */],
2207
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_3a030f38_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__["a" /* default */],
2208
+ __vue_template_functional__,
2209
+ __vue_styles__,
2210
+ __vue_scopeId__,
2211
+ __vue_module_identifier__
2212
+ )
2213
+ Component.options.__file = "src/admin/App.vue"
2214
+
2215
+ /* hot reload */
2216
+ if (false) {(function () {
2217
+ var hotAPI = require("vue-hot-reload-api")
2218
+ hotAPI.install(require("vue"), false)
2219
+ if (!hotAPI.compatible) return
2220
+ module.hot.accept()
2221
+ if (!module.hot.data) {
2222
+ hotAPI.createRecord("data-v-3a030f38", Component.options)
2223
+ } else {
2224
+ hotAPI.reload("data-v-3a030f38", Component.options)
2225
+ }
2226
+ module.hot.dispose(function (data) {
2227
+ disposed = true
2228
+ })
2229
+ })()}
2230
+
2231
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
2232
+
2233
+
2234
+ /***/ }),
2235
+ /* 55 */
2236
+ /***/ (function(module, exports) {
2237
+
2238
+ // removed by extract-text-webpack-plugin
2239
+
2240
+ /***/ }),
2241
+ /* 56 */
2242
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2243
+
2244
+ "use strict";
2245
+ var render = function() {
2246
+ var _vm = this
2247
+ var _h = _vm.$createElement
2248
+ var _c = _vm._self._c || _h
2249
+ return _c(
2250
+ "div",
2251
+ { attrs: { id: "vue-backend-app" } },
2252
+ [
2253
+ _c("router-view"),
2254
+ _vm._v(" "),
2255
+ _c("notifications", { attrs: { position: "bottom right" } })
2256
+ ],
2257
+ 1
2258
+ )
2259
+ }
2260
+ var staticRenderFns = []
2261
+ render._withStripped = true
2262
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
2263
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
2264
+ if (false) {
2265
+ module.hot.accept()
2266
+ if (module.hot.data) {
2267
+ require("vue-hot-reload-api") .rerender("data-v-3a030f38", esExports)
2268
+ }
2269
+ }
2270
+
2271
+ /***/ }),
2272
+ /* 57 */
2273
+ /***/ (function(module, exports, __webpack_require__) {
2274
+
2275
+ "use strict";
2276
+
2277
+
2278
+ Object.defineProperty(exports, "__esModule", {
2279
+ value: true
2280
+ });
2281
+
2282
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
2283
+
2284
+ var _Dashboard = __webpack_require__(58);
2285
+
2286
+ var _Dashboard2 = _interopRequireDefault(_Dashboard);
2287
+
2288
+ var _Withdraw = __webpack_require__(64);
2289
+
2290
+ var _Withdraw2 = _interopRequireDefault(_Withdraw);
2291
+
2292
+ var _Premium = __webpack_require__(67);
2293
+
2294
+ var _Premium2 = _interopRequireDefault(_Premium);
2295
+
2296
+ var _Help = __webpack_require__(76);
2297
+
2298
+ var _Help2 = _interopRequireDefault(_Help);
2299
+
2300
+ var _Settings = __webpack_require__(79);
2301
+
2302
+ var _Settings2 = _interopRequireDefault(_Settings);
2303
+
2304
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2305
+
2306
+ var Vue = dokan_get_lib('Vue');
2307
+ var Router = dokan_get_lib('Router');
2308
+
2309
+ Vue.use(Router);
2310
+
2311
+ dokan_add_route(_Dashboard2.default);
2312
+ dokan_add_route(_Withdraw2.default);
2313
+ dokan_add_route(_Premium2.default);
2314
+ dokan_add_route(_Help2.default);
2315
+ dokan_add_route(_Settings2.default);
2316
+
2317
+ /**
2318
+ * Parse the route array and bind required components
2319
+ *
2320
+ * This changes the dokan.routes array and changes the components
2321
+ * so we can use dokan.routeComponents.{compontent} component.
2322
+ *
2323
+ * @param {array} routes
2324
+ *
2325
+ * @return {void}
2326
+ */
2327
+ function parseRouteComponent(routes) {
2328
+
2329
+ for (var i = 0; i < routes.length; i++) {
2330
+ if (_typeof(routes[i].children) === 'object') {
2331
+
2332
+ parseRouteComponent(routes[i].children);
2333
+
2334
+ if (typeof routes[i].component !== 'undefined') {
2335
+ routes[i].component = dokan.routeComponents[routes[i].component];
2336
+ }
2337
+ } else {
2338
+ routes[i].component = dokan.routeComponents[routes[i].component];
2339
+ }
2340
+ }
2341
+ }
2342
+
2343
+ // mutate the localized array
2344
+ parseRouteComponent(dokan.routes);
2345
+
2346
+ exports.default = new Router({
2347
+ routes: dokan.routes
2348
+ });
2349
+
2350
+ /***/ }),
2351
+ /* 58 */
2352
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2353
+
2354
+ "use strict";
2355
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2356
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Dashboard_vue__ = __webpack_require__(13);
2357
+ /* empty harmony namespace reexport */
2358
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_219ffca0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Dashboard_vue__ = __webpack_require__(63);
2359
+ var disposed = false
2360
+ function injectStyle (ssrContext) {
2361
+ if (disposed) return
2362
+ __webpack_require__(59)
2363
+ }
2364
+ var normalizeComponent = __webpack_require__(0)
2365
+ /* script */
2366
+
2367
+
2368
+ /* template */
2369
+
2370
+ /* template functional */
2371
+ var __vue_template_functional__ = false
2372
+ /* styles */
2373
+ var __vue_styles__ = injectStyle
2374
+ /* scopeId */
2375
+ var __vue_scopeId__ = null
2376
+ /* moduleIdentifier (server only) */
2377
+ var __vue_module_identifier__ = null
2378
+ var Component = normalizeComponent(
2379
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Dashboard_vue__["a" /* default */],
2380
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_219ffca0_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Dashboard_vue__["a" /* default */],
2381
+ __vue_template_functional__,
2382
+ __vue_styles__,
2383
+ __vue_scopeId__,
2384
+ __vue_module_identifier__
2385
+ )
2386
+ Component.options.__file = "src/admin/pages/Dashboard.vue"
2387
+
2388
+ /* hot reload */
2389
+ if (false) {(function () {
2390
+ var hotAPI = require("vue-hot-reload-api")
2391
+ hotAPI.install(require("vue"), false)
2392
+ if (!hotAPI.compatible) return
2393
+ module.hot.accept()
2394
+ if (!module.hot.data) {
2395
+ hotAPI.createRecord("data-v-219ffca0", Component.options)
2396
+ } else {
2397
+ hotAPI.reload("data-v-219ffca0", Component.options)
2398
+ }
2399
+ module.hot.dispose(function (data) {
2400
+ disposed = true
2401
+ })
2402
+ })()}
2403
+
2404
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
2405
+
2406
+
2407
+ /***/ }),
2408
+ /* 59 */
2409
+ /***/ (function(module, exports) {
2410
+
2411
+ // removed by extract-text-webpack-plugin
2412
+
2413
+ /***/ }),
2414
+ /* 60 */,
2415
+ /* 61 */,
2416
+ /* 62 */,
2417
+ /* 63 */
2418
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2419
+
2420
+ "use strict";
2421
+ var render = function() {
2422
+ var _vm = this
2423
+ var _h = _vm.$createElement
2424
+ var _c = _vm._self._c || _h
2425
+ return _c("div", { staticClass: "dokan-dashboard" }, [
2426
+ _c("h1", [_vm._v(_vm._s(_vm.__("Dashboard", "dokan-lite")))]),
2427
+ _vm._v(" "),
2428
+ _c("div", { staticClass: "widgets-wrapper" }, [
2429
+ _c(
2430
+ "div",
2431
+ { staticClass: "left-side" },
2432
+ [
2433
+ _c(
2434
+ "postbox",
2435
+ {
2436
+ attrs: {
2437
+ title: _vm.__("At a Glance", "dokan-lite"),
2438
+ extraClass: "dokan-status"
2439
+ }
2440
+ },
2441
+ [
2442
+ _vm.overview !== null
2443
+ ? _c("div", { staticClass: "dokan-status" }, [
2444
+ _c("ul", [
2445
+ _c("li", { staticClass: "sale" }, [
2446
+ _c("div", {
2447
+ staticClass: "dashicons dashicons-chart-bar"
2448
+ }),
2449
+ _vm._v(" "),
2450
+ _c("a", { attrs: { href: "#" } }, [
2451
+ _c("strong", [
2452
+ _vm._v(
2453
+ _vm._s(
2454
+ _vm._f("currency")(
2455
+ _vm.overview.orders.this_month
2456
+ )
2457
+ )
2458
+ )
2459
+ ]),
2460
+ _vm._v(" "),
2461
+ _c("div", { staticClass: "details" }, [
2462
+ _vm._v(
2463
+ "\n " +
2464
+ _vm._s(
2465
+ _vm.__("net sales this month", "dokan-lite")
2466
+ ) +
2467
+ " "
2468
+ ),
2469
+ _c("span", { class: _vm.overview.orders.class }, [
2470
+ _vm._v(_vm._s(_vm.overview.orders.parcent))
2471
+ ])
2472
+ ])
2473
+ ])
2474
+ ]),
2475
+ _vm._v(" "),
2476
+ _c("li", { staticClass: "commission" }, [
2477
+ _c("div", {
2478
+ staticClass: "dashicons dashicons-chart-pie"
2479
+ }),
2480
+ _vm._v(" "),
2481
+ _c("a", { attrs: { href: "#" } }, [
2482
+ _c("strong", [
2483
+ _vm._v(
2484
+ _vm._s(
2485
+ _vm._f("currency")(
2486
+ _vm.overview.earning.this_month
2487
+ )
2488
+ )
2489
+ )
2490
+ ]),
2491
+ _vm._v(" "),
2492
+ _c("div", { staticClass: "details" }, [
2493
+ _vm._v(
2494
+ "\n " +
2495
+ _vm._s(
2496
+ _vm.__("commission earned", "dokan-lite")
2497
+ ) +
2498
+ " "
2499
+ ),
2500
+ _c("span", { class: _vm.overview.earning.class }, [
2501
+ _vm._v(_vm._s(_vm.overview.earning.parcent))
2502
+ ])
2503
+ ])
2504
+ ])
2505
+ ]),
2506
+ _vm._v(" "),
2507
+ _c("li", { staticClass: "vendor" }, [
2508
+ _c("div", { staticClass: "dashicons dashicons-id" }),
2509
+ _vm._v(" "),
2510
+ _c("a", { attrs: { href: "#" } }, [
2511
+ _c("strong", [
2512
+ _vm._v(
2513
+ _vm._s(
2514
+ _vm.sprintf(
2515
+ _vm.__("%s Vendor", "dokan-lite"),
2516
+ _vm.overview.vendors.this_month
2517
+ )
2518
+ )
2519
+ )
2520
+ ]),
2521
+ _vm._v(" "),
2522
+ _c("div", { staticClass: "details" }, [
2523
+ _vm._v(
2524
+ "\n " +
2525
+ _vm._s(
2526
+ _vm.__("signup this month", "dokan-lite")
2527
+ ) +
2528
+ " "
2529
+ ),
2530
+ _c("span", { class: _vm.overview.vendors.class }, [
2531
+ _vm._v(_vm._s(_vm.overview.vendors.parcent))
2532
+ ])
2533
+ ])
2534
+ ])
2535
+ ]),
2536
+ _vm._v(" "),
2537
+ _c("li", { staticClass: "approval" }, [
2538
+ _c("div", {
2539
+ staticClass: "dashicons dashicons-businessman"
2540
+ }),
2541
+ _vm._v(" "),
2542
+ _c("a", { attrs: { href: "#" } }, [
2543
+ _c("strong", [
2544
+ _vm._v(
2545
+ _vm._s(
2546
+ _vm.sprintf(
2547
+ _vm.__("%s Vendor", "dokan-lite"),
2548
+ _vm.overview.vendors.inactive
2549
+ )
2550
+ )
2551
+ )
2552
+ ]),
2553
+ _vm._v(" "),
2554
+ _c("div", { staticClass: "details" }, [
2555
+ _vm._v(
2556
+ _vm._s(_vm.__("awaiting approval", "dokan-lite"))
2557
+ )
2558
+ ])
2559
+ ])
2560
+ ]),
2561
+ _vm._v(" "),
2562
+ _c("li", { staticClass: "product" }, [
2563
+ _c("div", { staticClass: "dashicons dashicons-cart" }),
2564
+ _vm._v(" "),
2565
+ _c("a", { attrs: { href: "#" } }, [
2566
+ _c("strong", [
2567
+ _vm._v(
2568
+ _vm._s(
2569
+ _vm.sprintf(
2570
+ _vm.__("%s Products", "dokan-lite"),
2571
+ _vm.overview.products.this_month
2572
+ )
2573
+ )
2574
+ )
2575
+ ]),
2576
+ _vm._v(" "),
2577
+ _c("div", { staticClass: "details" }, [
2578
+ _vm._v(
2579
+ "\n " +
2580
+ _vm._s(
2581
+ _vm.__("created this month", "dokan-lite")
2582
+ ) +
2583
+ " "
2584
+ ),
2585
+ _c("span", { class: _vm.overview.products.class }, [
2586
+ _vm._v(_vm._s(_vm.overview.products.parcent))
2587
+ ])
2588
+ ])
2589
+ ])
2590
+ ]),
2591
+ _vm._v(" "),
2592
+ _c("li", { staticClass: "withdraw" }, [
2593
+ _c("div", { staticClass: "dashicons dashicons-money" }),
2594
+ _vm._v(" "),
2595
+ _c("a", { attrs: { href: "#" } }, [
2596
+ _c("strong", [
2597
+ _vm._v(
2598
+ _vm._s(
2599
+ _vm.sprintf(
2600
+ _vm.__("%s Withdrawals", "dokan-lite"),
2601
+ _vm.overview.withdraw.pending
2602
+ )
2603
+ )
2604
+ )
2605
+ ]),
2606
+ _vm._v(" "),
2607
+ _c("div", { staticClass: "details" }, [
2608
+ _vm._v(
2609
+ _vm._s(_vm.__("awaiting approval", "dokan-lite"))
2610
+ )
2611
+ ])
2612
+ ])
2613
+ ])
2614
+ ])
2615
+ ])
2616
+ : _c("div", { staticClass: "loading" }, [_c("loading")], 1)
2617
+ ]
2618
+ ),
2619
+ _vm._v(" "),
2620
+ _c(
2621
+ "postbox",
2622
+ { attrs: { title: _vm.__("Dokan News Updates", "dokan-lite") } },
2623
+ [
2624
+ _vm.feed !== null
2625
+ ? _c("div", { staticClass: "rss-widget" }, [
2626
+ _c(
2627
+ "ul",
2628
+ _vm._l(_vm.feed, function(news) {
2629
+ return _c("li", [
2630
+ _c(
2631
+ "a",
2632
+ {
2633
+ attrs: {
2634
+ href:
2635
+ news.link +
2636
+ "?utm_source=wp-admin&utm_campaign=dokan-news",
2637
+ target: "_blank"
2638
+ }
2639
+ },
2640
+ [_vm._v(_vm._s(news.title))]
2641
+ )
2642
+ ])
2643
+ })
2644
+ ),
2645
+ _vm._v(" "),
2646
+ _c(
2647
+ "div",
2648
+ { staticClass: "subscribe-box" },
2649
+ [
2650
+ !_vm.subscribe.success
2651
+ ? [
2652
+ _vm.subscribe.loading
2653
+ ? _c(
2654
+ "div",
2655
+ { staticClass: "loading" },
2656
+ [_c("loading")],
2657
+ 1
2658
+ )
2659
+ : _vm._e(),
2660
+ _vm._v(" "),
2661
+ _c("h3", [
2662
+ _vm._v(
2663
+ _vm._s(
2664
+ _vm.__("Stay up-to-date", "dokan-lite")
2665
+ )
2666
+ )
2667
+ ]),
2668
+ _vm._v(" "),
2669
+ _c("p", [
2670
+ _vm._v(
2671
+ "\n " +
2672
+ _vm._s(
2673
+ _vm.__(
2674
+ "We're constantly developing new features, stay up-to-date by subscribing to our newsletter.",
2675
+ "dokan-lite"
2676
+ )
2677
+ ) +
2678
+ "\n "
2679
+ )
2680
+ ]),
2681
+ _vm._v(" "),
2682
+ _c("div", { staticClass: "form-wrap" }, [
2683
+ _c("input", {
2684
+ directives: [
2685
+ {
2686
+ name: "model",
2687
+ rawName: "v-model",
2688
+ value: _vm.subscribe.email,
2689
+ expression: "subscribe.email"
2690
+ }
2691
+ ],
2692
+ attrs: {
2693
+ type: "email",
2694
+ required: "",
2695
+ placeholder: "Your Email Address"
2696
+ },
2697
+ domProps: { value: _vm.subscribe.email },
2698
+ on: {
2699
+ keyup: function($event) {
2700
+ if (
2701
+ !("button" in $event) &&
2702
+ _vm._k(
2703
+ $event.keyCode,
2704
+ "enter",
2705
+ 13,
2706
+ $event.key
2707
+ )
2708
+ ) {
2709
+ return null
2710
+ }
2711
+ _vm.emailSubscribe()
2712
+ },
2713
+ input: function($event) {
2714
+ if ($event.target.composing) {
2715
+ return
2716
+ }
2717
+ _vm.$set(
2718
+ _vm.subscribe,
2719
+ "email",
2720
+ $event.target.value
2721
+ )
2722
+ }
2723
+ }
2724
+ }),
2725
+ _vm._v(" "),
2726
+ _c(
2727
+ "button",
2728
+ {
2729
+ staticClass: "button",
2730
+ on: {
2731
+ click: function($event) {
2732
+ _vm.emailSubscribe()
2733
+ }
2734
+ }
2735
+ },
2736
+ [
2737
+ _vm._v(
2738
+ _vm._s(_vm.__("Subscribe", "dokan-lite"))
2739
+ )
2740
+ ]
2741
+ )
2742
+ ])
2743
+ ]
2744
+ : _c("div", { staticClass: "thank-you" }, [
2745
+ _vm._v(
2746
+ _vm._s(
2747
+ _vm.__(
2748
+ "Thank you for subscribing!",
2749
+ "dokan-lite"
2750
+ )
2751
+ )
2752
+ )
2753
+ ])
2754
+ ],
2755
+ 2
2756
+ )
2757
+ ])
2758
+ : _c("div", { staticClass: "loading" }, [_c("loading")], 1)
2759
+ ]
2760
+ )
2761
+ ],
2762
+ 1
2763
+ ),
2764
+ _vm._v(" "),
2765
+ _c(
2766
+ "div",
2767
+ { staticClass: "right-side" },
2768
+ [
2769
+ _c(
2770
+ "postbox",
2771
+ {
2772
+ staticClass: "overview-chart",
2773
+ attrs: { title: _vm.__("Overview", "dokan-lite") }
2774
+ },
2775
+ [
2776
+ _vm.report !== null
2777
+ ? _c("chart", { attrs: { data: _vm.report } })
2778
+ : _c("div", { staticClass: "loading" }, [_c("loading")], 1)
2779
+ ],
2780
+ 1
2781
+ )
2782
+ ],
2783
+ 1
2784
+ )
2785
+ ])
2786
+ ])
2787
+ }
2788
+ var staticRenderFns = []
2789
+ render._withStripped = true
2790
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
2791
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
2792
+ if (false) {
2793
+ module.hot.accept()
2794
+ if (module.hot.data) {
2795
+ require("vue-hot-reload-api") .rerender("data-v-219ffca0", esExports)
2796
+ }
2797
+ }
2798
+
2799
+ /***/ }),
2800
+ /* 64 */
2801
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2802
+
2803
+ "use strict";
2804
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2805
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Withdraw_vue__ = __webpack_require__(14);
2806
+ /* empty harmony namespace reexport */
2807
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_62373ea4_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Withdraw_vue__ = __webpack_require__(66);
2808
+ var disposed = false
2809
+ function injectStyle (ssrContext) {
2810
+ if (disposed) return
2811
+ __webpack_require__(65)
2812
+ }
2813
+ var normalizeComponent = __webpack_require__(0)
2814
+ /* script */
2815
+
2816
+
2817
+ /* template */
2818
+
2819
+ /* template functional */
2820
+ var __vue_template_functional__ = false
2821
+ /* styles */
2822
+ var __vue_styles__ = injectStyle
2823
+ /* scopeId */
2824
+ var __vue_scopeId__ = null
2825
+ /* moduleIdentifier (server only) */
2826
+ var __vue_module_identifier__ = null
2827
+ var Component = normalizeComponent(
2828
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Withdraw_vue__["a" /* default */],
2829
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_62373ea4_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Withdraw_vue__["a" /* default */],
2830
+ __vue_template_functional__,
2831
+ __vue_styles__,
2832
+ __vue_scopeId__,
2833
+ __vue_module_identifier__
2834
+ )
2835
+ Component.options.__file = "src/admin/pages/Withdraw.vue"
2836
+
2837
+ /* hot reload */
2838
+ if (false) {(function () {
2839
+ var hotAPI = require("vue-hot-reload-api")
2840
+ hotAPI.install(require("vue"), false)
2841
+ if (!hotAPI.compatible) return
2842
+ module.hot.accept()
2843
+ if (!module.hot.data) {
2844
+ hotAPI.createRecord("data-v-62373ea4", Component.options)
2845
+ } else {
2846
+ hotAPI.reload("data-v-62373ea4", Component.options)
2847
+ }
2848
+ module.hot.dispose(function (data) {
2849
+ disposed = true
2850
+ })
2851
+ })()}
2852
+
2853
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
2854
+
2855
+
2856
+ /***/ }),
2857
+ /* 65 */
2858
+ /***/ (function(module, exports) {
2859
+
2860
+ // removed by extract-text-webpack-plugin
2861
+
2862
+ /***/ }),
2863
+ /* 66 */
2864
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2865
+
2866
+ "use strict";
2867
+ var render = function() {
2868
+ var _vm = this
2869
+ var _h = _vm.$createElement
2870
+ var _c = _vm._self._c || _h
2871
+ return _c(
2872
+ "div",
2873
+ { staticClass: "withdraw-requests" },
2874
+ [
2875
+ _c("h1", [_vm._v(_vm._s(_vm.__("Withdraw Requests", "dokan-lite")))]),
2876
+ _vm._v(" "),
2877
+ _vm.showModal
2878
+ ? _c(
2879
+ "modal",
2880
+ {
2881
+ attrs: { title: _vm.__("Update Note", "dokan-lite") },
2882
+ on: {
2883
+ close: function($event) {
2884
+ _vm.showModal = false
2885
+ }
2886
+ }
2887
+ },
2888
+ [
2889
+ _c("template", { slot: "body" }, [
2890
+ _c("textarea", {
2891
+ directives: [
2892
+ {
2893
+ name: "model",
2894
+ rawName: "v-model",
2895
+ value: _vm.editing.note,
2896
+ expression: "editing.note"
2897
+ }
2898
+ ],
2899
+ attrs: { rows: "3" },
2900
+ domProps: { value: _vm.editing.note },
2901
+ on: {
2902
+ input: function($event) {
2903
+ if ($event.target.composing) {
2904
+ return
2905
+ }
2906
+ _vm.$set(_vm.editing, "note", $event.target.value)
2907
+ }
2908
+ }
2909
+ })
2910
+ ]),
2911
+ _vm._v(" "),
2912
+ _c("template", { slot: "footer" }, [
2913
+ _c(
2914
+ "button",
2915
+ {
2916
+ staticClass: "button button-primary button-large",
2917
+ on: {
2918
+ click: function($event) {
2919
+ _vm.updateNote()
2920
+ }
2921
+ }
2922
+ },
2923
+ [_vm._v(_vm._s(_vm.__("Update Note", "dokan-lite")))]
2924
+ )
2925
+ ])
2926
+ ],
2927
+ 2
2928
+ )
2929
+ : _vm._e(),
2930
+ _vm._v(" "),
2931
+ _c("ul", { staticClass: "subsubsub" }, [
2932
+ _c(
2933
+ "li",
2934
+ [
2935
+ _c("router-link", {
2936
+ attrs: {
2937
+ to: { name: "Withdraw", query: { status: "pending" } },
2938
+ "active-class": "current",
2939
+ exact: ""
2940
+ },
2941
+ domProps: {
2942
+ innerHTML: _vm._s(
2943
+ _vm.sprintf(
2944
+ _vm.__(
2945
+ "Pending <span class='count'>(%s)</span>",
2946
+ "dokan-lite"
2947
+ ),
2948
+ _vm.counts.pending
2949
+ )
2950
+ )
2951
+ }
2952
+ }),
2953
+ _vm._v(" | ")
2954
+ ],
2955
+ 1
2956
+ ),
2957
+ _vm._v(" "),
2958
+ _c(
2959
+ "li",
2960
+ [
2961
+ _c("router-link", {
2962
+ attrs: {
2963
+ to: { name: "Withdraw", query: { status: "approved" } },
2964
+ "active-class": "current",
2965
+ exact: ""
2966
+ },
2967
+ domProps: {
2968
+ innerHTML: _vm._s(
2969
+ _vm.sprintf(
2970
+ _vm.__(
2971
+ "Approved <span class='count'>(%s)</span>",
2972
+ "dokan-lite"
2973
+ ),
2974
+ _vm.counts.approved
2975
+ )
2976
+ )
2977
+ }
2978
+ }),
2979
+ _vm._v(" | ")
2980
+ ],
2981
+ 1
2982
+ ),
2983
+ _vm._v(" "),
2984
+ _c(
2985
+ "li",
2986
+ [
2987
+ _c("router-link", {
2988
+ attrs: {
2989
+ to: { name: "Withdraw", query: { status: "cancelled" } },
2990
+ "active-class": "current",
2991
+ exact: ""
2992
+ },
2993
+ domProps: {
2994
+ innerHTML: _vm._s(
2995
+ _vm.sprintf(
2996
+ _vm.__(
2997
+ "Cancelled <span class='count'>(%s)</span>",
2998
+ "dokan-lite"
2999
+ ),
3000
+ _vm.counts.cancelled
3001
+ )
3002
+ )
3003
+ }
3004
+ })
3005
+ ],
3006
+ 1
3007
+ )
3008
+ ]),
3009
+ _vm._v(" "),
3010
+ _c("list-table", {
3011
+ attrs: {
3012
+ columns: _vm.columns,
3013
+ rows: _vm.requests,
3014
+ loading: _vm.loading,
3015
+ "action-column": _vm.actionColumn,
3016
+ actions: _vm.actions,
3017
+ "show-cb": _vm.showCb,
3018
+ "bulk-actions": _vm.bulkActions,
3019
+ "not-found": _vm.notFound,
3020
+ "total-pages": _vm.totalPages,
3021
+ "total-items": _vm.totalItems,
3022
+ "per-page": _vm.perPage,
3023
+ "current-page": _vm.currentPage
3024
+ },
3025
+ on: {
3026
+ pagination: _vm.goToPage,
3027
+ "action:click": _vm.onActionClick,
3028
+ "bulk:click": _vm.onBulkAction
3029
+ },
3030
+ scopedSlots: _vm._u([
3031
+ {
3032
+ key: "seller",
3033
+ fn: function(data) {
3034
+ return [
3035
+ _c("img", {
3036
+ attrs: {
3037
+ src: data.row.user.gravatar,
3038
+ alt: data.row.user.store_name,
3039
+ width: "50"
3040
+ }
3041
+ }),
3042
+ _vm._v(" "),
3043
+ _c("strong", [
3044
+ _c(
3045
+ "a",
3046
+ { attrs: { href: _vm.vendorUrl(data.row.user.id) } },
3047
+ [
3048
+ _vm._v(
3049
+ _vm._s(
3050
+ data.row.user.store_name
3051
+ ? data.row.user.store_name
3052
+ : _vm.__("(no name)", "dokan-lite")
3053
+ )
3054
+ )
3055
+ ]
3056
+ )
3057
+ ])
3058
+ ]
3059
+ }
3060
+ },
3061
+ {
3062
+ key: "amount",
3063
+ fn: function(data) {
3064
+ return [
3065
+ _vm._v(
3066
+ "\n " +
3067
+ _vm._s(_vm._f("currency")(data.row.amount)) +
3068
+ "\n "
3069
+ )
3070
+ ]
3071
+ }
3072
+ },
3073
+ {
3074
+ key: "status",
3075
+ fn: function(data) {
3076
+ return [
3077
+ _c("span", { class: data.row.status }, [
3078
+ _vm._v(_vm._s(_vm._f("capitalize")(data.row.status)))
3079
+ ])
3080
+ ]
3081
+ }
3082
+ },
3083
+ {
3084
+ key: "created",
3085
+ fn: function(data) {
3086
+ return [
3087
+ _vm._v(
3088
+ "\n " +
3089
+ _vm._s(_vm.moment(data.row.created).format("MMM D, YYYY")) +
3090
+ "\n "
3091
+ )
3092
+ ]
3093
+ }
3094
+ },
3095
+ {
3096
+ key: "method_details",
3097
+ fn: function(data) {
3098
+ return [
3099
+ _vm._v(
3100
+ "\n " +
3101
+ _vm._s(
3102
+ _vm.getPaymentDetails(
3103
+ data.row.method,
3104
+ data.row.user.payment
3105
+ )
3106
+ ) +
3107
+ "\n "
3108
+ )
3109
+ ]
3110
+ }
3111
+ },
3112
+ {
3113
+ key: "actions",
3114
+ fn: function(data) {
3115
+ return [
3116
+ data.row.status === "pending"
3117
+ ? [
3118
+ _c("div", { staticClass: "button-group" }, [
3119
+ _c(
3120
+ "button",
3121
+ {
3122
+ staticClass: "button button-small",
3123
+ attrs: {
3124
+ title: _vm.__("Approve Request", "dokan-lite")
3125
+ },
3126
+ on: {
3127
+ click: function($event) {
3128
+ $event.preventDefault()
3129
+ _vm.changeStatus("approved", data.row.id)
3130
+ }
3131
+ }
3132
+ },
3133
+ [
3134
+ _c("span", {
3135
+ staticClass: "dashicons dashicons-yes"
3136
+ })
3137
+ ]
3138
+ ),
3139
+ _vm._v(" "),
3140
+ _c(
3141
+ "button",
3142
+ {
3143
+ staticClass: "button button-small",
3144
+ attrs: { title: _vm.__("Add Note", "dokan-lite") },
3145
+ on: {
3146
+ click: function($event) {
3147
+ $event.preventDefault()
3148
+ _vm.openNoteModal(data.row.note, data.row.id)
3149
+ }
3150
+ }
3151
+ },
3152
+ [
3153
+ _c("span", {
3154
+ staticClass: "dashicons dashicons-testimonial"
3155
+ })
3156
+ ]
3157
+ )
3158
+ ])
3159
+ ]
3160
+ : data.row.status === "approved"
3161
+ ? [
3162
+ _c("div", { staticClass: "button-group" }, [
3163
+ _c(
3164
+ "button",
3165
+ {
3166
+ staticClass: "button button-small",
3167
+ attrs: {
3168
+ title: _vm.__("Add Note", "dokan-lite")
3169
+ },
3170
+ on: {
3171
+ click: function($event) {
3172
+ $event.preventDefault()
3173
+ _vm.openNoteModal(data.row.note, data.row.id)
3174
+ }
3175
+ }
3176
+ },
3177
+ [
3178
+ _c("span", {
3179
+ staticClass: "dashicons dashicons-testimonial"
3180
+ })
3181
+ ]
3182
+ )
3183
+ ])
3184
+ ]
3185
+ : [
3186
+ _c("div", { staticClass: "button-group" }, [
3187
+ _c(
3188
+ "button",
3189
+ {
3190
+ staticClass: "button button-small",
3191
+ attrs: {
3192
+ title: _vm.__("Mark as Pending", "dokan-lite")
3193
+ },
3194
+ on: {
3195
+ click: function($event) {
3196
+ $event.preventDefault()
3197
+ _vm.changeStatus("pending", data.row.id)
3198
+ }
3199
+ }
3200
+ },
3201
+ [
3202
+ _c("span", {
3203
+ staticClass: "dashicons dashicons-backup"
3204
+ })
3205
+ ]
3206
+ ),
3207
+ _vm._v(" "),
3208
+ _c(
3209
+ "button",
3210
+ {
3211
+ staticClass: "button button-small",
3212
+ attrs: {
3213
+ title: _vm.__("Add Note", "dokan-lite")
3214
+ },
3215
+ on: {
3216
+ click: function($event) {
3217
+ $event.preventDefault()
3218
+ _vm.openNoteModal(data.row.note, data.row.id)
3219
+ }
3220
+ }
3221
+ },
3222
+ [
3223
+ _c("span", {
3224
+ staticClass: "dashicons dashicons-testimonial"
3225
+ })
3226
+ ]
3227
+ )
3228
+ ])
3229
+ ]
3230
+ ]
3231
+ }
3232
+ }
3233
+ ])
3234
+ })
3235
+ ],
3236
+ 1
3237
+ )
3238
+ }
3239
+ var staticRenderFns = []
3240
+ render._withStripped = true
3241
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
3242
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
3243
+ if (false) {
3244
+ module.hot.accept()
3245
+ if (module.hot.data) {
3246
+ require("vue-hot-reload-api") .rerender("data-v-62373ea4", esExports)
3247
+ }
3248
+ }
3249
+
3250
+ /***/ }),
3251
+ /* 67 */
3252
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3253
+
3254
+ "use strict";
3255
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3256
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Premium_vue__ = __webpack_require__(15);
3257
+ /* empty harmony namespace reexport */
3258
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_b38fd83a_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Premium_vue__ = __webpack_require__(75);
3259
+ var disposed = false
3260
+ function injectStyle (ssrContext) {
3261
+ if (disposed) return
3262
+ __webpack_require__(68)
3263
+ }
3264
+ var normalizeComponent = __webpack_require__(0)
3265
+ /* script */
3266
+
3267
+
3268
+ /* template */
3269
+
3270
+ /* template functional */
3271
+ var __vue_template_functional__ = false
3272
+ /* styles */
3273
+ var __vue_styles__ = injectStyle
3274
+ /* scopeId */
3275
+ var __vue_scopeId__ = null
3276
+ /* moduleIdentifier (server only) */
3277
+ var __vue_module_identifier__ = null
3278
+ var Component = normalizeComponent(
3279
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Premium_vue__["a" /* default */],
3280
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_b38fd83a_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Premium_vue__["a" /* default */],
3281
+ __vue_template_functional__,
3282
+ __vue_styles__,
3283
+ __vue_scopeId__,
3284
+ __vue_module_identifier__
3285
+ )
3286
+ Component.options.__file = "src/admin/pages/Premium.vue"
3287
+
3288
+ /* hot reload */
3289
+ if (false) {(function () {
3290
+ var hotAPI = require("vue-hot-reload-api")
3291
+ hotAPI.install(require("vue"), false)
3292
+ if (!hotAPI.compatible) return
3293
+ module.hot.accept()
3294
+ if (!module.hot.data) {
3295
+ hotAPI.createRecord("data-v-b38fd83a", Component.options)
3296
+ } else {
3297
+ hotAPI.reload("data-v-b38fd83a", Component.options)
3298
+ }
3299
+ module.hot.dispose(function (data) {
3300
+ disposed = true
3301
+ })
3302
+ })()}
3303
+
3304
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
3305
+
3306
+
3307
+ /***/ }),
3308
+ /* 68 */
3309
+ /***/ (function(module, exports) {
3310
+
3311
+ // removed by extract-text-webpack-plugin
3312
+
3313
+ /***/ }),
3314
+ /* 69 */,
3315
+ /* 70 */,
3316
+ /* 71 */,
3317
+ /* 72 */,
3318
+ /* 73 */,
3319
+ /* 74 */,
3320
+ /* 75 */
3321
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3322
+
3323
+ "use strict";
3324
+ var render = function() {
3325
+ var _vm = this
3326
+ var _h = _vm.$createElement
3327
+ var _c = _vm._self._c || _h
3328
+ return _c("div", { staticClass: "dokan-pro-features" }, [
3329
+ _c("div", { staticClass: "header-section" }, [
3330
+ _c("div", { staticClass: "feature-thumb" }, [
3331
+ _c("img", {
3332
+ attrs: {
3333
+ src: _vm.asstesUrl + "/images/premium/header-feature-thumb@2x.png",
3334
+ alt: _vm.__("Upgrade to Dokan Pro!", "dokan-lite"),
3335
+ title: _vm.__("Upgrade to Dokan Pro!", "dokan-lite")
3336
+ }
3337
+ })
3338
+ ]),
3339
+ _vm._v(" "),
3340
+ _c("div", { staticClass: "content-area" }, [
3341
+ _c("h1", [
3342
+ _vm._v(_vm._s(_vm.__("Upgrade to Dokan Pro!", "dokan-lite")))
3343
+ ]),
3344
+ _vm._v(" "),
3345
+ _c("p", [
3346
+ _vm._v(
3347
+ _vm._s(
3348
+ _vm.__(
3349
+ "Seems To Be Convinced, You Need More Out Of Your Marketplace",
3350
+ "dokan-lite"
3351
+ )
3352
+ )
3353
+ )
3354
+ ])
3355
+ ])
3356
+ ]),
3357
+ _vm._v(" "),
3358
+ _c("div", { staticClass: "service-section" }, [
3359
+ _c("h2", { staticClass: "section-title" }, [
3360
+ _vm._v(_vm._s(_vm.__("Why Upgrade", "dokan-lite")))
3361
+ ]),
3362
+ _vm._v(" "),
3363
+ _c(
3364
+ "div",
3365
+ { staticClass: "service-list" },
3366
+ _vm._l(_vm.services, function(service) {
3367
+ return _c("div", { staticClass: "service-box" }, [
3368
+ _c("div", { staticClass: "service-thumb" }, [
3369
+ _c("img", {
3370
+ attrs: {
3371
+ src: service.thumbnail,
3372
+ alt: service.title,
3373
+ title: service.title
3374
+ }
3375
+ })
3376
+ ]),
3377
+ _vm._v(" "),
3378
+ _c("div", { staticClass: "service-detail" }, [
3379
+ _c("h3", { staticClass: "title" }, [
3380
+ _vm._v(_vm._s(service.title))
3381
+ ])
3382
+ ])
3383
+ ])
3384
+ })
3385
+ ),
3386
+ _vm._v(" "),
3387
+ _c(
3388
+ "a",
3389
+ {
3390
+ staticClass: "btn",
3391
+ attrs: {
3392
+ href: "https://wedevs.com/dokan/features/",
3393
+ target: "_blank"
3394
+ }
3395
+ },
3396
+ [
3397
+ _vm._v(
3398
+ "\n " +
3399
+ _vm._s(_vm.__("And Many More", "dokan-lite")) +
3400
+ "\n "
3401
+ ),
3402
+ _c(
3403
+ "svg",
3404
+ {
3405
+ staticStyle: { "enable-background": "new 0 0 17.5 12.5" },
3406
+ attrs: {
3407
+ version: "1.1",
3408
+ id: "Layer_1",
3409
+ xmlns: "http://www.w3.org/2000/svg",
3410
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
3411
+ x: "0px",
3412
+ y: "0px",
3413
+ viewBox: "0 0 17.5 12.5",
3414
+ "xml:space": "preserve"
3415
+ }
3416
+ },
3417
+ [
3418
+ _c("path", {
3419
+ staticClass: "st0",
3420
+ attrs: {
3421
+ d:
3422
+ "M10.6,1.5c-0.4-0.4-0.4-0.9,0-1.3c0.4-0.3,0.9-0.3,1.3,0l5.3,5.3c0.2,0.2,0.3,0.4,0.3,0.7s-0.1,0.5-0.3,0.7\n l-5.3,5.3c-0.4,0.4-0.9,0.4-1.3,0c-0.4-0.4-0.4-0.9,0-1.3l3.8-3.8H0.9C0.4,7.1,0,6.7,0,6.2s0.4-0.9,0.9-0.9h13.5L10.6,1.5z\n M10.6,1.5"
3423
+ }
3424
+ })
3425
+ ]
3426
+ )
3427
+ ]
3428
+ )
3429
+ ]),
3430
+ _vm._v(" "),
3431
+ _c("div", { staticClass: "comparison-section" }, [
3432
+ _c("h2", { staticClass: "section-title" }, [
3433
+ _vm._v(_vm._s(_vm.__("Comparison With Dokan PRO", "dokan-lite")))
3434
+ ]),
3435
+ _vm._v(" "),
3436
+ _c("div", { staticClass: "comparison-area" }, [
3437
+ _c("div", { staticClass: "compare-box dokan-lite" }, [
3438
+ _c("div", { staticClass: "logo-section" }, [
3439
+ _c("img", {
3440
+ attrs: {
3441
+ src: _vm.asstesUrl + "/images/premium/dokan-lite-logo@2x.png",
3442
+ alt: "Dokan Lite"
3443
+ }
3444
+ })
3445
+ ]),
3446
+ _vm._v(" "),
3447
+ _c(
3448
+ "ul",
3449
+ { staticClass: "compare-list" },
3450
+ _vm._l(_vm.comparisons, function(comparison) {
3451
+ return _c("li", { class: comparison.compare.lite }, [
3452
+ comparison.compare.lite === "available"
3453
+ ? _c("img", {
3454
+ attrs: {
3455
+ src: _vm.asstesUrl + "/images/premium/available@2x.png",
3456
+ alt: ""
3457
+ }
3458
+ })
3459
+ : _c("img", {
3460
+ attrs: {
3461
+ src:
3462
+ _vm.asstesUrl + "/images/premium/unavailable@2x.png",
3463
+ alt: ""
3464
+ }
3465
+ }),
3466
+ _vm._v(" "),
3467
+ _c("span", [_vm._v(_vm._s(comparison.title))])
3468
+ ])
3469
+ })
3470
+ )
3471
+ ]),
3472
+ _vm._v(" "),
3473
+ _c("div", { staticClass: "compare-box dokan-pro" }, [
3474
+ _c("div", { staticClass: "logo-section" }, [
3475
+ _c("img", {
3476
+ attrs: {
3477
+ src: _vm.asstesUrl + "/images/premium/dokan-pro-logo@2x.png",
3478
+ alt: "Dokan Pro"
3479
+ }
3480
+ })
3481
+ ]),
3482
+ _vm._v(" "),
3483
+ _c(
3484
+ "ul",
3485
+ { staticClass: "compare-list" },
3486
+ _vm._l(_vm.comparisons, function(comparison) {
3487
+ return _c("li", { class: comparison.compare.pro }, [
3488
+ comparison.compare.pro === "available"
3489
+ ? _c("img", {
3490
+ attrs: {
3491
+ src: _vm.asstesUrl + "/images/premium/available@2x.png",
3492
+ alt: ""
3493
+ }
3494
+ })
3495
+ : _c("img", {
3496
+ attrs: {
3497
+ src:
3498
+ _vm.asstesUrl + "/images/premium/unavailable@2x.png",
3499
+ alt: ""
3500
+ }
3501
+ }),
3502
+ _vm._v(" "),
3503
+ _c("span", [_vm._v(_vm._s(comparison.title))])
3504
+ ])
3505
+ })
3506
+ )
3507
+ ])
3508
+ ])
3509
+ ]),
3510
+ _vm._v(" "),
3511
+ _c("div", { staticClass: "pricing-section" }, [
3512
+ _c("h2", { staticClass: "section-title" }, [
3513
+ _vm._v(_vm._s(_vm.__("The Packages We Provide", "dokan-lite")))
3514
+ ]),
3515
+ _vm._v(" "),
3516
+ _c(
3517
+ "div",
3518
+ { staticClass: "pricing-wrapper" },
3519
+ [
3520
+ _vm._m(0),
3521
+ _vm._v(" "),
3522
+ _vm._l(_vm.modules, function(module) {
3523
+ return _c("div", { staticClass: "table-row" }, [
3524
+ _c("div", { staticClass: "table-col" }, [
3525
+ _c(
3526
+ "a",
3527
+ {
3528
+ staticClass: "module-name",
3529
+ attrs: { href: module.url, target: "_blank" }
3530
+ },
3531
+ [_vm._v(_vm._s(module.title))]
3532
+ )
3533
+ ]),
3534
+ _vm._v(" "),
3535
+ _c("div", { staticClass: "table-col" }, [
3536
+ module.starter.type === "numeric"
3537
+ ? _c("div", { staticClass: "plan-data" }, [
3538
+ _vm._v(_vm._s(module.starter.value))
3539
+ ])
3540
+ : _c("div", { staticClass: "plan-data" }, [
3541
+ _c("img", {
3542
+ attrs: { src: module.starter.value, alt: "" }
3543
+ })
3544
+ ])
3545
+ ]),
3546
+ _vm._v(" "),
3547
+ _c("div", { staticClass: "table-col popular" }, [
3548
+ module.professional.type === "numeric"
3549
+ ? _c("div", { staticClass: "plan-data" }, [
3550
+ _vm._v(_vm._s(module.professional.value))
3551
+ ])
3552
+ : _c("div", { staticClass: "plan-data" }, [
3553
+ _c("img", {
3554
+ attrs: { src: module.professional.value, alt: "" }
3555
+ })
3556
+ ])
3557
+ ]),
3558
+ _vm._v(" "),
3559
+ _c("div", { staticClass: "table-col" }, [
3560
+ module.business.type === "numeric"
3561
+ ? _c("div", { staticClass: "plan-data" }, [
3562
+ _vm._v(_vm._s(module.business.value))
3563
+ ])
3564
+ : _c("div", { staticClass: "plan-data" }, [
3565
+ _c("img", {
3566
+ attrs: { src: module.business.value, alt: "" }
3567
+ })
3568
+ ])
3569
+ ]),
3570
+ _vm._v(" "),
3571
+ _c("div", { staticClass: "table-col" }, [
3572
+ module.enterprise.type === "numeric"
3573
+ ? _c("div", { staticClass: "plan-data" }, [
3574
+ _vm._v(_vm._s(module.enterprise.value))
3575
+ ])
3576
+ : _c("div", { staticClass: "plan-data" }, [
3577
+ _c("img", {
3578
+ attrs: { src: module.enterprise.value, alt: "" }
3579
+ })
3580
+ ])
3581
+ ])
3582
+ ])
3583
+ }),
3584
+ _vm._v(" "),
3585
+ _c("div", { staticClass: "table-row" }, [
3586
+ _c("div", { staticClass: "table-col" }),
3587
+ _vm._v(" "),
3588
+ _c("div", { staticClass: "table-col" }, [
3589
+ _c(
3590
+ "a",
3591
+ {
3592
+ staticClass: "buy-btn starter",
3593
+ attrs: {
3594
+ href:
3595
+ _vm.buyNowProUrl +
3596
+ "add-to-cart=15310&variation_id=15316&attribute_pa_license=starter",
3597
+ target: "_blank"
3598
+ }
3599
+ },
3600
+ [_vm._v(_vm._s(_vm.__("Buy Now", "dokan-lite")))]
3601
+ )
3602
+ ]),
3603
+ _vm._v(" "),
3604
+ _c("div", { staticClass: "table-col popular" }, [
3605
+ _c(
3606
+ "a",
3607
+ {
3608
+ staticClass: "buy-btn professional",
3609
+ attrs: {
3610
+ href:
3611
+ _vm.buyNowProUrl +
3612
+ "add-to-cart=15310&variation_id=15314&attribute_pa_license=professional",
3613
+ target: "_blank"
3614
+ }
3615
+ },
3616
+ [_vm._v(_vm._s(_vm.__("Buy Now", "dokan-lite")))]
3617
+ )
3618
+ ]),
3619
+ _vm._v(" "),
3620
+ _c("div", { staticClass: "table-col" }, [
3621
+ _c(
3622
+ "a",
3623
+ {
3624
+ staticClass: "buy-btn business",
3625
+ attrs: {
3626
+ href:
3627
+ _vm.buyNowProUrl +
3628
+ "add-to-cart=15310&variation_id=15315&attribute_pa_license=business",
3629
+ target: "_blank"
3630
+ }
3631
+ },
3632
+ [_vm._v(_vm._s(_vm.__("Buy Now", "dokan-lite")))]
3633
+ )
3634
+ ]),
3635
+ _vm._v(" "),
3636
+ _c("div", { staticClass: "table-col" }, [
3637
+ _c(
3638
+ "a",
3639
+ {
3640
+ staticClass: "buy-btn enterprise",
3641
+ attrs: {
3642
+ href:
3643
+ _vm.buyNowProUrl +
3644
+ "add-to-cart=15310&variation_id=103829&attribute_pa_license=enterprise",
3645
+ target: "_blank"
3646
+ }
3647
+ },
3648
+ [_vm._v(_vm._s(_vm.__("Buy Now", "dokan-lite")))]
3649
+ )
3650
+ ])
3651
+ ])
3652
+ ],
3653
+ 2
3654
+ )
3655
+ ]),
3656
+ _vm._v(" "),
3657
+ _c("div", { staticClass: "payment-section" }, [
3658
+ _c("div", { staticClass: "guarantee-section" }, [
3659
+ _c("div", { staticClass: "feature-thumb" }, [
3660
+ _c("img", {
3661
+ attrs: { src: _vm.payment.guaranteeThumbnail, alt: "Dokan" }
3662
+ })
3663
+ ]),
3664
+ _vm._v(" "),
3665
+ _c("div", { staticClass: "guarantee-detail" }, [
3666
+ _c("h2", [
3667
+ _vm._v(_vm._s(_vm.__("14 Days Money Back Guarantee", "dokan-lite")))
3668
+ ]),
3669
+ _vm._v(" "),
3670
+ _c("p", [
3671
+ _vm._v(
3672
+ _vm._s(
3673
+ _vm.__(
3674
+ "After successful purchase, you will be eligible for conditional refund",
3675
+ "dokan-lite"
3676
+ )
3677
+ )
3678
+ )
3679
+ ]),
3680
+ _vm._v(" "),
3681
+ _c(
3682
+ "a",
3683
+ { attrs: { href: _vm.payment.termsPolicyUrl, target: "_blank" } },
3684
+ [
3685
+ _c("img", { attrs: { src: _vm.payment.viewIcon, alt: "Dokan" } }),
3686
+ _vm._v(
3687
+ " " + _vm._s(_vm.__("Terms & Condition Applied", "dokan-lite"))
3688
+ )
3689
+ ]
3690
+ )
3691
+ ])
3692
+ ]),
3693
+ _vm._v(" "),
3694
+ _c("div", { staticClass: "payment-area" }, [
3695
+ _c("h3", [_vm._v(_vm._s(_vm.__("Payment Options:", "dokan-lite")))]),
3696
+ _vm._v(" "),
3697
+ _c("div", { staticClass: "option" }, [
3698
+ _c("img", {
3699
+ attrs: { src: _vm.payment.thumbnail, alt: "Credit Card" }
3700
+ })
3701
+ ])
3702
+ ])
3703
+ ]),
3704
+ _vm._v(" "),
3705
+ _c("div", { staticClass: "testimonial-section" }, [
3706
+ _c("h2", { staticClass: "section-title" }, [
3707
+ _vm._v(_vm._s(_vm.__("People We Have Helped", "dokan-lite")))
3708
+ ]),
3709
+ _vm._v(" "),
3710
+ _c(
3711
+ "div",
3712
+ { staticClass: "testimonial-wrapper" },
3713
+ [
3714
+ _c(
3715
+ "slick",
3716
+ { ref: "slick", attrs: { options: _vm.slickOptions } },
3717
+ _vm._l(_vm.testimonials, function(testimonial) {
3718
+ return _c("div", { staticClass: "testimonial-box" }, [
3719
+ _c("div", { staticClass: "profile-pic" }, [
3720
+ _c("img", { attrs: { src: testimonial.pic, alt: "" } })
3721
+ ]),
3722
+ _vm._v(" "),
3723
+ _c(
3724
+ "div",
3725
+ {
3726
+ staticClass: "content-detail",
3727
+ style: {
3728
+ "background-image":
3729
+ "url(" +
3730
+ _vm.asstesUrl +
3731
+ "/images/premium/quote-icon.png" +
3732
+ ")"
3733
+ }
3734
+ },
3735
+ [
3736
+ _c("h4", [_vm._v(_vm._s(testimonial.name))]),
3737
+ _vm._v(" "),
3738
+ _c("span", [_vm._v(_vm._s(testimonial.designation))]),
3739
+ _vm._v(" "),
3740
+ _c("p", [_vm._v(_vm._s(testimonial.content))])
3741
+ ]
3742
+ )
3743
+ ])
3744
+ })
3745
+ )
3746
+ ],
3747
+ 1
3748
+ ),
3749
+ _vm._v(" "),
3750
+ _c("p", {
3751
+ domProps: {
3752
+ innerHTML: _vm._s(
3753
+ _vm.sprintf(
3754
+ "%s <a href='%s' target='_blank'>%s</a> %s",
3755
+ _vm.__("We are proud to say the official", "dokan-lite"),
3756
+ "https://themes.getbootstrap.com/",
3757
+ "Bootstrap theme marketplace",
3758
+ _vm.__("is built using Dokan", "dokan-lite")
3759
+ )
3760
+ )
3761
+ }
3762
+ })
3763
+ ]),
3764
+ _vm._v(" "),
3765
+ _c(
3766
+ "div",
3767
+ {
3768
+ staticClass: "cta-section",
3769
+ style: {
3770
+ "background-image":
3771
+ "url(" +
3772
+ _vm.cta.styles.bgPattern +
3773
+ "), linear-gradient( 45deg, rgb(255,125,144) 33%, rgb(255,173,111) 100%)"
3774
+ }
3775
+ },
3776
+ [
3777
+ _c("div", { staticClass: "feature-thumb" }, [
3778
+ _c("img", { attrs: { src: _vm.cta.thumbnail, alt: "Dokan Lite" } })
3779
+ ]),
3780
+ _vm._v(" "),
3781
+ _c("div", { staticClass: "content-area" }, [
3782
+ _c("h2", [_vm._v(_vm._s(_vm.__("Convinced?", "dokan-lite")))]),
3783
+ _vm._v(" "),
3784
+ _c("p", [
3785
+ _vm._v(
3786
+ _vm._s(
3787
+ _vm.__(
3788
+ "With all the advance features you get it’s hard to resist buying Dokan Pro.",
3789
+ "dokan-lite"
3790
+ )
3791
+ )
3792
+ )
3793
+ ]),
3794
+ _vm._v(" "),
3795
+ _c("a", { staticClass: "btn", attrs: { href: _vm.cta.url } }, [
3796
+ _vm._v(
3797
+ "\n " +
3798
+ _vm._s(_vm.__("I Want To Buy Now", "dokan-lite")) +
3799
+ "\n "
3800
+ ),
3801
+ _c(
3802
+ "svg",
3803
+ {
3804
+ staticStyle: { "enable-background": "new 0 0 17.5 12.5" },
3805
+ attrs: {
3806
+ version: "1.1",
3807
+ id: "Layer_1",
3808
+ xmlns: "http://www.w3.org/2000/svg",
3809
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
3810
+ x: "0px",
3811
+ y: "0px",
3812
+ viewBox: "0 0 17.5 12.5",
3813
+ "xml:space": "preserve"
3814
+ }
3815
+ },
3816
+ [
3817
+ _c("path", {
3818
+ staticClass: "st0",
3819
+ attrs: {
3820
+ d:
3821
+ "M10.6,1.5c-0.4-0.4-0.4-0.9,0-1.3c0.4-0.3,0.9-0.3,1.3,0l5.3,5.3c0.2,0.2,0.3,0.4,0.3,0.7s-0.1,0.5-0.3,0.7\n l-5.3,5.3c-0.4,0.4-0.9,0.4-1.3,0c-0.4-0.4-0.4-0.9,0-1.3l3.8-3.8H0.9C0.4,7.1,0,6.7,0,6.2s0.4-0.9,0.9-0.9h13.5L10.6,1.5z\n M10.6,1.5"
3822
+ }
3823
+ })
3824
+ ]
3825
+ )
3826
+ ])
3827
+ ])
3828
+ ]
3829
+ )
3830
+ ])
3831
+ }
3832
+ var staticRenderFns = [
3833
+ function() {
3834
+ var _vm = this
3835
+ var _h = _vm.$createElement
3836
+ var _c = _vm._self._c || _h
3837
+ return _c("div", { staticClass: "table-row" }, [
3838
+ _c("div", { staticClass: "table-col" }),
3839
+ _vm._v(" "),
3840
+ _c("div", { staticClass: "table-col" }, [
3841
+ _c("div", { staticClass: "plan-name starter" }, [_vm._v("Starter")]),
3842
+ _vm._v(" "),
3843
+ _c("div", { staticClass: "price" }, [
3844
+ _c("span", [_c("sup", [_vm._v("$")]), _vm._v("149")]),
3845
+ _vm._v(" "),
3846
+ _c("span", [_vm._v("/year")])
3847
+ ])
3848
+ ]),
3849
+ _vm._v(" "),
3850
+ _c("div", { staticClass: "table-col popular" }, [
3851
+ _c("div", { staticClass: "plan-name professional" }, [
3852
+ _vm._v("Professional")
3853
+ ]),
3854
+ _vm._v(" "),
3855
+ _c("div", { staticClass: "price" }, [
3856
+ _c("span", [_c("sup", [_vm._v("$")]), _vm._v("249")]),
3857
+ _vm._v(" "),
3858
+ _c("span", [_vm._v("/year")])
3859
+ ])
3860
+ ]),
3861
+ _vm._v(" "),
3862
+ _c("div", { staticClass: "table-col" }, [
3863
+ _c("div", { staticClass: "plan-name business" }, [_vm._v("Business")]),
3864
+ _vm._v(" "),
3865
+ _c("div", { staticClass: "price" }, [
3866
+ _c("span", [_c("sup", [_vm._v("$")]), _vm._v("499")]),
3867
+ _vm._v(" "),
3868
+ _c("span", [_vm._v("/year")])
3869
+ ])
3870
+ ]),
3871
+ _vm._v(" "),
3872
+ _c("div", { staticClass: "table-col" }, [
3873
+ _c("div", { staticClass: "plan-name enterprise" }, [
3874
+ _vm._v("Enterprise")
3875
+ ]),
3876
+ _vm._v(" "),
3877
+ _c("div", { staticClass: "price" }, [
3878
+ _c("span", [_c("sup", [_vm._v("$")]), _vm._v("999")]),
3879
+ _vm._v(" "),
3880
+ _c("span", [_vm._v("/year")])
3881
+ ])
3882
+ ])
3883
+ ])
3884
+ }
3885
+ ]
3886
+ render._withStripped = true
3887
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
3888
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
3889
+ if (false) {
3890
+ module.hot.accept()
3891
+ if (module.hot.data) {
3892
+ require("vue-hot-reload-api") .rerender("data-v-b38fd83a", esExports)
3893
+ }
3894
+ }
3895
+
3896
+ /***/ }),
3897
+ /* 76 */
3898
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3899
+
3900
+ "use strict";
3901
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3902
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Help_vue__ = __webpack_require__(19);
3903
+ /* empty harmony namespace reexport */
3904
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_c289d136_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Help_vue__ = __webpack_require__(78);
3905
+ var disposed = false
3906
+ function injectStyle (ssrContext) {
3907
+ if (disposed) return
3908
+ __webpack_require__(77)
3909
+ }
3910
+ var normalizeComponent = __webpack_require__(0)
3911
+ /* script */
3912
+
3913
+
3914
+ /* template */
3915
+
3916
+ /* template functional */
3917
+ var __vue_template_functional__ = false
3918
+ /* styles */
3919
+ var __vue_styles__ = injectStyle
3920
+ /* scopeId */
3921
+ var __vue_scopeId__ = null
3922
+ /* moduleIdentifier (server only) */
3923
+ var __vue_module_identifier__ = null
3924
+ var Component = normalizeComponent(
3925
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Help_vue__["a" /* default */],
3926
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_c289d136_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Help_vue__["a" /* default */],
3927
+ __vue_template_functional__,
3928
+ __vue_styles__,
3929
+ __vue_scopeId__,
3930
+ __vue_module_identifier__
3931
+ )
3932
+ Component.options.__file = "src/admin/pages/Help.vue"
3933
+
3934
+ /* hot reload */
3935
+ if (false) {(function () {
3936
+ var hotAPI = require("vue-hot-reload-api")
3937
+ hotAPI.install(require("vue"), false)
3938
+ if (!hotAPI.compatible) return
3939
+ module.hot.accept()
3940
+ if (!module.hot.data) {
3941
+ hotAPI.createRecord("data-v-c289d136", Component.options)
3942
+ } else {
3943
+ hotAPI.reload("data-v-c289d136", Component.options)
3944
+ }
3945
+ module.hot.dispose(function (data) {
3946
+ disposed = true
3947
+ })
3948
+ })()}
3949
+
3950
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
3951
+
3952
+
3953
+ /***/ }),
3954
+ /* 77 */
3955
+ /***/ (function(module, exports) {
3956
+
3957
+ // removed by extract-text-webpack-plugin
3958
+
3959
+ /***/ }),
3960
+ /* 78 */
3961
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3962
+
3963
+ "use strict";
3964
+ var render = function() {
3965
+ var _vm = this
3966
+ var _h = _vm.$createElement
3967
+ var _c = _vm._self._c || _h
3968
+ return _c("div", { staticClass: "dokan-help-page" }, [
3969
+ _c("h1", [_vm._v(_vm._s(_vm.__("Help", "dokan-lite")))]),
3970
+ _vm._v(" "),
3971
+ _vm.docs !== null
3972
+ ? _c(
3973
+ "div",
3974
+ { staticClass: "section-wrapper" },
3975
+ _vm._l(_vm.docs, function(section, index) {
3976
+ return _c(
3977
+ "postbox",
3978
+ { key: index, attrs: { title: section.title } },
3979
+ [
3980
+ _c(
3981
+ "ul",
3982
+ _vm._l(section.questions, function(item) {
3983
+ return _c("li", [
3984
+ _c("span", {
3985
+ staticClass: "dashicons dashicons-media-text"
3986
+ }),
3987
+ _vm._v(" "),
3988
+ _c(
3989
+ "a",
3990
+ {
3991
+ attrs: {
3992
+ href:
3993
+ item.link +
3994
+ "?utm_source=wp-admin&utm_medium=dokan-help-page",
3995
+ target: "_blank"
3996
+ }
3997
+ },
3998
+ [_vm._v(_vm._s(item.title))]
3999
+ )
4000
+ ])
4001
+ })
4002
+ )
4003
+ ]
4004
+ )
4005
+ })
4006
+ )
4007
+ : _c("div", { staticClass: "loading" }, [_c("loading")], 1)
4008
+ ])
4009
+ }
4010
+ var staticRenderFns = []
4011
+ render._withStripped = true
4012
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
4013
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
4014
+ if (false) {
4015
+ module.hot.accept()
4016
+ if (module.hot.data) {
4017
+ require("vue-hot-reload-api") .rerender("data-v-c289d136", esExports)
4018
+ }
4019
+ }
4020
+
4021
+ /***/ }),
4022
+ /* 79 */
4023
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4024
+
4025
+ "use strict";
4026
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
4027
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Settings_vue__ = __webpack_require__(20);
4028
+ /* empty harmony namespace reexport */
4029
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_e4dc4572_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Settings_vue__ = __webpack_require__(106);
4030
+ var disposed = false
4031
+ function injectStyle (ssrContext) {
4032
+ if (disposed) return
4033
+ __webpack_require__(80)
4034
+ }
4035
+ var normalizeComponent = __webpack_require__(0)
4036
+ /* script */
4037
+
4038
+
4039
+ /* template */
4040
+
4041
+ /* template functional */
4042
+ var __vue_template_functional__ = false
4043
+ /* styles */
4044
+ var __vue_styles__ = injectStyle
4045
+ /* scopeId */
4046
+ var __vue_scopeId__ = null
4047
+ /* moduleIdentifier (server only) */
4048
+ var __vue_module_identifier__ = null
4049
+ var Component = normalizeComponent(
4050
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Settings_vue__["a" /* default */],
4051
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_e4dc4572_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Settings_vue__["a" /* default */],
4052
+ __vue_template_functional__,
4053
+ __vue_styles__,
4054
+ __vue_scopeId__,
4055
+ __vue_module_identifier__
4056
+ )
4057
+ Component.options.__file = "src/admin/pages/Settings.vue"
4058
+
4059
+ /* hot reload */
4060
+ if (false) {(function () {
4061
+ var hotAPI = require("vue-hot-reload-api")
4062
+ hotAPI.install(require("vue"), false)
4063
+ if (!hotAPI.compatible) return
4064
+ module.hot.accept()
4065
+ if (!module.hot.data) {
4066
+ hotAPI.createRecord("data-v-e4dc4572", Component.options)
4067
+ } else {
4068
+ hotAPI.reload("data-v-e4dc4572", Component.options)
4069
+ }
4070
+ module.hot.dispose(function (data) {
4071
+ disposed = true
4072
+ })
4073
+ })()}
4074
+
4075
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
4076
+
4077
+
4078
+ /***/ }),
4079
+ /* 80 */
4080
+ /***/ (function(module, exports) {
4081
+
4082
+ // removed by extract-text-webpack-plugin
4083
+
4084
+ /***/ }),
4085
+ /* 81 */
4086
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4087
+
4088
+ "use strict";
4089
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Fields_vue__ = __webpack_require__(21);
4090
+ /* unused harmony namespace reexport */
4091
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_a96ce32e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Fields_vue__ = __webpack_require__(105);
4092
+ var disposed = false
4093
+ var normalizeComponent = __webpack_require__(0)
4094
+ /* script */
4095
+
4096
+
4097
+ /* template */
4098
+
4099
+ /* template functional */
4100
+ var __vue_template_functional__ = false
4101
+ /* styles */
4102
+ var __vue_styles__ = null
4103
+ /* scopeId */
4104
+ var __vue_scopeId__ = null
4105
+ /* moduleIdentifier (server only) */
4106
+ var __vue_module_identifier__ = null
4107
+ var Component = normalizeComponent(
4108
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Fields_vue__["a" /* default */],
4109
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_a96ce32e_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Fields_vue__["a" /* default */],
4110
+ __vue_template_functional__,
4111
+ __vue_styles__,
4112
+ __vue_scopeId__,
4113
+ __vue_module_identifier__
4114
+ )
4115
+ Component.options.__file = "src/admin/components/Fields.vue"
4116
+
4117
+ /* hot reload */
4118
+ if (false) {(function () {
4119
+ var hotAPI = require("vue-hot-reload-api")
4120
+ hotAPI.install(require("vue"), false)
4121
+ if (!hotAPI.compatible) return
4122
+ module.hot.accept()
4123
+ if (!module.hot.data) {
4124
+ hotAPI.createRecord("data-v-a96ce32e", Component.options)
4125
+ } else {
4126
+ hotAPI.reload("data-v-a96ce32e", Component.options)
4127
+ }
4128
+ module.hot.dispose(function (data) {
4129
+ disposed = true
4130
+ })
4131
+ })()}
4132
+
4133
+ /* harmony default export */ __webpack_exports__["a"] = (Component.exports);
4134
+
4135
+
4136
+ /***/ }),
4137
+ /* 82 */
4138
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4139
+
4140
+ "use strict";
4141
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_ColorPicker_vue__ = __webpack_require__(22);
4142
+ /* unused harmony namespace reexport */
4143
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_01dc0d51_hasScoped_true_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_ColorPicker_vue__ = __webpack_require__(104);
4144
+ var disposed = false
4145
+ function injectStyle (ssrContext) {
4146
+ if (disposed) return
4147
+ __webpack_require__(83)
4148
+ }
4149
+ var normalizeComponent = __webpack_require__(0)
4150
+ /* script */
4151
+
4152
+
4153
+ /* template */
4154
+
4155
+ /* template functional */
4156
+ var __vue_template_functional__ = false
4157
+ /* styles */
4158
+ var __vue_styles__ = injectStyle
4159
+ /* scopeId */
4160
+ var __vue_scopeId__ = "data-v-01dc0d51"
4161
+ /* moduleIdentifier (server only) */
4162
+ var __vue_module_identifier__ = null
4163
+ var Component = normalizeComponent(
4164
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_ColorPicker_vue__["a" /* default */],
4165
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_01dc0d51_hasScoped_true_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_ColorPicker_vue__["a" /* default */],
4166
+ __vue_template_functional__,
4167
+ __vue_styles__,
4168
+ __vue_scopeId__,
4169
+ __vue_module_identifier__
4170
+ )
4171
+ Component.options.__file = "src/admin/components/ColorPicker.vue"
4172
+
4173
+ /* hot reload */
4174
+ if (false) {(function () {
4175
+ var hotAPI = require("vue-hot-reload-api")
4176
+ hotAPI.install(require("vue"), false)
4177
+ if (!hotAPI.compatible) return
4178
+ module.hot.accept()
4179
+ if (!module.hot.data) {
4180
+ hotAPI.createRecord("data-v-01dc0d51", Component.options)
4181
+ } else {
4182
+ hotAPI.reload("data-v-01dc0d51", Component.options)
4183
+ }
4184
+ module.hot.dispose(function (data) {
4185
+ disposed = true
4186
+ })
4187
+ })()}
4188
+
4189
+ /* harmony default export */ __webpack_exports__["a"] = (Component.exports);
4190
+
4191
+
4192
+ /***/ }),
4193
+ /* 83 */
4194
+ /***/ (function(module, exports) {
4195
+
4196
+ // removed by extract-text-webpack-plugin
4197
+
4198
+ /***/ }),
4199
+ /* 84 */,
4200
+ /* 85 */,
4201
+ /* 86 */,
4202
+ /* 87 */,
4203
+ /* 88 */,
4204
+ /* 89 */,
4205
+ /* 90 */,
4206
+ /* 91 */,
4207
+ /* 92 */,
4208
+ /* 93 */,
4209
+ /* 94 */,
4210
+ /* 95 */,
4211
+ /* 96 */,
4212
+ /* 97 */,
4213
+ /* 98 */,
4214
+ /* 99 */,
4215
+ /* 100 */,
4216
+ /* 101 */,
4217
+ /* 102 */,
4218
+ /* 103 */,
4219
+ /* 104 */
4220
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4221
+
4222
+ "use strict";
4223
+ var render = function() {
4224
+ var _vm = this
4225
+ var _h = _vm.$createElement
4226
+ var _c = _vm._self._c || _h
4227
+ return _c(
4228
+ "div",
4229
+ { staticClass: "color-picker-container" },
4230
+ [
4231
+ _c(
4232
+ "button",
4233
+ {
4234
+ staticClass: "button color-picker-button",
4235
+ style: { backgroundColor: _vm.value },
4236
+ attrs: { type: "button" },
4237
+ on: { click: _vm.toggleColorPicker }
4238
+ },
4239
+ [_c("span", [_vm._v(_vm._s(_vm.__("Select Color", "dokan-lite")))])]
4240
+ ),
4241
+ _vm._v(" "),
4242
+ _vm.showColorPicker && _vm.format === "hex"
4243
+ ? _c("input", {
4244
+ staticClass: "hex-input",
4245
+ attrs: { type: "text" },
4246
+ domProps: { value: _vm.value },
4247
+ on: {
4248
+ input: function($event) {
4249
+ _vm.setHexColor($event.target.value)
4250
+ }
4251
+ }
4252
+ })
4253
+ : _vm._e(),
4254
+ _vm._v(" "),
4255
+ _vm.showColorPicker
4256
+ ? _c("div", { staticClass: "button-group" }, [
4257
+ _c(
4258
+ "button",
4259
+ {
4260
+ staticClass: "button button-small",
4261
+ attrs: { type: "button" },
4262
+ on: {
4263
+ click: function($event) {
4264
+ _vm.updateColor({})
4265
+ }
4266
+ }
4267
+ },
4268
+ [_vm._v(_vm._s(_vm.__("Clear", "dokan-lite")))]
4269
+ ),
4270
+ _vm._v(" "),
4271
+ _c(
4272
+ "button",
4273
+ {
4274
+ staticClass: "button button-small",
4275
+ attrs: { type: "button" },
4276
+ on: { click: _vm.toggleColorPicker }
4277
+ },
4278
+ [_vm._v(_vm._s(_vm.__("Close", "dokan-lite")))]
4279
+ )
4280
+ ])
4281
+ : _vm._e(),
4282
+ _vm._v(" "),
4283
+ _vm.showColorPicker
4284
+ ? _c("sketch", {
4285
+ attrs: {
4286
+ value: _vm.value,
4287
+ "preset-colors": _vm.presetColors,
4288
+ "disable-alpha": _vm.disableAlpha,
4289
+ "disable-fields": _vm.disableFields
4290
+ },
4291
+ on: { input: _vm.updateColor }
4292
+ })
4293
+ : _vm._e()
4294
+ ],
4295
+ 1
4296
+ )
4297
+ }
4298
+ var staticRenderFns = []
4299
+ render._withStripped = true
4300
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
4301
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
4302
+ if (false) {
4303
+ module.hot.accept()
4304
+ if (module.hot.data) {
4305
+ require("vue-hot-reload-api") .rerender("data-v-01dc0d51", esExports)
4306
+ }
4307
+ }
4308
+
4309
+ /***/ }),
4310
+ /* 105 */
4311
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4312
+
4313
+ "use strict";
4314
+ var render = function() {
4315
+ var _vm = this
4316
+ var _h = _vm.$createElement
4317
+ var _c = _vm._self._c || _h
4318
+ return _c("div", [
4319
+ _vm.containCommonFields(_vm.fieldData.type)
4320
+ ? _c("tr", { class: _vm.id }, [
4321
+ _c("th", { attrs: { scope: "row" } }, [
4322
+ _c(
4323
+ "label",
4324
+ {
4325
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4326
+ },
4327
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4328
+ )
4329
+ ]),
4330
+ _vm._v(" "),
4331
+ _c("td", [
4332
+ _c("input", {
4333
+ directives: [
4334
+ {
4335
+ name: "model",
4336
+ rawName: "v-model",
4337
+ value: _vm.fieldValue[_vm.fieldData.name],
4338
+ expression: "fieldValue[fieldData.name]"
4339
+ }
4340
+ ],
4341
+ staticClass: "regular-text",
4342
+ attrs: {
4343
+ type: "text",
4344
+ id: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4345
+ name: _vm.sectionId + "[" + _vm.fieldData.name + "]"
4346
+ },
4347
+ domProps: { value: _vm.fieldValue[_vm.fieldData.name] },
4348
+ on: {
4349
+ input: function($event) {
4350
+ if ($event.target.composing) {
4351
+ return
4352
+ }
4353
+ _vm.$set(
4354
+ _vm.fieldValue,
4355
+ _vm.fieldData.name,
4356
+ $event.target.value
4357
+ )
4358
+ }
4359
+ }
4360
+ }),
4361
+ _vm._v(" "),
4362
+ _c("p", {
4363
+ staticClass: "description",
4364
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4365
+ })
4366
+ ])
4367
+ ])
4368
+ : _vm._e(),
4369
+ _vm._v(" "),
4370
+ "number" == _vm.fieldData.type
4371
+ ? _c("tr", { class: _vm.id }, [
4372
+ _c("th", { attrs: { scope: "row" } }, [
4373
+ _c(
4374
+ "label",
4375
+ {
4376
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4377
+ },
4378
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4379
+ )
4380
+ ]),
4381
+ _vm._v(" "),
4382
+ _c("td", [
4383
+ _c("input", {
4384
+ directives: [
4385
+ {
4386
+ name: "model",
4387
+ rawName: "v-model",
4388
+ value: _vm.fieldValue[_vm.fieldData.name],
4389
+ expression: "fieldValue[fieldData.name]"
4390
+ }
4391
+ ],
4392
+ staticClass: "regular-text",
4393
+ attrs: {
4394
+ type: "number",
4395
+ min: _vm.fieldData.min,
4396
+ max: _vm.fieldData.max,
4397
+ step: _vm.fieldData.step,
4398
+ id: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4399
+ name: _vm.sectionId + "[" + _vm.fieldData.name + "]"
4400
+ },
4401
+ domProps: { value: _vm.fieldValue[_vm.fieldData.name] },
4402
+ on: {
4403
+ input: function($event) {
4404
+ if ($event.target.composing) {
4405
+ return
4406
+ }
4407
+ _vm.$set(
4408
+ _vm.fieldValue,
4409
+ _vm.fieldData.name,
4410
+ $event.target.value
4411
+ )
4412
+ }
4413
+ }
4414
+ }),
4415
+ _vm._v(" "),
4416
+ _c("p", {
4417
+ staticClass: "description",
4418
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4419
+ })
4420
+ ])
4421
+ ])
4422
+ : _vm._e(),
4423
+ _vm._v(" "),
4424
+ "textarea" == _vm.fieldData.type
4425
+ ? _c("tr", { class: _vm.id }, [
4426
+ _c("th", { attrs: { scope: "row" } }, [
4427
+ _c(
4428
+ "label",
4429
+ {
4430
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4431
+ },
4432
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4433
+ )
4434
+ ]),
4435
+ _vm._v(" "),
4436
+ _c("td", [
4437
+ _c("textarea", {
4438
+ directives: [
4439
+ {
4440
+ name: "model",
4441
+ rawName: "v-model",
4442
+ value: _vm.fieldValue[_vm.fieldData.name],
4443
+ expression: "fieldValue[fieldData.name]"
4444
+ }
4445
+ ],
4446
+ staticClass: "regular-text",
4447
+ attrs: {
4448
+ type: "textarea",
4449
+ rows: _vm.fieldData.rows,
4450
+ cols: _vm.fieldData.cols,
4451
+ id: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4452
+ name: _vm.sectionId + "[" + _vm.fieldData.name + "]"
4453
+ },
4454
+ domProps: { value: _vm.fieldValue[_vm.fieldData.name] },
4455
+ on: {
4456
+ input: function($event) {
4457
+ if ($event.target.composing) {
4458
+ return
4459
+ }
4460
+ _vm.$set(
4461
+ _vm.fieldValue,
4462
+ _vm.fieldData.name,
4463
+ $event.target.value
4464
+ )
4465
+ }
4466
+ }
4467
+ }),
4468
+ _vm._v(" "),
4469
+ _c("p", {
4470
+ staticClass: "description",
4471
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4472
+ })
4473
+ ])
4474
+ ])
4475
+ : _vm._e(),
4476
+ _vm._v(" "),
4477
+ "checkbox" == _vm.fieldData.type
4478
+ ? _c("tr", { class: _vm.id }, [
4479
+ _c("th", { attrs: { scope: "row" } }, [
4480
+ _c(
4481
+ "label",
4482
+ {
4483
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4484
+ },
4485
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4486
+ )
4487
+ ]),
4488
+ _vm._v(" "),
4489
+ _c("td", [
4490
+ _c("fieldset", [
4491
+ _c(
4492
+ "label",
4493
+ {
4494
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4495
+ },
4496
+ [
4497
+ _c("input", {
4498
+ directives: [
4499
+ {
4500
+ name: "model",
4501
+ rawName: "v-model",
4502
+ value: _vm.fieldValue[_vm.fieldData.name],
4503
+ expression: "fieldValue[fieldData.name]"
4504
+ }
4505
+ ],
4506
+ staticClass: "checkbox",
4507
+ attrs: {
4508
+ type: "checkbox",
4509
+ id: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4510
+ name: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4511
+ "true-value": "on",
4512
+ "false-value": "off"
4513
+ },
4514
+ domProps: {
4515
+ checked: Array.isArray(_vm.fieldValue[_vm.fieldData.name])
4516
+ ? _vm._i(_vm.fieldValue[_vm.fieldData.name], null) > -1
4517
+ : _vm._q(_vm.fieldValue[_vm.fieldData.name], "on")
4518
+ },
4519
+ on: {
4520
+ change: function($event) {
4521
+ var $$a = _vm.fieldValue[_vm.fieldData.name],
4522
+ $$el = $event.target,
4523
+ $$c = $$el.checked ? "on" : "off"
4524
+ if (Array.isArray($$a)) {
4525
+ var $$v = null,
4526
+ $$i = _vm._i($$a, $$v)
4527
+ if ($$el.checked) {
4528
+ $$i < 0 &&
4529
+ (_vm.fieldValue[_vm.fieldData.name] = $$a.concat([
4530
+ $$v
4531
+ ]))
4532
+ } else {
4533
+ $$i > -1 &&
4534
+ (_vm.fieldValue[_vm.fieldData.name] = $$a
4535
+ .slice(0, $$i)
4536
+ .concat($$a.slice($$i + 1)))
4537
+ }
4538
+ } else {
4539
+ _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$c)
4540
+ }
4541
+ }
4542
+ }
4543
+ }),
4544
+ _vm._v(
4545
+ "\n " +
4546
+ _vm._s(_vm.fieldData.desc) +
4547
+ "\n "
4548
+ )
4549
+ ]
4550
+ )
4551
+ ])
4552
+ ])
4553
+ ])
4554
+ : _vm._e(),
4555
+ _vm._v(" "),
4556
+ "multicheck" == _vm.fieldData.type
4557
+ ? _c("tr", { class: _vm.id }, [
4558
+ _c("th", { attrs: { scope: "row" } }, [
4559
+ _c(
4560
+ "label",
4561
+ {
4562
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4563
+ },
4564
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4565
+ )
4566
+ ]),
4567
+ _vm._v(" "),
4568
+ _c("td", [
4569
+ _c(
4570
+ "fieldset",
4571
+ [
4572
+ _vm._l(_vm.fieldData.options, function(optionVal, optionKey) {
4573
+ return [
4574
+ _c(
4575
+ "label",
4576
+ {
4577
+ attrs: {
4578
+ for:
4579
+ _vm.sectionId +
4580
+ "[" +
4581
+ _vm.fieldData.name +
4582
+ "][" +
4583
+ optionKey +
4584
+ "]"
4585
+ }
4586
+ },
4587
+ [
4588
+ _c("input", {
4589
+ directives: [
4590
+ {
4591
+ name: "model",
4592
+ rawName: "v-model",
4593
+ value:
4594
+ _vm.fieldValue[_vm.fieldData.name][optionKey],
4595
+ expression:
4596
+ "fieldValue[fieldData.name][optionKey]"
4597
+ }
4598
+ ],
4599
+ staticClass: "checkbox",
4600
+ attrs: {
4601
+ type: "checkbox",
4602
+ id:
4603
+ _vm.sectionId +
4604
+ "[" +
4605
+ _vm.fieldData.name +
4606
+ "][" +
4607
+ optionKey +
4608
+ "]",
4609
+ name:
4610
+ _vm.sectionId +
4611
+ "[" +
4612
+ _vm.fieldData.name +
4613
+ "][" +
4614
+ optionKey +
4615
+ "]",
4616
+ "true-value": optionKey,
4617
+ "false-value": ""
4618
+ },
4619
+ domProps: {
4620
+ checked: Array.isArray(
4621
+ _vm.fieldValue[_vm.fieldData.name][optionKey]
4622
+ )
4623
+ ? _vm._i(
4624
+ _vm.fieldValue[_vm.fieldData.name][optionKey],
4625
+ null
4626
+ ) > -1
4627
+ : _vm._q(
4628
+ _vm.fieldValue[_vm.fieldData.name][optionKey],
4629
+ optionKey
4630
+ )
4631
+ },
4632
+ on: {
4633
+ change: function($event) {
4634
+ var $$a =
4635
+ _vm.fieldValue[_vm.fieldData.name][optionKey],
4636
+ $$el = $event.target,
4637
+ $$c = $$el.checked ? optionKey : ""
4638
+ if (Array.isArray($$a)) {
4639
+ var $$v = null,
4640
+ $$i = _vm._i($$a, $$v)
4641
+ if ($$el.checked) {
4642
+ $$i < 0 &&
4643
+ (_vm.fieldValue[_vm.fieldData.name][
4644
+ optionKey
4645
+ ] = $$a.concat([$$v]))
4646
+ } else {
4647
+ $$i > -1 &&
4648
+ (_vm.fieldValue[_vm.fieldData.name][
4649
+ optionKey
4650
+ ] = $$a
4651
+ .slice(0, $$i)
4652
+ .concat($$a.slice($$i + 1)))
4653
+ }
4654
+ } else {
4655
+ _vm.$set(
4656
+ _vm.fieldValue[_vm.fieldData.name],
4657
+ optionKey,
4658
+ $$c
4659
+ )
4660
+ }
4661
+ }
4662
+ }
4663
+ }),
4664
+ _vm._v(
4665
+ "\n " +
4666
+ _vm._s(optionVal) +
4667
+ "\n "
4668
+ )
4669
+ ]
4670
+ ),
4671
+ _vm._v(" "),
4672
+ _c("br")
4673
+ ]
4674
+ })
4675
+ ],
4676
+ 2
4677
+ )
4678
+ ])
4679
+ ])
4680
+ : _vm._e(),
4681
+ _vm._v(" "),
4682
+ "select" == _vm.fieldData.type
4683
+ ? _c("tr", { class: _vm.id }, [
4684
+ _c("th", { attrs: { scope: "row" } }, [
4685
+ _c(
4686
+ "label",
4687
+ {
4688
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4689
+ },
4690
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4691
+ )
4692
+ ]),
4693
+ _vm._v(" "),
4694
+ _c("td", [
4695
+ _c(
4696
+ "select",
4697
+ {
4698
+ directives: [
4699
+ {
4700
+ name: "model",
4701
+ rawName: "v-model",
4702
+ value: _vm.fieldValue[_vm.fieldData.name],
4703
+ expression: "fieldValue[fieldData.name]"
4704
+ }
4705
+ ],
4706
+ staticClass: "regular",
4707
+ attrs: {
4708
+ name: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4709
+ id: _vm.sectionId + "[" + _vm.fieldData.name + "]"
4710
+ },
4711
+ on: {
4712
+ change: function($event) {
4713
+ var $$selectedVal = Array.prototype.filter
4714
+ .call($event.target.options, function(o) {
4715
+ return o.selected
4716
+ })
4717
+ .map(function(o) {
4718
+ var val = "_value" in o ? o._value : o.value
4719
+ return val
4720
+ })
4721
+ _vm.$set(
4722
+ _vm.fieldValue,
4723
+ _vm.fieldData.name,
4724
+ $event.target.multiple ? $$selectedVal : $$selectedVal[0]
4725
+ )
4726
+ }
4727
+ }
4728
+ },
4729
+ _vm._l(_vm.fieldData.options, function(optionVal, optionKey) {
4730
+ return _c("option", {
4731
+ domProps: { value: optionKey, innerHTML: _vm._s(optionVal) }
4732
+ })
4733
+ })
4734
+ ),
4735
+ _vm._v(" "),
4736
+ _c("p", {
4737
+ staticClass: "description",
4738
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4739
+ })
4740
+ ])
4741
+ ])
4742
+ : _vm._e(),
4743
+ _vm._v(" "),
4744
+ "file" == _vm.fieldData.type
4745
+ ? _c("tr", { class: _vm.id }, [
4746
+ _c("th", { attrs: { scope: "row" } }, [
4747
+ _c(
4748
+ "label",
4749
+ {
4750
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4751
+ },
4752
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4753
+ )
4754
+ ]),
4755
+ _vm._v(" "),
4756
+ _c("td", [
4757
+ _c("input", {
4758
+ directives: [
4759
+ {
4760
+ name: "model",
4761
+ rawName: "v-model",
4762
+ value: _vm.fieldValue[_vm.fieldData.name],
4763
+ expression: "fieldValue[fieldData.name]"
4764
+ }
4765
+ ],
4766
+ staticClass: "regular-text wpsa-url",
4767
+ attrs: {
4768
+ type: "text",
4769
+ id: _vm.sectionId + "[" + _vm.fieldData.name + "]",
4770
+ name: _vm.sectionId + "[" + _vm.fieldData.name + "]"
4771
+ },
4772
+ domProps: { value: _vm.fieldValue[_vm.fieldData.name] },
4773
+ on: {
4774
+ input: function($event) {
4775
+ if ($event.target.composing) {
4776
+ return
4777
+ }
4778
+ _vm.$set(
4779
+ _vm.fieldValue,
4780
+ _vm.fieldData.name,
4781
+ $event.target.value
4782
+ )
4783
+ }
4784
+ }
4785
+ }),
4786
+ _vm._v(" "),
4787
+ _c("input", {
4788
+ staticClass: "button wpsa-browse",
4789
+ attrs: { type: "button", value: "Choose File" },
4790
+ on: {
4791
+ click: function($event) {
4792
+ $event.preventDefault()
4793
+ _vm.$emit(
4794
+ "openMedia",
4795
+ { sectionId: _vm.sectionId, name: _vm.fieldData.name },
4796
+ $event
4797
+ )
4798
+ }
4799
+ }
4800
+ }),
4801
+ _vm._v(" "),
4802
+ _c("p", {
4803
+ staticClass: "description",
4804
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4805
+ })
4806
+ ])
4807
+ ])
4808
+ : _vm._e(),
4809
+ _vm._v(" "),
4810
+ "color" == _vm.fieldData.type
4811
+ ? _c("tr", { class: _vm.id }, [
4812
+ _c("th", { attrs: { scope: "row" } }, [
4813
+ _c(
4814
+ "label",
4815
+ {
4816
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4817
+ },
4818
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4819
+ )
4820
+ ]),
4821
+ _vm._v(" "),
4822
+ _c(
4823
+ "td",
4824
+ [
4825
+ _c("color-picker", {
4826
+ model: {
4827
+ value: _vm.fieldValue[_vm.fieldData.name],
4828
+ callback: function($$v) {
4829
+ _vm.$set(_vm.fieldValue, _vm.fieldData.name, $$v)
4830
+ },
4831
+ expression: "fieldValue[fieldData.name]"
4832
+ }
4833
+ }),
4834
+ _vm._v(" "),
4835
+ _c("p", {
4836
+ staticClass: "description",
4837
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4838
+ })
4839
+ ],
4840
+ 1
4841
+ )
4842
+ ])
4843
+ : _vm._e(),
4844
+ _vm._v(" "),
4845
+ "html" == _vm.fieldData.type
4846
+ ? _c("tr", { class: _vm.id }, [
4847
+ _c("th", { attrs: { scope: "row" } }, [
4848
+ _c(
4849
+ "label",
4850
+ {
4851
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4852
+ },
4853
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4854
+ )
4855
+ ]),
4856
+ _vm._v(" "),
4857
+ _c("td", [
4858
+ _c("p", {
4859
+ staticClass: "description",
4860
+ domProps: { innerHTML: _vm._s(_vm.fieldData.desc) }
4861
+ })
4862
+ ])
4863
+ ])
4864
+ : _vm._e(),
4865
+ _vm._v(" "),
4866
+ "radio_image" == _vm.fieldData.type
4867
+ ? _c("tr", { class: _vm.id }, [
4868
+ _c("th", { attrs: { scope: "row" } }, [
4869
+ _c(
4870
+ "label",
4871
+ {
4872
+ attrs: { for: _vm.sectionId + "[" + _vm.fieldData.name + "]" }
4873
+ },
4874
+ [_vm._v(_vm._s(_vm.fieldData.label))]
4875
+ )
4876
+ ]),
4877
+ _vm._v(" "),
4878
+ _c("td", [
4879
+ _c(
4880
+ "div",
4881
+ { staticClass: "radio-image-container" },
4882
+ [
4883
+ _vm._l(_vm.fieldData.options, function(image, name) {
4884
+ return [
4885
+ _c(
4886
+ "label",
4887
+ {
4888
+ staticClass: "radio-image",
4889
+ class: {
4890
+ active: _vm.fieldValue[_vm.fieldData.name] === name,
4891
+ "not-active":
4892
+ _vm.fieldValue[_vm.fieldData.name] !== name
4893
+ }
4894
+ },
4895
+ [
4896
+ _c("input", {
4897
+ directives: [
4898
+ {
4899
+ name: "model",
4900
+ rawName: "v-model",
4901
+ value: _vm.fieldValue[_vm.fieldData.name],
4902
+ expression: "fieldValue[fieldData.name]"
4903
+ }
4904
+ ],
4905
+ staticClass: "radio",
4906
+ attrs: { type: "radio", name: _vm.fieldData.name },
4907
+ domProps: {
4908
+ value: name,
4909
+ checked: _vm._q(
4910
+ _vm.fieldValue[_vm.fieldData.name],
4911
+ name
4912
+ )
4913
+ },
4914
+ on: {
4915
+ change: function($event) {
4916
+ _vm.$set(_vm.fieldValue, _vm.fieldData.name, name)
4917
+ }
4918
+ }
4919
+ }),
4920
+ _vm._v(" "),
4921
+ _c(
4922
+ "span",
4923
+ { staticClass: "current-option-indicator" },
4924
+ [
4925
+ _c("span", {
4926
+ staticClass: "dashicons dashicons-yes"
4927
+ }),
4928
+ _vm._v(" " + _vm._s(_vm.__("Active", "dokan-lite")))
4929
+ ]
4930
+ ),
4931
+ _vm._v(" "),
4932
+ _c("img", { attrs: { src: image } }),
4933
+ _vm._v(" "),
4934
+ _c("span", { staticClass: "active-option" }, [
4935
+ _c(
4936
+ "button",
4937
+ {
4938
+ staticClass: "button button-primary button-hero",
4939
+ attrs: { type: "button" },
4940
+ on: {
4941
+ click: function($event) {
4942
+ $event.preventDefault()
4943
+ _vm.fieldValue[_vm.fieldData.name] = name
4944
+ }
4945
+ }
4946
+ },
4947
+ [
4948
+ _vm._v(
4949
+ "\n " +
4950
+ _vm._s(_vm.__("Select", "dokan-lite")) +
4951
+ "\n "
4952
+ )
4953
+ ]
4954
+ )
4955
+ ])
4956
+ ]
4957
+ )
4958
+ ]
4959
+ })
4960
+ ],
4961
+ 2
4962
+ )
4963
+ ])
4964
+ ])
4965
+ : _vm._e()
4966
+ ])
4967
+ }
4968
+ var staticRenderFns = []
4969
+ render._withStripped = true
4970
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
4971
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
4972
+ if (false) {
4973
+ module.hot.accept()
4974
+ if (module.hot.data) {
4975
+ require("vue-hot-reload-api") .rerender("data-v-a96ce32e", esExports)
4976
+ }
4977
+ }
4978
+
4979
+ /***/ }),
4980
+ /* 106 */
4981
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4982
+
4983
+ "use strict";
4984
+ var render = function() {
4985
+ var _vm = this
4986
+ var _h = _vm.$createElement
4987
+ var _c = _vm._self._c || _h
4988
+ return _c("div", { staticClass: "dokan-settings" }, [
4989
+ _c("h2", { staticStyle: { "margin-bottom": "15px" } }, [
4990
+ _vm._v(_vm._s(_vm.__("Settings", "dokan-lite")))
4991
+ ]),
4992
+ _vm._v(" "),
4993
+ _vm.isSaved
4994
+ ? _c(
4995
+ "div",
4996
+ {
4997
+ staticClass: "settings-error notice is-dismissible",
4998
+ class: { updated: _vm.isUpdated, error: !_vm.isUpdated },
4999
+ attrs: { id: "setting-message_updated" }
5000
+ },
5001
+ [
5002
+ _c("p", [
5003
+ _c("strong", { domProps: { innerHTML: _vm._s(_vm.message) } })
5004
+ ]),
5005
+ _vm._v(" "),
5006
+ _c(
5007
+ "button",
5008
+ {
5009
+ staticClass: "notice-dismiss",
5010
+ attrs: { type: "button" },
5011
+ on: {
5012
+ click: function($event) {
5013
+ $event.preventDefault()
5014
+ _vm.isSaved = false
5015
+ }
5016
+ }
5017
+ },
5018
+ [
5019
+ _c("span", { staticClass: "screen-reader-text" }, [
5020
+ _vm._v(_vm._s(_vm.__("Dismiss this notice.", "dokan-lite")))
5021
+ ])
5022
+ ]
5023
+ )
5024
+ ]
5025
+ )
5026
+ : _vm._e(),
5027
+ _vm._v(" "),
5028
+ _c("div", { staticClass: "dokan-settings-wrap" }, [
5029
+ _c(
5030
+ "h2",
5031
+ { staticClass: "nav-tab-wrapper" },
5032
+ [
5033
+ _vm._l(_vm.settingSections, function(section) {
5034
+ return [
5035
+ _c(
5036
+ "a",
5037
+ {
5038
+ staticClass: "nav-tab",
5039
+ class: { "nav-tab-active": _vm.currentTab === section.id },
5040
+ attrs: { href: "#", id: "dokan_general-tab" },
5041
+ on: {
5042
+ click: function($event) {
5043
+ $event.preventDefault()
5044
+ _vm.changeTab(section)
5045
+ }
5046
+ }
5047
+ },
5048
+ [
5049
+ _c("span", { staticClass: "dashicons", class: section.icon }),
5050
+ _vm._v(" " + _vm._s(section.title))
5051
+ ]
5052
+ )
5053
+ ]
5054
+ })
5055
+ ],
5056
+ 2
5057
+ ),
5058
+ _vm._v(" "),
5059
+ _c(
5060
+ "div",
5061
+ { staticClass: "metabox-holder" },
5062
+ [
5063
+ _vm._l(_vm.settingFields, function(fields, index) {
5064
+ return _vm.isLoaded
5065
+ ? [
5066
+ _c(
5067
+ "div",
5068
+ {
5069
+ directives: [
5070
+ {
5071
+ name: "show",
5072
+ rawName: "v-show",
5073
+ value: _vm.currentTab === index,
5074
+ expression: "currentTab===index"
5075
+ }
5076
+ ],
5077
+ staticClass: "group",
5078
+ attrs: { id: index }
5079
+ },
5080
+ [
5081
+ _c(
5082
+ "form",
5083
+ { attrs: { method: "post", action: "options.php" } },
5084
+ [
5085
+ _c("input", {
5086
+ attrs: { type: "hidden", name: "option_page" },
5087
+ domProps: { value: index }
5088
+ }),
5089
+ _vm._v(" "),
5090
+ _c("input", {
5091
+ attrs: {
5092
+ type: "hidden",
5093
+ name: "action",
5094
+ value: "update"
5095
+ }
5096
+ }),
5097
+ _vm._v(" "),
5098
+ _c("h2", [
5099
+ _vm._v(_vm._s(_vm.showSectionTitle(index)))
5100
+ ]),
5101
+ _vm._v(" "),
5102
+ _c("table", { staticClass: "form-table" }, [
5103
+ _c(
5104
+ "tbody",
5105
+ _vm._l(fields, function(field, fieldId) {
5106
+ return _c("fields", {
5107
+ key: fieldId,
5108
+ attrs: {
5109
+ "section-id": index,
5110
+ id: fieldId,
5111
+ "field-data": field,
5112
+ "field-value": _vm.settingValues[index]
5113
+ },
5114
+ on: { openMedia: _vm.showMedia }
5115
+ })
5116
+ })
5117
+ )
5118
+ ]),
5119
+ _vm._v(" "),
5120
+ _c("p", { staticClass: "submit" }, [
5121
+ _c("input", {
5122
+ staticClass: "button button-primary",
5123
+ attrs: {
5124
+ type: "submit",
5125
+ name: "submit",
5126
+ id: "submit",
5127
+ value: "Save Changes"
5128
+ },
5129
+ on: {
5130
+ click: function($event) {
5131
+ $event.preventDefault()
5132
+ _vm.saveSettings(
5133
+ _vm.settingValues[index],
5134
+ index
5135
+ )
5136
+ }
5137
+ }
5138
+ })
5139
+ ])
5140
+ ]
5141
+ )
5142
+ ]
5143
+ )
5144
+ ]
5145
+ : _vm._e()
5146
+ })
5147
+ ],
5148
+ 2
5149
+ ),
5150
+ _vm._v(" "),
5151
+ _vm.showLoading
5152
+ ? _c("div", { staticClass: "loading" }, [_c("loading")], 1)
5153
+ : _vm._e()
5154
+ ])
5155
+ ])
5156
+ }
5157
+ var staticRenderFns = []
5158
+ render._withStripped = true
5159
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
5160
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
5161
+ if (false) {
5162
+ module.hot.accept()
5163
+ if (module.hot.data) {
5164
+ require("vue-hot-reload-api") .rerender("data-v-e4dc4572", esExports)
5165
+ }
5166
+ }
5167
+
5168
+ /***/ }),
5169
+ /* 107 */
5170
+ /***/ (function(module, exports, __webpack_require__) {
5171
+
5172
+ "use strict";
5173
+
5174
+
5175
+ Object.defineProperty(exports, "__esModule", {
5176
+ value: true
5177
+ });
5178
+ /**
5179
+ * As we are using hash based navigation, hack fix
5180
+ * to highlight the current selected menu
5181
+ *
5182
+ * Requires jQuery
5183
+ */
5184
+ function menuFix(slug) {
5185
+ var $ = jQuery;
5186
+
5187
+ var menuRoot = $('#toplevel_page_' + slug);
5188
+ var currentUrl = window.location.href;
5189
+ var currentPath = currentUrl.substr(currentUrl.indexOf('admin.php'));
5190
+
5191
+ menuRoot.on('click', 'a', function () {
5192
+ var self = $(this);
5193
+
5194
+ $('ul.wp-submenu li', menuRoot).removeClass('current');
5195
+
5196
+ if (self.hasClass('wp-has-submenu')) {
5197
+ $('li.wp-first-item', menuRoot).addClass('current');
5198
+ } else {
5199
+ self.parents('li').addClass('current');
5200
+ }
5201
+ });
5202
+
5203
+ $('ul.wp-submenu a', menuRoot).each(function (index, el) {
5204
+ if ($(el).attr('href') === currentPath) {
5205
+ $(el).parent().addClass('current');
5206
+ return;
5207
+ }
5208
+ });
5209
+ }
5210
+
5211
+ exports.default = menuFix;
5212
+
5213
+ /***/ })
5214
+ ],[53]);
assets/js/vue-admin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ dokanWebpack([0],[,,function(t,e,s){"use strict";var a=s(4);e.a={extends:a.Line,props:["data"],data:()=>({options:{responsive:!0,maintainAspectRatio:!1,scales:{xAxes:[{type:"time",scaleLabel:{display:!1},gridLines:{display:!1},ticks:{fontColor:"#aaa",fontSize:11}}],yAxes:[{scaleLabel:{display:!1},ticks:{fontColor:"#aaa"}}]},legend:{position:"top",onClick:!1},elements:{line:{tension:0,borderWidth:4},point:{radius:5,borderWidth:3,backgroundColor:"#fff",borderColor:"#fff"}},tooltips:{displayColors:!1,callbacks:{label:function(t,e){let s=e.datasets[t.datasetIndex].label||"",a=e.datasets[t.datasetIndex].tooltipLabel||"",n=e.datasets[t.datasetIndex].tooltipPrefix||"",o=a?a+": ":s+": ";return o+=n+t.yLabel}}}}}),mounted(){this.renderChart(this.data,this.options)}}},,,,function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s(2),n=s(0)(a.a,null,!1,null,null,null);n.options.__file="src/admin/components/Chart.vue",e.default=n.exports},,,,function(t,e,s){"use strict";e.a={name:"App"}},function(t,e,s){"use strict";var a=s(6);let n=dokan_get_lib("Postbox"),o=dokan_get_lib("Loading");e.a={name:"Dashboard",components:{Postbox:n,Loading:o,Chart:a.default},data:()=>({overview:null,feed:null,report:null}),created(){this.fetchOverview(),this.fetchFeed(),this.fetchReport()},methods:{fetchOverview(){dokan.api.get("/admin/report/summary").done(t=>{this.overview=t})},fetchFeed(){dokan.api.get("/admin/dashboard/feed").done(t=>{this.feed=t})},fetchReport(){dokan.api.get("/admin/report/overview").done(t=>{this.report=t})}}}},function(t,e,s){"use strict";let a=dokan_get_lib("ListTable"),n=dokan_get_lib("Modal");e.a={name:"Withdraw",components:{ListTable:a,Modal:n},data:()=>({showModal:!1,editing:{id:null,note:null},totalPages:1,perPage:10,totalItems:0,counts:{pending:0,approved:0,cancelled:0},notFound:"No requests found.",showCb:!0,loading:!1,columns:{seller:{label:"Vendor"},amount:{label:"Amount"},status:{label:"Status"},method_title:{label:"Method"},method_details:{label:"Details"},note:{label:"Note"},created:{label:"Date"},actions:{label:"Actions"}},requests:[],actionColumn:"seller",actions:[{key:"trash",label:"Delete"},{key:"cancel",label:"Cancel"}],bulkActions:[{key:"approved",label:"Approve"},{key:"cancelled",label:"Cancel"},{key:"delete",label:"Delete"},{key:"paypal",label:"Download PayPal mass payment file"}]}),watch:{"$route.query.status"(){this.fetchRequests()},"$route.query.page"(){this.fetchRequests()}},computed:{currentStatus(){return this.$route.query.status||"pending"},currentPage(){let t=this.$route.query.page||1;return parseInt(t)}},created(){this.fetchRequests()},methods:{updatedCounts(t){this.counts.pending=parseInt(t.getResponseHeader("X-Status-Pending")),this.counts.approved=parseInt(t.getResponseHeader("X-Status-Completed")),this.counts.cancelled=parseInt(t.getResponseHeader("X-Status-Cancelled"))},updatePagination(t){this.totalPages=parseInt(t.getResponseHeader("X-WP-TotalPages")),this.totalItems=parseInt(t.getResponseHeader("X-WP-Total"))},fetchRequests(){this.loading=!0,dokan.api.get("/withdraw?per_page="+this.perPage+"&page="+this.currentPage+"&status="+this.currentStatus).done((t,e,s)=>{this.requests=t,this.loading=!1,this.updatedCounts(s),this.updatePagination(s)})},goToPage(t){this.$router.push({name:"Withdraw",query:{status:this.currentStatus,page:t}})},updateItem(t,e){let s=this.requests.findIndex(e=>e.id==t);this.$set(this.requests,s,e)},changeStatus(t,e){this.loading=!0,dokan.api.put("/withdraw/"+e,{status:t}).done(t=>{this.loading=!1,this.fetchRequests()})},onActionClick(t,e){"cancel"===t&&this.changeStatus("cancelled",e.id),"trash"===t&&confirm("Are you sure?")&&(this.loading=!0,dokan.api.delete("/withdraw/"+e.id).done(t=>{this.loading=!1,this.fetchRequests()}))},getPaymentDetails(t,e){let s="—";return"bank"!==t?s=e[t].email||"":(e.bank.hasOwnProperty("ac_name")&&(s="Account Name: "+e.bank.ac_name),e.bank.hasOwnProperty("ac_number")&&(s+=", Account Number: "+e.bank.ac_number),e.bank.hasOwnProperty("bank_name")&&(s+=", Bank Name: "+e.bank.bank_name),e.bank.hasOwnProperty("routing_number")&&(s+=", Routing Number: "+e.bank.routing_number)),s},moment:t=>moment(t),onBulkAction(t,e){if(_.contains(["delete","approved","cancelled"],t)){let s={};s[t]=e,this.loading=!0,dokan.api.put("/withdraw/batch",s).done(t=>{this.loading=!1,this.fetchRequests()})}if("paypal"===t){let t=e.join("','");$.post(ajaxurl,{dokan_withdraw_bulk:"paypal",id:t,action:"withdraw_ajax_submission"},function(t,e,s){var a="",n=s.getResponseHeader("Content-Disposition");if(n&&-1!==n.indexOf("attachment")){var o=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(n);null!=o&&o[1]&&(a=o[1].replace(/['"]/g,""))}var i=s.getResponseHeader("Content-Type"),r="function"==typeof File?new File([t],a,{type:i}):new Blob([t],{type:i});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(r,a);else{var l=window.URL||window.webkitURL,d=l.createObjectURL(r);if(a){var c=document.createElement("a");void 0===c.download?window.location=d:(c.href=d,c.download=a,document.body.appendChild(c),c.click())}else window.location=d;setTimeout(function(){l.revokeObjectURL(d)},100)}})}},openNoteModal(t,e){this.showModal=!0,this.editing={id:e,note:t}},updateNote(){this.showModal=!1,this.loading=!0,dokan.api.put("/withdraw/"+this.editing.id+"/note",{note:this.editing.note}).done(t=>{this.loading=!1,this.updateItem(this.editing.id,t),this.editing={id:null,note:null}})}}}},function(t,e,s){"use strict";e.a={name:"Premium",data:()=>({features:[{title:"Vendor Listing",desc:"View vendor listing with vendor details and earnings.",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/seller@2x.png?58e47e",class:"seller-listing",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Commission Per Vendor Report",desc:"View commission per vendor with vendor earnings. You can charge your vendors percentage, giving them an e-commerce solution free of any monthly fees.",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/earn@2x.png?58e47e",class:"commission-per-seller-report",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Birds Eye View With Reports",desc:"Every vendor can see his/her own sales report and see a bird eye view on the sales they are making. ",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2017/01/Store-Insights-with-Reports-and-Statement@2x.png?x21811",class:"report-bird-view",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Coupon Management",desc:"Every vendor manages their own products and discounts they offer. create discount coupons for special sales! ",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/coupon@2x.png?58e47e",class:"coupon-management",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Manage Product Reviews",desc:"Each vendor manages their own product reviews independently. Delete, mark as spam or modify the product reviews on the fly.",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/reviews@2x.png?58e47e",class:"manage-product-reviews",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Vendor Profile Completeness",desc:"Dokan manage vendors profile completeness par on vendors dashboard. Vendor can view his/her profile completeness percent by the bar. ",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/Dashboard-profile-completion.png?58e47e",class:"profile-completeness",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Vendor Payment Method Setup",desc:"Vendor can manage there payment methods from their dashboard settings. They can set their withdraw method from there.",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/Dashboard-payment.png?58e47e",class:"payment-method",url:"https://wedevs.com/products/plugins/dokan/"},{title:"Admin Announcement System for Vendor",desc:"Admin can set announcement for vendors from back-end. Admin can choose all vendor or select individuals as he/she wants. the announcement will then show on vendor dashboard which leads to a announcement list template. ",thumbnail:"https://wedevs-com-wedevs.netdna-ssl.com/wp-content/uploads/2014/02/Dashboard-announcement.png?58e47e",class:"announcement",url:"https://wedevs.com/products/plugins/dokan/"}]})}},function(t,e,s){"use strict";let a=dokan_get_lib("Postbox"),n=dokan_get_lib("Loading");e.a={name:"Help",components:{Postbox:a,Loading:n},data:()=>({docs:null}),created(){this.fetch()},methods:{fetch(){dokan.api.get("/admin/help").done(t=>{this.docs=t})}}}},,,,,,,,,,,,,,,,,,,,,,,function(t,e,s){"use strict";var a=i(s(38)),n=i(s(41)),o=i(s(57));function i(t){return t&&t.__esModule?t:{default:t}}new(dokan_get_lib("Vue"))({el:"#dokan-vue-admin",router:n.default,render:function(t){return t(a.default)}}),(0,o.default)("dokan")},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s(10),n=s(40),o=!1;var i=function(t){o||s(39)},r=s(0)(a.a,n.a,!1,i,null,null);r.options.__file="src/admin/App.vue",e.default=r.exports},function(t,e){},function(t,e,s){"use strict";var a=function(){var t=this.$createElement,e=this._self._c||t;return e("div",{attrs:{id:"vue-backend-app"}},[e("router-view"),this._v(" "),e("notifications",{attrs:{position:"bottom right"}})],1)};a._withStripped=!0;var n={render:a,staticRenderFns:[]};e.a=n},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a="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},n=l(s(42)),o=l(s(48)),i=l(s(51)),r=l(s(54));function l(t){return t&&t.__esModule?t:{default:t}}var d=dokan_get_lib("Vue"),c=dokan_get_lib("Router");d.use(c),dokan_add_route(n.default),dokan_add_route(o.default),dokan_add_route(i.default),dokan_add_route(r.default),function t(e){for(var s=0;s<e.length;s++)"object"===a(e[s].children)?(t(e[s].children),void 0!==e[s].component&&(e[s].component=dokan.routeComponents[e[s].component])):e[s].component=dokan.routeComponents[e[s].component]}(dokan.routes),e.default=new c({routes:dokan.routes})},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s(11),n=s(47),o=!1;var i=function(t){o||s(43)},r=s(0)(a.a,n.a,!1,i,null,null);r.options.__file="src/admin/pages/Dashboard.vue",e.default=r.exports},function(t,e){},,,,function(t,e,s){"use strict";var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"dokan-dashboard"},[s("h1",[t._v("Dashboard")]),t._v(" "),s("div",{staticClass:"widgets-wrapper"},[s("div",{staticClass:"left-side"},[s("postbox",{attrs:{title:"At a Glance",extraClass:"dokan-status"}},[null!==t.overview?s("div",{staticClass:"dokan-status"},[s("ul",[s("li",{staticClass:"sale"},[s("div",{staticClass:"dashicons dashicons-chart-bar"}),t._v(" "),s("a",{attrs:{href:"#"}},[s("strong",[t._v(t._s(t._f("currency")(t.overview.orders.this_month)))]),t._v(" "),s("div",{staticClass:"details"},[t._v("\n net sales this month "),s("span",{class:t.overview.orders.class},[t._v(t._s(t.overview.orders.parcent))])])])]),t._v(" "),s("li",{staticClass:"commission"},[s("div",{staticClass:"dashicons dashicons-chart-pie"}),t._v(" "),s("a",{attrs:{href:"#"}},[s("strong",[t._v(t._s(t._f("currency")(t.overview.earning.this_month)))]),t._v(" "),s("div",{staticClass:"details"},[t._v("\n commission earned "),s("span",{class:t.overview.earning.class},[t._v(t._s(t.overview.earning.parcent))])])])]),t._v(" "),s("li",{staticClass:"vendor"},[s("div",{staticClass:"dashicons dashicons-id"}),t._v(" "),s("a",{attrs:{href:"#"}},[s("strong",[t._v(t._s(t.overview.vendors.this_month)+" Vendor")]),t._v(" "),s("div",{staticClass:"details"},[t._v("\n signup this month "),s("span",{class:t.overview.vendors.class},[t._v(t._s(t.overview.vendors.parcent))])])])]),t._v(" "),s("li",{staticClass:"approval"},[s("div",{staticClass:"dashicons dashicons-businessman"}),t._v(" "),s("a",{attrs:{href:"#"}},[s("strong",[t._v(t._s(t.overview.vendors.inactive)+" Vendor")]),t._v(" "),s("div",{staticClass:"details"},[t._v("awaiting approval")])])]),t._v(" "),s("li",{staticClass:"product"},[s("div",{staticClass:"dashicons dashicons-cart"}),t._v(" "),s("a",{attrs:{href:"#"}},[s("strong",[t._v(t._s(t.overview.products.this_month)+" Products")]),t._v(" "),s("div",{staticClass:"details"},[t._v("\n created this month "),s("span",{class:t.overview.products.class},[t._v(t._s(t.overview.products.parcent))])])])]),t._v(" "),s("li",{staticClass:"withdraw"},[s("div",{staticClass:"dashicons dashicons-money"}),t._v(" "),s("a",{attrs:{href:"#"}},[s("strong",[t._v(t._s(t.overview.withdraw.pending)+" Withdrawals")]),t._v(" "),s("div",{staticClass:"details"},[t._v("awaiting approval")])])])])]):s("div",{staticClass:"loading"},[s("loading")],1)]),t._v(" "),s("postbox",{attrs:{title:"Dokan News Updates"}},[null!==t.feed?s("div",{staticClass:"rss-widget"},[s("ul",t._l(t.feed,function(e){return s("li",[s("a",{attrs:{href:e.link+"?utm_source=wp-admin&utm_campaign=dokan-news",target:"_blank"}},[t._v(t._s(e.title))])])}))]):s("div",{staticClass:"loading"},[s("loading")],1)])],1),t._v(" "),s("div",{staticClass:"right-side"},[s("postbox",{attrs:{title:"Overview"}},[null!==t.report?s("chart",{attrs:{data:t.report}}):s("div",{staticClass:"loading"},[s("loading")],1)],1)],1)])])};a._withStripped=!0;var n={render:a,staticRenderFns:[]};e.a=n},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s(12),n=s(50),o=!1;var i=function(t){o||s(49)},r=s(0)(a.a,n.a,!1,i,null,null);r.options.__file="src/admin/pages/Withdraw.vue",e.default=r.exports},function(t,e){},function(t,e,s){"use strict";var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"withdraw-requests"},[s("h1",[t._v("Withdraw Requests")]),t._v(" "),t.showModal?s("modal",{attrs:{title:"Update Note"},on:{close:function(e){t.showModal=!1}}},[s("template",{slot:"body"},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.editing.note,expression:"editing.note"}],attrs:{rows:"3"},domProps:{value:t.editing.note},on:{input:function(e){e.target.composing||t.$set(t.editing,"note",e.target.value)}}})]),t._v(" "),s("template",{slot:"footer"},[s("button",{staticClass:"button button-primary button-large",on:{click:function(e){t.updateNote()}}},[t._v("Update Note")])])],2):t._e(),t._v(" "),s("ul",{staticClass:"subsubsub"},[s("li",[s("router-link",{attrs:{to:{name:"Withdraw",query:{status:"pending"}},"active-class":"current",exact:""}},[t._v("Pending "),s("span",{staticClass:"count"},[t._v("("+t._s(t.counts.pending)+")")])]),t._v(" | ")],1),t._v(" "),s("li",[s("router-link",{attrs:{to:{name:"Withdraw",query:{status:"approved"}},"active-class":"current",exact:""}},[t._v("Approved "),s("span",{staticClass:"count"},[t._v("("+t._s(t.counts.approved)+")")])]),t._v(" | ")],1),t._v(" "),s("li",[s("router-link",{attrs:{to:{name:"Withdraw",query:{status:"cancelled"}},"active-class":"current",exact:""}},[t._v("Cancelled "),s("span",{staticClass:"count"},[t._v("("+t._s(t.counts.cancelled)+")")])])],1)]),t._v(" "),s("list-table",{attrs:{columns:t.columns,rows:t.requests,loading:t.loading,"action-column":t.actionColumn,actions:t.actions,"show-cb":t.showCb,"bulk-actions":t.bulkActions,"not-found":t.notFound,"total-pages":t.totalPages,"total-items":t.totalItems,"per-page":t.perPage,"current-page":t.currentPage},on:{pagination:t.goToPage,"action:click":t.onActionClick,"bulk:click":t.onBulkAction},scopedSlots:t._u([{key:"seller",fn:function(e){return[s("img",{attrs:{src:e.row.user.gravatar,alt:e.row.user.store_name,width:"50"}}),t._v(" "),s("strong",[s("a",{attrs:{href:"#"}},[t._v(t._s(e.row.user.store_name))])])]}},{key:"amount",fn:function(e){return[t._v("\n "+t._s(t._f("currency")(e.row.amount))+"\n ")]}},{key:"status",fn:function(e){return[s("span",{class:e.row.status},[t._v(t._s(t._f("capitalize")(e.row.status)))])]}},{key:"created",fn:function(e){return[t._v("\n "+t._s(t.moment(e.row.created).format("MMM D, YYYY"))+"\n ")]}},{key:"method_details",fn:function(e){return[t._v("\n "+t._s(t.getPaymentDetails(e.row.method,e.row.user.payment))+"\n ")]}},{key:"actions",fn:function(e){return["pending"===e.row.status?[s("div",{staticClass:"button-group"},[s("button",{staticClass:"button button-small",attrs:{title:"Approve Request"},on:{click:function(s){s.preventDefault(),t.changeStatus("approved",e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-yes"})]),t._v(" "),s("button",{staticClass:"button button-small",attrs:{title:"Add Note"},on:{click:function(s){s.preventDefault(),t.openNoteModal(e.row.note,e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-testimonial"})])])]:"approved"===e.row.status?[s("div",{staticClass:"button-group"},[s("button",{staticClass:"button button-small",attrs:{title:"Mark as Pending"},on:{click:function(s){s.preventDefault(),t.changeStatus("pending",e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-backup"})]),t._v(" "),s("button",{staticClass:"button button-small",attrs:{title:"Add Note"},on:{click:function(s){s.preventDefault(),t.openNoteModal(e.row.note,e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-testimonial"})])])]:[s("div",{staticClass:"button-group"},[s("button",{staticClass:"button button-small",attrs:{title:"Approve Request"},on:{click:function(s){s.preventDefault(),t.changeStatus("approved",e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-yes"})]),t._v(" "),s("button",{staticClass:"button button-small",attrs:{title:"Mark as Pending"},on:{click:function(s){s.preventDefault(),t.changeStatus("pending",e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-backup"})]),t._v(" "),s("button",{staticClass:"button button-small",attrs:{title:"Add Note"},on:{click:function(s){s.preventDefault(),t.openNoteModal(e.row.note,e.row.id)}}},[s("span",{staticClass:"dashicons dashicons-testimonial"})])])]]}}])})],1)};a._withStripped=!0;var n={render:a,staticRenderFns:[]};e.a=n},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s(13),n=s(53),o=!1;var i=function(t){o||s(52)},r=s(0)(a.a,n.a,!1,i,null,null);r.options.__file="src/admin/pages/Premium.vue",e.default=r.exports},function(t,e){},function(t,e,s){"use strict";var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"dokan-pro-features"},[s("h1",[t._v("Dokan - Pro Features")]),t._v(" "),s("div",{staticClass:"pro-feature-wrap"},t._l(t.features,function(e){return s("div",{staticClass:"pro-feature"},[s("div",{staticClass:"pro-feature-thumb"},[s("a",{attrs:{href:e.url,target:"_blank"}},[s("img",{attrs:{src:e.thumbnail,alt:e.title}})])]),t._v(" "),s("div",{staticClass:"pro-detail"},[s("h3",{staticClass:"title"},[s("a",{attrs:{href:e.url,target:"_blank"}},[t._v(t._s(e.title))])]),t._v(" "),s("div",{staticClass:"text"},[t._v(t._s(e.desc))])])])}))])};a._withStripped=!0;var n={render:a,staticRenderFns:[]};e.a=n},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=s(14),n=s(56),o=!1;var i=function(t){o||s(55)},r=s(0)(a.a,n.a,!1,i,null,null);r.options.__file="src/admin/pages/Help.vue",e.default=r.exports},function(t,e){},function(t,e,s){"use strict";var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"dokan-help-page"},[s("h1",[t._v("Help")]),t._v(" "),null!==t.docs?s("div",{staticClass:"section-wrapper"},t._l(t.docs,function(e){return s("postbox",{attrs:{title:e.title}},[s("ul",t._l(e.questions,function(e){return s("li",[s("span",{staticClass:"dashicons dashicons-media-text"}),t._v(" "),s("a",{attrs:{href:e.link+"?utm_source=wp-admin&utm_medium=dokan-help-page",target:"_blank"}},[t._v(t._s(e.title))])])}))])})):s("div",{staticClass:"loading"},[s("loading")],1)])};a._withStripped=!0;var n={render:a,staticRenderFns:[]};e.a=n},function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=jQuery,s=e("#toplevel_page_"+t),a=window.location.href,n=a.substr(a.indexOf("admin.php"));s.on("click","a",function(){var t=e(this);e("ul.wp-submenu li",s).removeClass("current"),t.hasClass("wp-has-submenu")?e("li.wp-first-item",s).addClass("current"):t.parents("li").addClass("current")}),e("ul.wp-submenu a",s).each(function(t,s){e(s).attr("href")!==n||e(s).parent().addClass("current")})}}],[37]);
assets/js/vue-bootstrap.js ADDED
@@ -0,0 +1,1409 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dokanWebpack([1],{
2
+
3
+ /***/ 108:
4
+ /***/ (function(module, exports, __webpack_require__) {
5
+
6
+ "use strict";
7
+
8
+
9
+ var _vue = __webpack_require__(1);
10
+
11
+ var _vue2 = _interopRequireDefault(_vue);
12
+
13
+ var _vueRouter = __webpack_require__(6);
14
+
15
+ var _vueRouter2 = _interopRequireDefault(_vueRouter);
16
+
17
+ var _moment = __webpack_require__(109);
18
+
19
+ var _moment2 = _interopRequireDefault(_moment);
20
+
21
+ var _vueNotification = __webpack_require__(30);
22
+
23
+ var _vueNotification2 = _interopRequireDefault(_vueNotification);
24
+
25
+ var _vueWpListTable = __webpack_require__(31);
26
+
27
+ var _vueWpListTable2 = _interopRequireDefault(_vueWpListTable);
28
+
29
+ var _vueMultiselect = __webpack_require__(33);
30
+
31
+ var _vueMultiselect2 = _interopRequireDefault(_vueMultiselect);
32
+
33
+ var _Api = __webpack_require__(113);
34
+
35
+ var _Api2 = _interopRequireDefault(_Api);
36
+
37
+ var _vueChartjs = __webpack_require__(4);
38
+
39
+ var _vueChartjs2 = _interopRequireDefault(_vueChartjs);
40
+
41
+ var _Mixin = __webpack_require__(114);
42
+
43
+ var _Mixin2 = _interopRequireDefault(_Mixin);
44
+
45
+ var _vueContentLoading = __webpack_require__(34);
46
+
47
+ var _Postbox = __webpack_require__(116);
48
+
49
+ var _Postbox2 = _interopRequireDefault(_Postbox);
50
+
51
+ var _Loading = __webpack_require__(119);
52
+
53
+ var _Loading2 = _interopRequireDefault(_Loading);
54
+
55
+ var _Chart = __webpack_require__(7);
56
+
57
+ var _Chart2 = _interopRequireDefault(_Chart);
58
+
59
+ var _Modal = __webpack_require__(122);
60
+
61
+ var _Modal2 = _interopRequireDefault(_Modal);
62
+
63
+ var _Switches = __webpack_require__(125);
64
+
65
+ var _Switches2 = _interopRequireDefault(_Switches);
66
+
67
+ var _TextEditor = __webpack_require__(128);
68
+
69
+ var _TextEditor2 = _interopRequireDefault(_TextEditor);
70
+
71
+ __webpack_require__(130);
72
+
73
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
74
+
75
+ window.__ = function (text, domain) {
76
+ return __(text, domain);
77
+ };
78
+
79
+ // core components
80
+
81
+
82
+ _vue2.default.use(_vueNotification2.default);
83
+ _vue2.default.component('multiselect', _vueMultiselect2.default);
84
+
85
+ _vue2.default.mixin(_Mixin2.default);
86
+
87
+ _vue2.default.filter('currency', function (value) {
88
+ return accounting.formatMoney(value, dokan.currency);
89
+ });
90
+
91
+ _vue2.default.filter('capitalize', function (value) {
92
+ if (!value) return '';
93
+ value = value.toString();
94
+ return value.charAt(0).toUpperCase() + value.slice(1);
95
+ });
96
+
97
+ // Tooltip directive
98
+ _vue2.default.directive('tooltip', {
99
+ bind: function bind(el, binding, vnode) {
100
+ $(el).tooltip('show');
101
+ },
102
+ unbind: function unbind(el, binding, vnode) {
103
+ $(el).tooltip('destroy');
104
+ }
105
+ });
106
+
107
+ window.dokan_get_lib = function (lib) {
108
+ return window.dokan.libs[lib];
109
+ };
110
+
111
+ window.dokan_add_route = function (component) {
112
+ window.dokan.routeComponents[component.name] = component;
113
+ };
114
+
115
+ // setup global Dokan libraries
116
+ window.dokan.api = new _Api2.default();
117
+ window.dokan.libs['Vue'] = _vue2.default;
118
+ window.dokan.libs['Router'] = _vueRouter2.default;
119
+ window.dokan.libs['moment'] = _moment2.default;
120
+
121
+ window.dokan.libs['ListTable'] = _vueWpListTable2.default;
122
+ window.dokan.libs['Postbox'] = _Postbox2.default;
123
+ window.dokan.libs['Loading'] = _Loading2.default;
124
+ window.dokan.libs['ChartJS'] = _vueChartjs2.default;
125
+ window.dokan.libs['Chart'] = _Chart2.default;
126
+ window.dokan.libs['Modal'] = _Modal2.default;
127
+ window.dokan.libs['Switches'] = _Switches2.default;
128
+ window.dokan.libs['TextEditor'] = _TextEditor2.default;
129
+ window.dokan.libs['ContentLoading'] = {
130
+ VclCode: _vueContentLoading.VclCode,
131
+ VclList: _vueContentLoading.VclList,
132
+ VclTwitch: _vueContentLoading.VclTwitch,
133
+ VclFacebook: _vueContentLoading.VclFacebook,
134
+ VclInstagram: _vueContentLoading.VclInstagram,
135
+ VclBulletList: _vueContentLoading.VclBulletList,
136
+ VueContentLoading: _vueContentLoading.VueContentLoading
137
+ };
138
+
139
+ /***/ }),
140
+
141
+ /***/ 109:
142
+ /***/ (function(module, exports) {
143
+
144
+ module.exports = moment;
145
+
146
+ /***/ }),
147
+
148
+ /***/ 113:
149
+ /***/ (function(module, exports, __webpack_require__) {
150
+
151
+ "use strict";
152
+
153
+
154
+ Object.defineProperty(exports, "__esModule", {
155
+ value: true
156
+ });
157
+
158
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
159
+
160
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
161
+
162
+ var Dokan_API = function () {
163
+ function Dokan_API() {
164
+ _classCallCheck(this, Dokan_API);
165
+ }
166
+
167
+ _createClass(Dokan_API, [{
168
+ key: 'endpoint',
169
+ value: function endpoint() {
170
+ return window.dokan.rest.root + window.dokan.rest.version;
171
+ }
172
+ }, {
173
+ key: 'headers',
174
+ value: function headers() {
175
+ return {};
176
+ }
177
+ }, {
178
+ key: 'get',
179
+ value: function get(path) {
180
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
181
+
182
+ return this.ajax(path, 'GET', this.headers(), data);
183
+ }
184
+ }, {
185
+ key: 'post',
186
+ value: function post(path) {
187
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
188
+
189
+ return this.ajax(path, 'POST', this.headers(), data);
190
+ }
191
+ }, {
192
+ key: 'put',
193
+ value: function put(path) {
194
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
195
+
196
+ return this.ajax(path, 'PUT', this.headers(), data);
197
+ }
198
+ }, {
199
+ key: 'delete',
200
+ value: function _delete(path) {
201
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
202
+
203
+ return this.ajax(path, 'DELETE', this.headers(), data);
204
+ }
205
+
206
+ // jQuery ajax wrapper
207
+
208
+ }, {
209
+ key: 'ajax',
210
+ value: function ajax(path, method, headers, data) {
211
+
212
+ return jQuery.ajax({
213
+ url: this.endpoint() + path,
214
+ beforeSend: function beforeSend(xhr) {
215
+ xhr.setRequestHeader('X-WP-Nonce', window.dokan.rest.nonce);
216
+ },
217
+ type: method,
218
+ data: data
219
+ });
220
+ }
221
+ }]);
222
+
223
+ return Dokan_API;
224
+ }();
225
+
226
+ exports.default = Dokan_API;
227
+
228
+ /***/ }),
229
+
230
+ /***/ 114:
231
+ /***/ (function(module, exports, __webpack_require__) {
232
+
233
+ "use strict";
234
+
235
+
236
+ Object.defineProperty(exports, "__esModule", {
237
+ value: true
238
+ });
239
+
240
+ var _i18n = __webpack_require__(115);
241
+
242
+ exports.default = {
243
+ methods: {
244
+ setLocaleData: function setLocaleData(data) {
245
+ return (0, _i18n.setLocaleData)(data);
246
+ },
247
+ __: function __(text, domain) {
248
+ return (0, _i18n.__)(text, domain);
249
+ },
250
+ _nx: function _nx(single, plural, number, context, domain) {
251
+ return (0, _i18n._nx)(single, plural, number, context, domain);
252
+ },
253
+ __n: function __n(single, plural, number, domain) {
254
+ return _n(single, plural, number, domain);
255
+ },
256
+ sprintf: function sprintf(fmt) {
257
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
258
+ args[_key - 1] = arguments[_key];
259
+ }
260
+
261
+ return _i18n.sprintf.apply(undefined, [fmt].concat(args));
262
+ }
263
+ }
264
+ };
265
+
266
+ /***/ }),
267
+
268
+ /***/ 115:
269
+ /***/ (function(module, exports, __webpack_require__) {
270
+
271
+ "use strict";
272
+
273
+
274
+ Object.defineProperty(exports, "__esModule", {
275
+ value: true
276
+ });
277
+ exports.setLocaleData = setLocaleData;
278
+ exports.getI18n = getI18n;
279
+ exports.__ = __;
280
+ exports._x = _x;
281
+ exports._n = _n;
282
+ exports._nx = _nx;
283
+ /**
284
+ * External dependencies
285
+ */
286
+ var i18n = {};
287
+
288
+ /**
289
+ * Creates a new Jed instance with specified locale data configuration.
290
+ *
291
+ * @see http://messageformat.github.io/Jed/
292
+ *
293
+ * @param {Object} data Locale data configuration.
294
+ */
295
+ function setLocaleData(data) {
296
+ var jed = new Jed(data);
297
+ i18n[jed._textdomain] = jed;
298
+ }
299
+
300
+ /**
301
+ * Returns the current Jed instance, initializing with a default configuration
302
+ * if not already assigned.
303
+ *
304
+ * @return {Jed} Jed instance.
305
+ */
306
+ function getI18n() {
307
+ var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
308
+
309
+ if (!i18n[domain]) {
310
+ setLocaleData({ '': {} });
311
+ }
312
+
313
+ return i18n[domain];
314
+ }
315
+
316
+ /**
317
+ * Retrieve the translation of text.
318
+ *
319
+ * @see https://developer.wordpress.org/reference/functions/__/
320
+ *
321
+ * @param {string} text Text to translate.
322
+ * @param {string} domain Domain to retrieve the translated text.
323
+ *
324
+ * @return {string} Translated text.
325
+ */
326
+ function __(text, domain) {
327
+ return getI18n(domain) ? getI18n(domain).dgettext(domain, text) : text;
328
+ }
329
+
330
+ /**
331
+ * Retrieve translated string with gettext context.
332
+ *
333
+ * @see https://developer.wordpress.org/reference/functions/_x/
334
+ *
335
+ * @param {string} text Text to translate.
336
+ * @param {string} context Context information for the translators.
337
+ * @param {string} domain Domain to retrieve the translated text.
338
+ *
339
+ * @return {string} Translated context string without pipe.
340
+ */
341
+ function _x(text, context, domain) {
342
+ return getI18n(domain).dpgettext(domain, context, text);
343
+ }
344
+
345
+ /**
346
+ * Translates and retrieves the singular or plural form based on the supplied
347
+ * number.
348
+ *
349
+ * @see https://developer.wordpress.org/reference/functions/_n/
350
+ *
351
+ * @param {string} single The text to be used if the number is singular.
352
+ * @param {string} plural The text to be used if the number is plural.
353
+ * @param {number} number The number to compare against to use either the
354
+ * singular or plural form.
355
+ * @param {string} domain Domain to retrieve the translated text.
356
+ *
357
+ * @return {string} The translated singular or plural form.
358
+ */
359
+ function _n(single, plural, number, domain) {
360
+ return getI18n(domain).dngettext(domain, single, plural, number);
361
+ }
362
+
363
+ /**
364
+ * Translates and retrieves the singular or plural form based on the supplied
365
+ * number, with gettext context.
366
+ *
367
+ * @see https://developer.wordpress.org/reference/functions/_nx/
368
+ *
369
+ * @param {string} single The text to be used if the number is singular.
370
+ * @param {string} plural The text to be used if the number is plural.
371
+ * @param {number} number The number to compare against to use either the
372
+ * singular or plural form.
373
+ * @param {string} context Context information for the translators.
374
+ * @param {string} domain Domain to retrieve the translated text.
375
+ *
376
+ * @return {string} The translated singular or plural form.
377
+ */
378
+ function _nx(single, plural, number, context, domain) {
379
+ return getI18n(domain).dnpgettext(domain, context, single, plural, number);
380
+ }
381
+
382
+ /**
383
+ * Returns a formatted string.
384
+ *
385
+ * @see http://www.diveintojavascript.com/projects/javascript-sprintf
386
+ *
387
+ * @type {string}
388
+ */
389
+ var sprintf = exports.sprintf = Jed.sprintf;
390
+
391
+ /***/ }),
392
+
393
+ /***/ 116:
394
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
395
+
396
+ "use strict";
397
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
398
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Postbox_vue__ = __webpack_require__(35);
399
+ /* empty harmony namespace reexport */
400
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_36a997ab_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Postbox_vue__ = __webpack_require__(118);
401
+ var disposed = false
402
+ function injectStyle (ssrContext) {
403
+ if (disposed) return
404
+ __webpack_require__(117)
405
+ }
406
+ var normalizeComponent = __webpack_require__(0)
407
+ /* script */
408
+
409
+
410
+ /* template */
411
+
412
+ /* template functional */
413
+ var __vue_template_functional__ = false
414
+ /* styles */
415
+ var __vue_styles__ = injectStyle
416
+ /* scopeId */
417
+ var __vue_scopeId__ = null
418
+ /* moduleIdentifier (server only) */
419
+ var __vue_module_identifier__ = null
420
+ var Component = normalizeComponent(
421
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Postbox_vue__["a" /* default */],
422
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_36a997ab_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Postbox_vue__["a" /* default */],
423
+ __vue_template_functional__,
424
+ __vue_styles__,
425
+ __vue_scopeId__,
426
+ __vue_module_identifier__
427
+ )
428
+ Component.options.__file = "src/admin/components/Postbox.vue"
429
+
430
+ /* hot reload */
431
+ if (false) {(function () {
432
+ var hotAPI = require("vue-hot-reload-api")
433
+ hotAPI.install(require("vue"), false)
434
+ if (!hotAPI.compatible) return
435
+ module.hot.accept()
436
+ if (!module.hot.data) {
437
+ hotAPI.createRecord("data-v-36a997ab", Component.options)
438
+ } else {
439
+ hotAPI.reload("data-v-36a997ab", Component.options)
440
+ }
441
+ module.hot.dispose(function (data) {
442
+ disposed = true
443
+ })
444
+ })()}
445
+
446
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
447
+
448
+
449
+ /***/ }),
450
+
451
+ /***/ 117:
452
+ /***/ (function(module, exports) {
453
+
454
+ // removed by extract-text-webpack-plugin
455
+
456
+ /***/ }),
457
+
458
+ /***/ 118:
459
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
460
+
461
+ "use strict";
462
+ var render = function() {
463
+ var _vm = this
464
+ var _h = _vm.$createElement
465
+ var _c = _vm._self._c || _h
466
+ return _c(
467
+ "div",
468
+ {
469
+ class: [
470
+ "postbox",
471
+ "dokan-postbox",
472
+ { closed: !_vm.showing },
473
+ _vm.extraClass
474
+ ]
475
+ },
476
+ [
477
+ _c(
478
+ "button",
479
+ {
480
+ staticClass: "handlediv",
481
+ attrs: { type: "button", "aria-expanded": "false" },
482
+ on: {
483
+ click: function($event) {
484
+ _vm.showing = !_vm.showing
485
+ }
486
+ }
487
+ },
488
+ [
489
+ _c("span", {
490
+ staticClass: "toggle-indicator",
491
+ attrs: { "aria-hidden": "true" }
492
+ })
493
+ ]
494
+ ),
495
+ _vm._v(" "),
496
+ _c("h2", { staticClass: "hndle" }, [
497
+ _c("span", [_vm._v(_vm._s(_vm.title))])
498
+ ]),
499
+ _vm._v(" "),
500
+ _c("div", { staticClass: "inside" }, [
501
+ _c("div", { staticClass: "main" }, [_vm._t("default")], 2)
502
+ ])
503
+ ]
504
+ )
505
+ }
506
+ var staticRenderFns = []
507
+ render._withStripped = true
508
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
509
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
510
+ if (false) {
511
+ module.hot.accept()
512
+ if (module.hot.data) {
513
+ require("vue-hot-reload-api") .rerender("data-v-36a997ab", esExports)
514
+ }
515
+ }
516
+
517
+ /***/ }),
518
+
519
+ /***/ 119:
520
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
521
+
522
+ "use strict";
523
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
524
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Loading_vue__ = __webpack_require__(36);
525
+ /* empty harmony namespace reexport */
526
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_67db673c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Loading_vue__ = __webpack_require__(121);
527
+ var disposed = false
528
+ function injectStyle (ssrContext) {
529
+ if (disposed) return
530
+ __webpack_require__(120)
531
+ }
532
+ var normalizeComponent = __webpack_require__(0)
533
+ /* script */
534
+
535
+
536
+ /* template */
537
+
538
+ /* template functional */
539
+ var __vue_template_functional__ = false
540
+ /* styles */
541
+ var __vue_styles__ = injectStyle
542
+ /* scopeId */
543
+ var __vue_scopeId__ = null
544
+ /* moduleIdentifier (server only) */
545
+ var __vue_module_identifier__ = null
546
+ var Component = normalizeComponent(
547
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Loading_vue__["a" /* default */],
548
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_67db673c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Loading_vue__["a" /* default */],
549
+ __vue_template_functional__,
550
+ __vue_styles__,
551
+ __vue_scopeId__,
552
+ __vue_module_identifier__
553
+ )
554
+ Component.options.__file = "src/admin/components/Loading.vue"
555
+
556
+ /* hot reload */
557
+ if (false) {(function () {
558
+ var hotAPI = require("vue-hot-reload-api")
559
+ hotAPI.install(require("vue"), false)
560
+ if (!hotAPI.compatible) return
561
+ module.hot.accept()
562
+ if (!module.hot.data) {
563
+ hotAPI.createRecord("data-v-67db673c", Component.options)
564
+ } else {
565
+ hotAPI.reload("data-v-67db673c", Component.options)
566
+ }
567
+ module.hot.dispose(function (data) {
568
+ disposed = true
569
+ })
570
+ })()}
571
+
572
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
573
+
574
+
575
+ /***/ }),
576
+
577
+ /***/ 120:
578
+ /***/ (function(module, exports) {
579
+
580
+ // removed by extract-text-webpack-plugin
581
+
582
+ /***/ }),
583
+
584
+ /***/ 121:
585
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
586
+
587
+ "use strict";
588
+ var render = function() {
589
+ var _vm = this
590
+ var _h = _vm.$createElement
591
+ var _c = _vm._self._c || _h
592
+ return _vm._m(0)
593
+ }
594
+ var staticRenderFns = [
595
+ function() {
596
+ var _vm = this
597
+ var _h = _vm.$createElement
598
+ var _c = _vm._self._c || _h
599
+ return _c("div", { staticClass: "dokan-loader" }, [_c("div"), _c("div")])
600
+ }
601
+ ]
602
+ render._withStripped = true
603
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
604
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
605
+ if (false) {
606
+ module.hot.accept()
607
+ if (module.hot.data) {
608
+ require("vue-hot-reload-api") .rerender("data-v-67db673c", esExports)
609
+ }
610
+ }
611
+
612
+ /***/ }),
613
+
614
+ /***/ 122:
615
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
616
+
617
+ "use strict";
618
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
619
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Modal_vue__ = __webpack_require__(37);
620
+ /* empty harmony namespace reexport */
621
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4bd79a2d_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Modal_vue__ = __webpack_require__(124);
622
+ var disposed = false
623
+ function injectStyle (ssrContext) {
624
+ if (disposed) return
625
+ __webpack_require__(123)
626
+ }
627
+ var normalizeComponent = __webpack_require__(0)
628
+ /* script */
629
+
630
+
631
+ /* template */
632
+
633
+ /* template functional */
634
+ var __vue_template_functional__ = false
635
+ /* styles */
636
+ var __vue_styles__ = injectStyle
637
+ /* scopeId */
638
+ var __vue_scopeId__ = null
639
+ /* moduleIdentifier (server only) */
640
+ var __vue_module_identifier__ = null
641
+ var Component = normalizeComponent(
642
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Modal_vue__["a" /* default */],
643
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4bd79a2d_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Modal_vue__["a" /* default */],
644
+ __vue_template_functional__,
645
+ __vue_styles__,
646
+ __vue_scopeId__,
647
+ __vue_module_identifier__
648
+ )
649
+ Component.options.__file = "src/admin/components/Modal.vue"
650
+
651
+ /* hot reload */
652
+ if (false) {(function () {
653
+ var hotAPI = require("vue-hot-reload-api")
654
+ hotAPI.install(require("vue"), false)
655
+ if (!hotAPI.compatible) return
656
+ module.hot.accept()
657
+ if (!module.hot.data) {
658
+ hotAPI.createRecord("data-v-4bd79a2d", Component.options)
659
+ } else {
660
+ hotAPI.reload("data-v-4bd79a2d", Component.options)
661
+ }
662
+ module.hot.dispose(function (data) {
663
+ disposed = true
664
+ })
665
+ })()}
666
+
667
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
668
+
669
+
670
+ /***/ }),
671
+
672
+ /***/ 123:
673
+ /***/ (function(module, exports) {
674
+
675
+ // removed by extract-text-webpack-plugin
676
+
677
+ /***/ }),
678
+
679
+ /***/ 124:
680
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
681
+
682
+ "use strict";
683
+ var render = function() {
684
+ var _vm = this
685
+ var _h = _vm.$createElement
686
+ var _c = _vm._self._c || _h
687
+ return _c("div", { staticClass: "dokan-modal-dialog" }, [
688
+ _c("div", { staticClass: "dokan-modal" }, [
689
+ _c("div", { staticClass: "dokan-modal-content" }, [
690
+ _c(
691
+ "section",
692
+ { class: ["dokan-modal-main", { "has-footer": _vm.footer }] },
693
+ [
694
+ _c(
695
+ "header",
696
+ { staticClass: "modal-header" },
697
+ [
698
+ _vm._t("header", [_c("h1", [_vm._v(_vm._s(_vm.title))])]),
699
+ _vm._v(" "),
700
+ _c(
701
+ "button",
702
+ {
703
+ staticClass:
704
+ "modal-close modal-close-link dashicons dashicons-no-alt",
705
+ on: {
706
+ click: function($event) {
707
+ _vm.$emit("close")
708
+ }
709
+ }
710
+ },
711
+ [
712
+ _c("span", { staticClass: "screen-reader-text" }, [
713
+ _vm._v(_vm._s(_vm.__("Close modal panel", "dokan-lite")))
714
+ ])
715
+ ]
716
+ )
717
+ ],
718
+ 2
719
+ ),
720
+ _vm._v(" "),
721
+ _c("div", { staticClass: "modal-body" }, [_vm._t("body")], 2),
722
+ _vm._v(" "),
723
+ _vm.footer
724
+ ? _c("footer", { staticClass: "modal-footer" }, [
725
+ _c("div", { staticClass: "inner" }, [_vm._t("footer")], 2)
726
+ ])
727
+ : _vm._e()
728
+ ]
729
+ )
730
+ ])
731
+ ]),
732
+ _vm._v(" "),
733
+ _c("div", { staticClass: "dokan-modal-backdrop" })
734
+ ])
735
+ }
736
+ var staticRenderFns = []
737
+ render._withStripped = true
738
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
739
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
740
+ if (false) {
741
+ module.hot.accept()
742
+ if (module.hot.data) {
743
+ require("vue-hot-reload-api") .rerender("data-v-4bd79a2d", esExports)
744
+ }
745
+ }
746
+
747
+ /***/ }),
748
+
749
+ /***/ 125:
750
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
751
+
752
+ "use strict";
753
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
754
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Switches_vue__ = __webpack_require__(38);
755
+ /* empty harmony namespace reexport */
756
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_aa8ad7dc_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Switches_vue__ = __webpack_require__(127);
757
+ var disposed = false
758
+ function injectStyle (ssrContext) {
759
+ if (disposed) return
760
+ __webpack_require__(126)
761
+ }
762
+ var normalizeComponent = __webpack_require__(0)
763
+ /* script */
764
+
765
+
766
+ /* template */
767
+
768
+ /* template functional */
769
+ var __vue_template_functional__ = false
770
+ /* styles */
771
+ var __vue_styles__ = injectStyle
772
+ /* scopeId */
773
+ var __vue_scopeId__ = null
774
+ /* moduleIdentifier (server only) */
775
+ var __vue_module_identifier__ = null
776
+ var Component = normalizeComponent(
777
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Switches_vue__["a" /* default */],
778
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_aa8ad7dc_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Switches_vue__["a" /* default */],
779
+ __vue_template_functional__,
780
+ __vue_styles__,
781
+ __vue_scopeId__,
782
+ __vue_module_identifier__
783
+ )
784
+ Component.options.__file = "src/admin/components/Switches.vue"
785
+
786
+ /* hot reload */
787
+ if (false) {(function () {
788
+ var hotAPI = require("vue-hot-reload-api")
789
+ hotAPI.install(require("vue"), false)
790
+ if (!hotAPI.compatible) return
791
+ module.hot.accept()
792
+ if (!module.hot.data) {
793
+ hotAPI.createRecord("data-v-aa8ad7dc", Component.options)
794
+ } else {
795
+ hotAPI.reload("data-v-aa8ad7dc", Component.options)
796
+ }
797
+ module.hot.dispose(function (data) {
798
+ disposed = true
799
+ })
800
+ })()}
801
+
802
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
803
+
804
+
805
+ /***/ }),
806
+
807
+ /***/ 126:
808
+ /***/ (function(module, exports) {
809
+
810
+ // removed by extract-text-webpack-plugin
811
+
812
+ /***/ }),
813
+
814
+ /***/ 127:
815
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
816
+
817
+ "use strict";
818
+ var render = function() {
819
+ var _vm = this
820
+ var _h = _vm.$createElement
821
+ var _c = _vm._self._c || _h
822
+ return _c("label", { staticClass: "switch tips" }, [
823
+ _c("input", {
824
+ staticClass: "toogle-checkbox",
825
+ attrs: { type: "checkbox" },
826
+ domProps: { checked: _vm.enabled, value: _vm.value },
827
+ on: { change: _vm.trigger }
828
+ }),
829
+ _vm._v(" "),
830
+ _c("span", { staticClass: "slider round" })
831
+ ])
832
+ }
833
+ var staticRenderFns = []
834
+ render._withStripped = true
835
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
836
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
837
+ if (false) {
838
+ module.hot.accept()
839
+ if (module.hot.data) {
840
+ require("vue-hot-reload-api") .rerender("data-v-aa8ad7dc", esExports)
841
+ }
842
+ }
843
+
844
+ /***/ }),
845
+
846
+ /***/ 128:
847
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
848
+
849
+ "use strict";
850
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
851
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_TextEditor_vue__ = __webpack_require__(39);
852
+ /* empty harmony namespace reexport */
853
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_70730fac_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_TextEditor_vue__ = __webpack_require__(129);
854
+ var disposed = false
855
+ var normalizeComponent = __webpack_require__(0)
856
+ /* script */
857
+
858
+
859
+ /* template */
860
+
861
+ /* template functional */
862
+ var __vue_template_functional__ = false
863
+ /* styles */
864
+ var __vue_styles__ = null
865
+ /* scopeId */
866
+ var __vue_scopeId__ = null
867
+ /* moduleIdentifier (server only) */
868
+ var __vue_module_identifier__ = null
869
+ var Component = normalizeComponent(
870
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_TextEditor_vue__["a" /* default */],
871
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_70730fac_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_TextEditor_vue__["a" /* default */],
872
+ __vue_template_functional__,
873
+ __vue_styles__,
874
+ __vue_scopeId__,
875
+ __vue_module_identifier__
876
+ )
877
+ Component.options.__file = "src/admin/components/TextEditor.vue"
878
+
879
+ /* hot reload */
880
+ if (false) {(function () {
881
+ var hotAPI = require("vue-hot-reload-api")
882
+ hotAPI.install(require("vue"), false)
883
+ if (!hotAPI.compatible) return
884
+ module.hot.accept()
885
+ if (!module.hot.data) {
886
+ hotAPI.createRecord("data-v-70730fac", Component.options)
887
+ } else {
888
+ hotAPI.reload("data-v-70730fac", Component.options)
889
+ }
890
+ module.hot.dispose(function (data) {
891
+ disposed = true
892
+ })
893
+ })()}
894
+
895
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
896
+
897
+
898
+ /***/ }),
899
+
900
+ /***/ 129:
901
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
902
+
903
+ "use strict";
904
+ var render = function() {
905
+ var _vm = this
906
+ var _h = _vm.$createElement
907
+ var _c = _vm._self._c || _h
908
+ return _c("textarea", {
909
+ attrs: { id: "dokan-tinymce-" + _vm.editorId },
910
+ domProps: { value: _vm.value }
911
+ })
912
+ }
913
+ var staticRenderFns = []
914
+ render._withStripped = true
915
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
916
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
917
+ if (false) {
918
+ module.hot.accept()
919
+ if (module.hot.data) {
920
+ require("vue-hot-reload-api") .rerender("data-v-70730fac", esExports)
921
+ }
922
+ }
923
+
924
+ /***/ }),
925
+
926
+ /***/ 3:
927
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
928
+
929
+ "use strict";
930
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue_chartjs__ = __webpack_require__(4);
931
+
932
+
933
+
934
+ /* harmony default export */ __webpack_exports__["a"] = ({
935
+ extends: __WEBPACK_IMPORTED_MODULE_0_vue_chartjs__["Line"],
936
+ props: ['data'],
937
+ data() {
938
+ return {
939
+ options: {
940
+ responsive: true,
941
+ maintainAspectRatio: false,
942
+ scales: {
943
+ xAxes: [{
944
+ type: 'time',
945
+ scaleLabel: {
946
+ display: false
947
+ },
948
+ gridLines: {
949
+ display: false
950
+ },
951
+ ticks: {
952
+ fontColor: '#aaa',
953
+ fontSize: 11
954
+ }
955
+ }],
956
+ yAxes: [{
957
+ scaleLabel: {
958
+ display: false
959
+ },
960
+ ticks: {
961
+ fontColor: '#aaa'
962
+ }
963
+ }]
964
+ },
965
+ legend: {
966
+ position: 'top',
967
+ onClick: false
968
+ },
969
+ elements: {
970
+ line: {
971
+ tension: 0,
972
+ borderWidth: 4
973
+ },
974
+ point: {
975
+ radius: 5,
976
+ borderWidth: 3,
977
+ backgroundColor: '#fff',
978
+ borderColor: '#fff'
979
+ }
980
+ },
981
+ tooltips: {
982
+ displayColors: false,
983
+ callbacks: {
984
+ label: function (tooltipItems, data) {
985
+ let label = data.datasets[tooltipItems.datasetIndex].label || '';
986
+ let customLabel = data.datasets[tooltipItems.datasetIndex].tooltipLabel || '';
987
+ let prefix = data.datasets[tooltipItems.datasetIndex].tooltipPrefix || '';
988
+
989
+ let tooltipLabel = customLabel ? customLabel + ': ' : label + ': ';
990
+
991
+ tooltipLabel += prefix + tooltipItems.yLabel;
992
+
993
+ return tooltipLabel;
994
+ }
995
+ }
996
+ }
997
+ }
998
+ };
999
+ },
1000
+ mounted() {
1001
+ this.renderChart(this.data, this.options);
1002
+ }
1003
+ });
1004
+
1005
+ /***/ }),
1006
+
1007
+ /***/ 35:
1008
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1009
+
1010
+ "use strict";
1011
+ //
1012
+ //
1013
+ //
1014
+ //
1015
+ //
1016
+ //
1017
+ //
1018
+ //
1019
+ //
1020
+ //
1021
+ //
1022
+ //
1023
+ //
1024
+ //
1025
+ //
1026
+
1027
+ /* harmony default export */ __webpack_exports__["a"] = ({
1028
+
1029
+ name: 'Postbox',
1030
+ props: {
1031
+ title: {
1032
+ type: String,
1033
+ required: true,
1034
+ default: ''
1035
+ },
1036
+ extraClass: {
1037
+ type: String,
1038
+ default: null
1039
+ }
1040
+ },
1041
+
1042
+ data() {
1043
+ return {
1044
+ showing: true
1045
+ };
1046
+ }
1047
+ });
1048
+
1049
+ /***/ }),
1050
+
1051
+ /***/ 36:
1052
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1053
+
1054
+ "use strict";
1055
+ //
1056
+ //
1057
+ //
1058
+ //
1059
+
1060
+ /* harmony default export */ __webpack_exports__["a"] = ({
1061
+
1062
+ name: 'Loading',
1063
+
1064
+ data() {
1065
+ return {};
1066
+ }
1067
+ });
1068
+
1069
+ /***/ }),
1070
+
1071
+ /***/ 37:
1072
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1073
+
1074
+ "use strict";
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
+ /* harmony default export */ __webpack_exports__["a"] = ({
1106
+
1107
+ name: 'Modal',
1108
+
1109
+ props: {
1110
+ footer: {
1111
+ type: Boolean,
1112
+ required: false,
1113
+ default: true
1114
+ },
1115
+ title: {
1116
+ type: String,
1117
+ required: true,
1118
+ default: ''
1119
+ }
1120
+ },
1121
+
1122
+ data() {
1123
+ return {};
1124
+ }
1125
+ });
1126
+
1127
+ /***/ }),
1128
+
1129
+ /***/ 38:
1130
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1131
+
1132
+ "use strict";
1133
+ //
1134
+ //
1135
+ //
1136
+ //
1137
+ //
1138
+ //
1139
+ //
1140
+
1141
+ /* harmony default export */ __webpack_exports__["a"] = ({
1142
+
1143
+ name: 'Switches',
1144
+
1145
+ props: {
1146
+ enabled: {
1147
+ type: Boolean, // String, Number, Boolean, Function, Object, Array
1148
+ required: true,
1149
+ default: false
1150
+ },
1151
+ value: {
1152
+ type: [String, Number]
1153
+ }
1154
+ },
1155
+
1156
+ data() {
1157
+ return {};
1158
+ },
1159
+
1160
+ methods: {
1161
+
1162
+ trigger(e) {
1163
+ this.$emit('input', e.target.checked, e.target.value);
1164
+ }
1165
+ }
1166
+ });
1167
+
1168
+ /***/ }),
1169
+
1170
+ /***/ 39:
1171
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1172
+
1173
+ "use strict";
1174
+ //
1175
+ //
1176
+ //
1177
+ //
1178
+
1179
+ /* harmony default export */ __webpack_exports__["a"] = ({
1180
+ props: {
1181
+ value: {
1182
+ type: String,
1183
+ required: true
1184
+ }
1185
+
1186
+ // shortcodes: {
1187
+ // type: Object,
1188
+ // required: false
1189
+ // }
1190
+ },
1191
+
1192
+ data() {
1193
+ return {
1194
+ editorId: this._uid,
1195
+ fileFrame: null
1196
+ };
1197
+ },
1198
+
1199
+ mounted() {
1200
+ const vm = this;
1201
+
1202
+ window.tinymce.init({
1203
+ selector: `#dokan-tinymce-${this.editorId}`,
1204
+ branding: false,
1205
+ height: 300,
1206
+ menubar: false,
1207
+ convert_urls: false,
1208
+ theme: 'modern',
1209
+ skin: 'lightgray',
1210
+ content_css: `${dokan.cdn}/css/customizer.css`,
1211
+ fontsize_formats: '10px 11px 13px 14px 16px 18px 22px 25px 30px 36px 40px 45px 50px 60px 65px 70px 75px 80px',
1212
+ font_formats: 'Arial=arial,helvetica,sans-serif;' + 'Comic Sans MS=comic sans ms,sans-serif;' + 'Courier New=courier new,courier;' + 'Georgia=georgia,palatino;' + 'Lucida=Lucida Sans Unicode, Lucida Grande, sans-serif;' + 'Tahoma=tahoma,arial,helvetica,sans-serif;' + 'Times New Roman=times new roman,times;' + 'Trebuchet MS=trebuchet ms,geneva;' + 'Verdana=verdana,geneva;',
1213
+ plugins: 'textcolor colorpicker wplink wordpress code hr wpeditimage',
1214
+ toolbar: ['shortcodes bold italic underline bullist numlist alignleft aligncenter alignjustify alignright link image wp_adv', 'formatselect forecolor backcolor blockquote hr code fontselect fontsizeselect removeformat undo redo'],
1215
+ setup(editor) {
1216
+ const shortcodeMenuItems = [];
1217
+
1218
+ _.forEach(vm.shortcodes, (shortcodeObj, shortcodeType) => {
1219
+ shortcodeMenuItems.push({
1220
+ text: shortcodeObj.title,
1221
+ classes: 'menu-section-title'
1222
+ });
1223
+
1224
+ _.forEach(shortcodeObj.codes, (codeObj, shortcode) => {
1225
+ shortcodeMenuItems.push({
1226
+ text: codeObj.title,
1227
+ onclick() {
1228
+ let code = `[${shortcodeType}:${shortcode}]`;
1229
+
1230
+ if (codeObj.default) {
1231
+ code = `[${shortcodeType}:${shortcode} default="${codeObj.default}"]`;
1232
+ }
1233
+
1234
+ if (codeObj.text) {
1235
+ code = `[${shortcodeType}:${shortcode} text="${codeObj.text}"]`;
1236
+ }
1237
+
1238
+ if (codeObj.plainText) {
1239
+ code = codeObj.text;
1240
+ }
1241
+
1242
+ editor.insertContent(code);
1243
+ }
1244
+ });
1245
+ });
1246
+ });
1247
+
1248
+ // editor.addButton('shortcodes', {
1249
+ // type: 'menubutton',
1250
+ // icon: 'shortcode',
1251
+ // tooltip: 'Shortcodes',
1252
+ // menu: shortcodeMenuItems
1253
+ // });
1254
+
1255
+ editor.addButton('image', {
1256
+ icon: 'image',
1257
+ onclick() {
1258
+ vm.browseImage(editor);
1259
+ }
1260
+ });
1261
+
1262
+ // editor change triggers
1263
+ editor.on('change keyup NodeChange', () => {
1264
+ vm.$emit('input', editor.getContent());
1265
+ });
1266
+ }
1267
+ });
1268
+ },
1269
+
1270
+ methods: {
1271
+ browseImage(editor) {
1272
+ const vm = this;
1273
+ const selectedFile = {
1274
+ id: 0,
1275
+ url: '',
1276
+ type: ''
1277
+ };
1278
+
1279
+ if (vm.fileFrame) {
1280
+ vm.fileFrame.open();
1281
+ return;
1282
+ }
1283
+
1284
+ const fileStates = [new wp.media.controller.Library({
1285
+ library: wp.media.query(),
1286
+ multiple: false,
1287
+ title: this.__('Select an image', 'dokan-lite'),
1288
+ priority: 20,
1289
+ filterable: 'uploaded'
1290
+ })];
1291
+
1292
+ vm.fileFrame = wp.media({
1293
+ title: this.__('Select an image', 'dokan-lite'),
1294
+ library: {
1295
+ type: ''
1296
+ },
1297
+ button: {
1298
+ text: this.__('Select an image', 'dokan-lite')
1299
+ },
1300
+ multiple: false,
1301
+ states: fileStates
1302
+ });
1303
+
1304
+ vm.fileFrame.on('select', () => {
1305
+ const selection = vm.fileFrame.state().get('selection');
1306
+
1307
+ selection.map(image => {
1308
+ image = image.toJSON();
1309
+
1310
+ if (image.id) {
1311
+ selectedFile.id = image.id;
1312
+ }
1313
+
1314
+ if (image.url) {
1315
+ selectedFile.url = image.url;
1316
+ }
1317
+
1318
+ if (image.type) {
1319
+ selectedFile.type = image.type;
1320
+ }
1321
+
1322
+ vm.insertImage(editor, selectedFile);
1323
+
1324
+ return null;
1325
+ });
1326
+ });
1327
+
1328
+ vm.fileFrame.on('ready', () => {
1329
+ vm.fileFrame.uploader.options.uploader.params = {
1330
+ type: 'dokan-image-uploader'
1331
+ };
1332
+ });
1333
+
1334
+ vm.fileFrame.open();
1335
+ },
1336
+
1337
+ insertImage(editor, image) {
1338
+ if (!image.id || image.type !== 'image') {
1339
+ this.alert({
1340
+ type: 'error',
1341
+ text: this.__('Please select an image,', 'dokan-lite')
1342
+ });
1343
+
1344
+ return;
1345
+ }
1346
+
1347
+ const img = `<img src="${image.url}" alt="${image.alt}" title="${image.title}" style="max-width: 100%; height: auto;">`;
1348
+
1349
+ editor.insertContent(img);
1350
+ }
1351
+ }
1352
+ });
1353
+
1354
+ /***/ }),
1355
+
1356
+ /***/ 7:
1357
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1358
+
1359
+ "use strict";
1360
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1361
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Chart_vue__ = __webpack_require__(3);
1362
+ /* empty harmony namespace reexport */
1363
+ var disposed = false
1364
+ var normalizeComponent = __webpack_require__(0)
1365
+ /* script */
1366
+
1367
+
1368
+ /* template */
1369
+ var __vue_template__ = null
1370
+ /* template functional */
1371
+ var __vue_template_functional__ = false
1372
+ /* styles */
1373
+ var __vue_styles__ = null
1374
+ /* scopeId */
1375
+ var __vue_scopeId__ = null
1376
+ /* moduleIdentifier (server only) */
1377
+ var __vue_module_identifier__ = null
1378
+ var Component = normalizeComponent(
1379
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Chart_vue__["a" /* default */],
1380
+ __vue_template__,
1381
+ __vue_template_functional__,
1382
+ __vue_styles__,
1383
+ __vue_scopeId__,
1384
+ __vue_module_identifier__
1385
+ )
1386
+ Component.options.__file = "src/admin/components/Chart.vue"
1387
+
1388
+ /* hot reload */
1389
+ if (false) {(function () {
1390
+ var hotAPI = require("vue-hot-reload-api")
1391
+ hotAPI.install(require("vue"), false)
1392
+ if (!hotAPI.compatible) return
1393
+ module.hot.accept()
1394
+ if (!module.hot.data) {
1395
+ hotAPI.createRecord("data-v-28c376de", Component.options)
1396
+ } else {
1397
+ hotAPI.reload("data-v-28c376de", Component.options)
1398
+ }
1399
+ module.hot.dispose(function (data) {
1400
+ disposed = true
1401
+ })
1402
+ })()}
1403
+
1404
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
1405
+
1406
+
1407
+ /***/ })
1408
+
1409
+ },[108]);
assets/js/vue-bootstrap.min.js ADDED
@@ -0,0 +1 @@
 
1
+ dokanWebpack([1],[,,function(t,e,n){"use strict";var a=n(4);e.a={extends:a.Line,props:["data"],data:()=>({options:{responsive:!0,maintainAspectRatio:!1,scales:{xAxes:[{type:"time",scaleLabel:{display:!1},gridLines:{display:!1},ticks:{fontColor:"#aaa",fontSize:11}}],yAxes:[{scaleLabel:{display:!1},ticks:{fontColor:"#aaa"}}]},legend:{position:"top",onClick:!1},elements:{line:{tension:0,borderWidth:4},point:{radius:5,borderWidth:3,backgroundColor:"#fff",borderColor:"#fff"}},tooltips:{displayColors:!1,callbacks:{label:function(t,e){let n=e.datasets[t.datasetIndex].label||"",a=e.datasets[t.datasetIndex].tooltipLabel||"",o=e.datasets[t.datasetIndex].tooltipPrefix||"",i=a?a+": ":n+": ";return i+=o+t.yLabel}}}}}),mounted(){this.renderChart(this.data,this.options)}}},,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(2),o=n(0)(a.a,null,!1,null,null,null);o.options.__file="src/admin/components/Chart.vue",e.default=o.exports},,,,,,,,,,,,,function(t,e,n){"use strict";e.a={name:"Postbox",props:{title:{type:String,required:!0,default:""},extraClass:{type:String,default:null}},data:()=>({showing:!0})}},function(t,e,n){"use strict";e.a={name:"Loading",data:()=>({})}},function(t,e,n){"use strict";e.a={name:"Modal",props:{footer:{type:Boolean,required:!1,default:!0},title:{type:String,required:!0,default:""}},data:()=>({})}},function(t,e,n){"use strict";e.a={name:"Switches",props:{enabled:{type:Boolean,required:!0,default:!1},value:{type:[String,Number]}},data:()=>({}),methods:{trigger(t){this.$emit("input",t.target.checked,t.target.value)}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var a=_(n(1)),o=_(n(5)),i=_(n(59)),s=_(n(15)),r=_(n(16)),l=_(n(63)),d=_(n(4)),u=n(18),c=_(n(64)),f=_(n(67)),p=_(n(6)),v=_(n(70)),h=_(n(73));function _(t){return t&&t.__esModule?t:{default:t}}a.default.use(s.default),a.default.filter("currency",function(t){return accounting.formatMoney(t,dokan.currency)}),a.default.filter("capitalize",function(t){return t?(t=t.toString()).charAt(0).toUpperCase()+t.slice(1):""}),window.dokan_get_lib=function(t){return window.dokan.libs[t]},window.dokan_add_route=function(t){window.dokan.routeComponents[t.name]=t},window.dokan.api=new l.default,window.dokan.libs.Vue=a.default,window.dokan.libs.Router=o.default,window.dokan.libs.moment=i.default,window.dokan.libs.ListTable=r.default,window.dokan.libs.Postbox=c.default,window.dokan.libs.Loading=f.default,window.dokan.libs.ChartJS=d.default,window.dokan.libs.Chart=p.default,window.dokan.libs.Modal=v.default,window.dokan.libs.Switches=h.default,window.dokan.libs.ContentLoading={VclCode:u.VclCode,VclList:u.VclList,VclTwitch:u.VclTwitch,VclFacebook:u.VclFacebook,VclInstagram:u.VclInstagram,VclBulletList:u.VclBulletList,VueContentLoading:u.VueContentLoading}},function(t,e){t.exports=moment},,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var a=e[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(e,n,a){return n&&t(e.prototype,n),a&&t(e,a),e}}();var o=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return a(t,[{key:"endpoint",value:function(){return window.dokan.rest.root+window.dokan.rest.version}},{key:"headers",value:function(){return{}}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.ajax(t,"GET",this.headers(),e)}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.ajax(t,"POST",this.headers(),e)}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.ajax(t,"PUT",this.headers(),e)}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.ajax(t,"DELETE",this.headers(),e)}},{key:"ajax",value:function(t,e,n,a){return $.ajax({url:this.endpoint()+t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",window.dokan.rest.nonce)},type:e,data:a})}}]),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(19),o=n(66),i=!1;var s=function(t){i||n(65)},r=n(0)(a.a,o.a,!1,s,null,null);r.options.__file="src/admin/components/Postbox.vue",e.default=r.exports},function(t,e){},function(t,e,n){"use strict";var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["postbox","dokan-postbox",{closed:!t.showing},t.extraClass]},[n("button",{staticClass:"handlediv",attrs:{type:"button","aria-expanded":"false"},on:{click:function(e){t.showing=!t.showing}}},[n("span",{staticClass:"toggle-indicator",attrs:{"aria-hidden":"true"}})]),t._v(" "),n("h2",{staticClass:"hndle"},[n("span",[t._v(t._s(t.title))])]),t._v(" "),n("div",{staticClass:"inside"},[n("div",{staticClass:"main"},[t._t("default")],2)])])};a._withStripped=!0;var o={render:a,staticRenderFns:[]};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(20),o=n(69),i=!1;var s=function(t){i||n(68)},r=n(0)(a.a,o.a,!1,s,null,null);r.options.__file="src/admin/components/Loading.vue",e.default=r.exports},function(t,e){},function(t,e,n){"use strict";var a=function(){var t=this.$createElement;this._self._c;return this._m(0)};a._withStripped=!0;var o={render:a,staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"dokan-loader"},[e("div"),e("div")])}]};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(21),o=n(72),i=!1;var s=function(t){i||n(71)},r=n(0)(a.a,o.a,!1,s,null,null);r.options.__file="src/admin/components/Modal.vue",e.default=r.exports},function(t,e){},function(t,e,n){"use strict";var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dokan-modal-dialog"},[n("div",{staticClass:"dokan-modal"},[n("div",{staticClass:"dokan-modal-content"},[n("section",{class:["dokan-modal-main",{"has-footer":t.footer}]},[n("header",{staticClass:"modal-header"},[t._t("header",[n("h1",[t._v(t._s(t.title))])]),t._v(" "),n("button",{staticClass:"modal-close modal-close-link dashicons dashicons-no-alt",on:{click:function(e){t.$emit("close")}}},[n("span",{staticClass:"screen-reader-text"},[t._v("Close modal panel")])])],2),t._v(" "),n("div",{staticClass:"modal-body"},[t._t("body")],2),t._v(" "),t.footer?n("footer",{staticClass:"modal-footer"},[n("div",{staticClass:"inner"},[t._t("footer")],2)]):t._e()])])]),t._v(" "),n("div",{staticClass:"dokan-modal-backdrop"})])};a._withStripped=!0;var o={render:a,staticRenderFns:[]};e.a=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(22),o=n(75),i=!1;var s=function(t){i||n(74)},r=n(0)(a.a,o.a,!1,s,null,null);r.options.__file="src/admin/components/Switches.vue",e.default=r.exports},function(t,e){},function(t,e,n){"use strict";var a=function(){var t=this.$createElement,e=this._self._c||t;return e("label",{staticClass:"switch tips"},[e("input",{staticClass:"toogle-checkbox",attrs:{type:"checkbox"},domProps:{checked:this.enabled,value:this.value},on:{change:this.trigger}}),this._v(" "),e("span",{staticClass:"slider round"})])};a._withStripped=!0;var o={render:a,staticRenderFns:[]};e.a=o}],[58]);
assets/js/vue-frontend.js ADDED
@@ -0,0 +1,435 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dokanWebpack([2],[
2
+ /* 0 */,
3
+ /* 1 */,
4
+ /* 2 */,
5
+ /* 3 */,
6
+ /* 4 */,
7
+ /* 5 */,
8
+ /* 6 */,
9
+ /* 7 */,
10
+ /* 8 */,
11
+ /* 9 */
12
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
13
+
14
+ "use strict";
15
+ //
16
+ //
17
+ //
18
+ //
19
+ //
20
+ //
21
+
22
+ /* harmony default export */ __webpack_exports__["a"] = ({
23
+ name: 'App'
24
+ });
25
+
26
+ /***/ }),
27
+ /* 10 */
28
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
29
+
30
+ "use strict";
31
+ //
32
+ //
33
+ //
34
+ //
35
+ //
36
+ //
37
+
38
+ /* harmony default export */ __webpack_exports__["a"] = ({
39
+
40
+ name: 'Home',
41
+
42
+ data() {
43
+ return {
44
+ msg: 'Welcome to Your Vue.js Frontend App'
45
+ };
46
+ }
47
+ });
48
+
49
+ /***/ }),
50
+ /* 11 */
51
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
52
+
53
+ "use strict";
54
+ //
55
+ //
56
+ //
57
+ //
58
+ //
59
+ //
60
+
61
+ /* harmony default export */ __webpack_exports__["a"] = ({
62
+
63
+ name: 'Profile',
64
+
65
+ data() {
66
+ return {};
67
+ }
68
+ });
69
+
70
+ /***/ }),
71
+ /* 12 */,
72
+ /* 13 */,
73
+ /* 14 */,
74
+ /* 15 */,
75
+ /* 16 */,
76
+ /* 17 */,
77
+ /* 18 */,
78
+ /* 19 */,
79
+ /* 20 */,
80
+ /* 21 */,
81
+ /* 22 */,
82
+ /* 23 */,
83
+ /* 24 */,
84
+ /* 25 */,
85
+ /* 26 */,
86
+ /* 27 */,
87
+ /* 28 */,
88
+ /* 29 */,
89
+ /* 30 */,
90
+ /* 31 */,
91
+ /* 32 */,
92
+ /* 33 */,
93
+ /* 34 */,
94
+ /* 35 */,
95
+ /* 36 */,
96
+ /* 37 */,
97
+ /* 38 */,
98
+ /* 39 */,
99
+ /* 40 */
100
+ /***/ (function(module, exports, __webpack_require__) {
101
+
102
+ "use strict";
103
+
104
+
105
+ var _vue = __webpack_require__(1);
106
+
107
+ var _vue2 = _interopRequireDefault(_vue);
108
+
109
+ var _App = __webpack_require__(43);
110
+
111
+ var _App2 = _interopRequireDefault(_App);
112
+
113
+ var _router = __webpack_require__(46);
114
+
115
+ var _router2 = _interopRequireDefault(_router);
116
+
117
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
118
+
119
+ _vue2.default.config.productionTip = false;
120
+
121
+ /* eslint-disable no-new */
122
+ new _vue2.default({
123
+ el: '#vue-frontend-app',
124
+ router: _router2.default,
125
+ render: function render(h) {
126
+ return h(_App2.default);
127
+ }
128
+ });
129
+
130
+ /***/ }),
131
+ /* 41 */,
132
+ /* 42 */,
133
+ /* 43 */
134
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
135
+
136
+ "use strict";
137
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
138
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__ = __webpack_require__(9);
139
+ /* empty harmony namespace reexport */
140
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_82d33a46_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__ = __webpack_require__(45);
141
+ var disposed = false
142
+ function injectStyle (ssrContext) {
143
+ if (disposed) return
144
+ __webpack_require__(44)
145
+ }
146
+ var normalizeComponent = __webpack_require__(0)
147
+ /* script */
148
+
149
+
150
+ /* template */
151
+
152
+ /* template functional */
153
+ var __vue_template_functional__ = false
154
+ /* styles */
155
+ var __vue_styles__ = injectStyle
156
+ /* scopeId */
157
+ var __vue_scopeId__ = null
158
+ /* moduleIdentifier (server only) */
159
+ var __vue_module_identifier__ = null
160
+ var Component = normalizeComponent(
161
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_App_vue__["a" /* default */],
162
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_82d33a46_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_App_vue__["a" /* default */],
163
+ __vue_template_functional__,
164
+ __vue_styles__,
165
+ __vue_scopeId__,
166
+ __vue_module_identifier__
167
+ )
168
+ Component.options.__file = "src/frontend/App.vue"
169
+
170
+ /* hot reload */
171
+ if (false) {(function () {
172
+ var hotAPI = require("vue-hot-reload-api")
173
+ hotAPI.install(require("vue"), false)
174
+ if (!hotAPI.compatible) return
175
+ module.hot.accept()
176
+ if (!module.hot.data) {
177
+ hotAPI.createRecord("data-v-82d33a46", Component.options)
178
+ } else {
179
+ hotAPI.reload("data-v-82d33a46", Component.options)
180
+ }
181
+ module.hot.dispose(function (data) {
182
+ disposed = true
183
+ })
184
+ })()}
185
+
186
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
187
+
188
+
189
+ /***/ }),
190
+ /* 44 */
191
+ /***/ (function(module, exports) {
192
+
193
+ // removed by extract-text-webpack-plugin
194
+
195
+ /***/ }),
196
+ /* 45 */
197
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
198
+
199
+ "use strict";
200
+ var render = function() {
201
+ var _vm = this
202
+ var _h = _vm.$createElement
203
+ var _c = _vm._self._c || _h
204
+ return _c("div", { attrs: { id: "vue-frontend-app" } })
205
+ }
206
+ var staticRenderFns = []
207
+ render._withStripped = true
208
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
209
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
210
+ if (false) {
211
+ module.hot.accept()
212
+ if (module.hot.data) {
213
+ require("vue-hot-reload-api") .rerender("data-v-82d33a46", esExports)
214
+ }
215
+ }
216
+
217
+ /***/ }),
218
+ /* 46 */
219
+ /***/ (function(module, exports, __webpack_require__) {
220
+
221
+ "use strict";
222
+
223
+
224
+ Object.defineProperty(exports, "__esModule", {
225
+ value: true
226
+ });
227
+
228
+ var _vue = __webpack_require__(1);
229
+
230
+ var _vue2 = _interopRequireDefault(_vue);
231
+
232
+ var _vueRouter = __webpack_require__(6);
233
+
234
+ var _vueRouter2 = _interopRequireDefault(_vueRouter);
235
+
236
+ var _Home = __webpack_require__(47);
237
+
238
+ var _Home2 = _interopRequireDefault(_Home);
239
+
240
+ var _Profile = __webpack_require__(50);
241
+
242
+ var _Profile2 = _interopRequireDefault(_Profile);
243
+
244
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
245
+
246
+ _vue2.default.use(_vueRouter2.default);
247
+
248
+ exports.default = new _vueRouter2.default({
249
+ routes: [{
250
+ path: '/',
251
+ name: 'Home',
252
+ component: _Home2.default
253
+ }, {
254
+ path: '/profile',
255
+ name: 'Profile',
256
+ component: _Profile2.default
257
+ }]
258
+ });
259
+
260
+ /***/ }),
261
+ /* 47 */
262
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
263
+
264
+ "use strict";
265
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
266
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Home_vue__ = __webpack_require__(10);
267
+ /* empty harmony namespace reexport */
268
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5f1f0bb4_hasScoped_true_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Home_vue__ = __webpack_require__(49);
269
+ var disposed = false
270
+ function injectStyle (ssrContext) {
271
+ if (disposed) return
272
+ __webpack_require__(48)
273
+ }
274
+ var normalizeComponent = __webpack_require__(0)
275
+ /* script */
276
+
277
+
278
+ /* template */
279
+
280
+ /* template functional */
281
+ var __vue_template_functional__ = false
282
+ /* styles */
283
+ var __vue_styles__ = injectStyle
284
+ /* scopeId */
285
+ var __vue_scopeId__ = "data-v-5f1f0bb4"
286
+ /* moduleIdentifier (server only) */
287
+ var __vue_module_identifier__ = null
288
+ var Component = normalizeComponent(
289
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Home_vue__["a" /* default */],
290
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_5f1f0bb4_hasScoped_true_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Home_vue__["a" /* default */],
291
+ __vue_template_functional__,
292
+ __vue_styles__,
293
+ __vue_scopeId__,
294
+ __vue_module_identifier__
295
+ )
296
+ Component.options.__file = "src/frontend/components/Home.vue"
297
+
298
+ /* hot reload */
299
+ if (false) {(function () {
300
+ var hotAPI = require("vue-hot-reload-api")
301
+ hotAPI.install(require("vue"), false)
302
+ if (!hotAPI.compatible) return
303
+ module.hot.accept()
304
+ if (!module.hot.data) {
305
+ hotAPI.createRecord("data-v-5f1f0bb4", Component.options)
306
+ } else {
307
+ hotAPI.reload("data-v-5f1f0bb4", Component.options)
308
+ }
309
+ module.hot.dispose(function (data) {
310
+ disposed = true
311
+ })
312
+ })()}
313
+
314
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
315
+
316
+
317
+ /***/ }),
318
+ /* 48 */
319
+ /***/ (function(module, exports) {
320
+
321
+ // removed by extract-text-webpack-plugin
322
+
323
+ /***/ }),
324
+ /* 49 */
325
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
326
+
327
+ "use strict";
328
+ var render = function() {
329
+ var _vm = this
330
+ var _h = _vm.$createElement
331
+ var _c = _vm._self._c || _h
332
+ return _c("div", { staticClass: "hello" }, [
333
+ _c("span", [_vm._v(_vm._s(_vm.msg))])
334
+ ])
335
+ }
336
+ var staticRenderFns = []
337
+ render._withStripped = true
338
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
339
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
340
+ if (false) {
341
+ module.hot.accept()
342
+ if (module.hot.data) {
343
+ require("vue-hot-reload-api") .rerender("data-v-5f1f0bb4", esExports)
344
+ }
345
+ }
346
+
347
+ /***/ }),
348
+ /* 50 */
349
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
350
+
351
+ "use strict";
352
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
353
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Profile_vue__ = __webpack_require__(11);
354
+ /* empty harmony namespace reexport */
355
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_dd754238_hasScoped_true_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Profile_vue__ = __webpack_require__(52);
356
+ var disposed = false
357
+ function injectStyle (ssrContext) {
358
+ if (disposed) return
359
+ __webpack_require__(51)
360
+ }
361
+ var normalizeComponent = __webpack_require__(0)
362
+ /* script */
363
+
364
+
365
+ /* template */
366
+
367
+ /* template functional */
368
+ var __vue_template_functional__ = false
369
+ /* styles */
370
+ var __vue_styles__ = injectStyle
371
+ /* scopeId */
372
+ var __vue_scopeId__ = "data-v-dd754238"
373
+ /* moduleIdentifier (server only) */
374
+ var __vue_module_identifier__ = null
375
+ var Component = normalizeComponent(
376
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_Profile_vue__["a" /* default */],
377
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_dd754238_hasScoped_true_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_Profile_vue__["a" /* default */],
378
+ __vue_template_functional__,
379
+ __vue_styles__,
380
+ __vue_scopeId__,
381
+ __vue_module_identifier__
382
+ )
383
+ Component.options.__file = "src/frontend/components/Profile.vue"
384
+
385
+ /* hot reload */
386
+ if (false) {(function () {
387
+ var hotAPI = require("vue-hot-reload-api")
388
+ hotAPI.install(require("vue"), false)
389
+ if (!hotAPI.compatible) return
390
+ module.hot.accept()
391
+ if (!module.hot.data) {
392
+ hotAPI.createRecord("data-v-dd754238", Component.options)
393
+ } else {
394
+ hotAPI.reload("data-v-dd754238", Component.options)
395
+ }
396
+ module.hot.dispose(function (data) {
397
+ disposed = true
398
+ })
399
+ })()}
400
+
401
+ /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
402
+
403
+
404
+ /***/ }),
405
+ /* 51 */
406
+ /***/ (function(module, exports) {
407
+
408
+ // removed by extract-text-webpack-plugin
409
+
410
+ /***/ }),
411
+ /* 52 */
412
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
413
+
414
+ "use strict";
415
+ var render = function() {
416
+ var _vm = this
417
+ var _h = _vm.$createElement
418
+ var _c = _vm._self._c || _h
419
+ return _c("div", { staticClass: "profile" }, [
420
+ _vm._v("\n The Profile Page\n")
421
+ ])
422
+ }
423
+ var staticRenderFns = []
424
+ render._withStripped = true
425
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
426
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
427
+ if (false) {
428
+ module.hot.accept()
429
+ if (module.hot.data) {
430
+ require("vue-hot-reload-api") .rerender("data-v-dd754238", esExports)
431
+ }
432
+ }
433
+
434
+ /***/ })
435
+ ],[40]);
assets/js/vue-frontend.min.js ADDED
@@ -0,0 +1 @@
 
1
+ dokanWebpack([2],[,,,,,,,function(e,t,n){"use strict";t.a={name:"App"}},function(e,t,n){"use strict";t.a={name:"Home",data:()=>({msg:"Welcome to Your Vue.js Frontend App"})}},function(e,t,n){"use strict";t.a={name:"Profile",data:()=>({})}},,,,,,,,,,,,,,function(e,t,n){"use strict";var r=i(n(1)),a=i(n(27)),u=i(n(30));function i(e){return e&&e.__esModule?e:{default:e}}r.default.config.productionTip=!1,new r.default({el:"#vue-frontend-app",router:u.default,render:function(e){return e(a.default)}})},,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(7),a=n(29),u=!1;var i=function(e){u||n(28)},o=n(0)(r.a,a.a,!1,i,null,null);o.options.__file="src/frontend/App.vue",t.default=o.exports},function(e,t){},function(e,t,n){"use strict";var r=function(){var e=this.$createElement;return(this._self._c||e)("div",{attrs:{id:"vue-frontend-app"}})};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(1)),a=o(n(5)),u=o(n(31)),i=o(n(34));function o(e){return e&&e.__esModule?e:{default:e}}r.default.use(a.default),t.default=new a.default({routes:[{path:"/",name:"Home",component:u.default},{path:"/profile",name:"Profile",component:i.default}]})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(8),a=n(33),u=!1;var i=function(e){u||n(32)},o=n(0)(r.a,a.a,!1,i,"data-v-5f1f0bb4",null);o.options.__file="src/frontend/components/Home.vue",t.default=o.exports},function(e,t){},function(e,t,n){"use strict";var r=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"hello"},[t("span",[this._v(this._s(this.msg))])])};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),a=n(36),u=!1;var i=function(e){u||n(35)},o=n(0)(r.a,a.a,!1,i,"data-v-dd754238",null);o.options.__file="src/frontend/components/Profile.vue",t.default=o.exports},function(e,t){},function(e,t,n){"use strict";var r=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"profile"},[this._v("\n The Profile Page\n")])};r._withStripped=!0;var a={render:r,staticRenderFns:[]};t.a=a}],[23]);
assets/js/vue-vendor.js ADDED
@@ -0,0 +1,24249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // install a JSONP callback for chunk loading
3
+ /******/ var parentJsonpFunction = window["dokanWebpack"];
4
+ /******/ window["dokanWebpack"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {
5
+ /******/ // add "moreModules" to the modules object,
6
+ /******/ // then flag all "chunkIds" as loaded and fire callback
7
+ /******/ var moduleId, chunkId, i = 0, resolves = [], result;
8
+ /******/ for(;i < chunkIds.length; i++) {
9
+ /******/ chunkId = chunkIds[i];
10
+ /******/ if(installedChunks[chunkId]) {
11
+ /******/ resolves.push(installedChunks[chunkId][0]);
12
+ /******/ }
13
+ /******/ installedChunks[chunkId] = 0;
14
+ /******/ }
15
+ /******/ for(moduleId in moreModules) {
16
+ /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
17
+ /******/ modules[moduleId] = moreModules[moduleId];
18
+ /******/ }
19
+ /******/ }
20
+ /******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);
21
+ /******/ while(resolves.length) {
22
+ /******/ resolves.shift()();
23
+ /******/ }
24
+ /******/ if(executeModules) {
25
+ /******/ for(i=0; i < executeModules.length; i++) {
26
+ /******/ result = __webpack_require__(__webpack_require__.s = executeModules[i]);
27
+ /******/ }
28
+ /******/ }
29
+ /******/ return result;
30
+ /******/ };
31
+ /******/
32
+ /******/ // The module cache
33
+ /******/ var installedModules = {};
34
+ /******/
35
+ /******/ // objects to store loaded and loading chunks
36
+ /******/ var installedChunks = {
37
+ /******/ 3: 0
38
+ /******/ };
39
+ /******/
40
+ /******/ // The require function
41
+ /******/ function __webpack_require__(moduleId) {
42
+ /******/
43
+ /******/ // Check if module is in cache
44
+ /******/ if(installedModules[moduleId]) {
45
+ /******/ return installedModules[moduleId].exports;
46
+ /******/ }
47
+ /******/ // Create a new module (and put it into the cache)
48
+ /******/ var module = installedModules[moduleId] = {
49
+ /******/ i: moduleId,
50
+ /******/ l: false,
51
+ /******/ exports: {}
52
+ /******/ };
53
+ /******/
54
+ /******/ // Execute the module function
55
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
56
+ /******/
57
+ /******/ // Flag the module as loaded
58
+ /******/ module.l = true;
59
+ /******/
60
+ /******/ // Return the exports of the module
61
+ /******/ return module.exports;
62
+ /******/ }
63
+ /******/
64
+ /******/
65
+ /******/ // expose the modules object (__webpack_modules__)
66
+ /******/ __webpack_require__.m = modules;
67
+ /******/
68
+ /******/ // expose the module cache
69
+ /******/ __webpack_require__.c = installedModules;
70
+ /******/
71
+ /******/ // define getter function for harmony exports
72
+ /******/ __webpack_require__.d = function(exports, name, getter) {
73
+ /******/ if(!__webpack_require__.o(exports, name)) {
74
+ /******/ Object.defineProperty(exports, name, {
75
+ /******/ configurable: false,
76
+ /******/ enumerable: true,
77
+ /******/ get: getter
78
+ /******/ });
79
+ /******/ }
80
+ /******/ };
81
+ /******/
82
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
83
+ /******/ __webpack_require__.n = function(module) {
84
+ /******/ var getter = module && module.__esModule ?
85
+ /******/ function getDefault() { return module['default']; } :
86
+ /******/ function getModuleExports() { return module; };
87
+ /******/ __webpack_require__.d(getter, 'a', getter);
88
+ /******/ return getter;
89
+ /******/ };
90
+ /******/
91
+ /******/ // Object.prototype.hasOwnProperty.call
92
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
93
+ /******/
94
+ /******/ // __webpack_public_path__
95
+ /******/ __webpack_require__.p = "";
96
+ /******/
97
+ /******/ // on error function for async loading
98
+ /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
99
+ /******/
100
+ /******/ // Load entry module and return exports
101
+ /******/ return __webpack_require__(__webpack_require__.s = 132);
102
+ /******/ })
103
+ /************************************************************************/
104
+ /******/ ([
105
+ /* 0 */
106
+ /***/ (function(module, exports) {
107
+
108
+ /* globals __VUE_SSR_CONTEXT__ */
109
+
110
+ // IMPORTANT: Do NOT use ES2015 features in this file.
111
+ // This module is a runtime utility for cleaner component module output and will
112
+ // be included in the final webpack user bundle.
113
+
114
+ module.exports = function normalizeComponent (
115
+ rawScriptExports,
116
+ compiledTemplate,
117
+ functionalTemplate,
118
+ injectStyles,
119
+ scopeId,
120
+ moduleIdentifier /* server only */
121
+ ) {
122
+ var esModule
123
+ var scriptExports = rawScriptExports = rawScriptExports || {}
124
+
125
+ // ES6 modules interop
126
+ var type = typeof rawScriptExports.default
127
+ if (type === 'object' || type === 'function') {
128
+ esModule = rawScriptExports
129
+ scriptExports = rawScriptExports.default
130
+ }
131
+
132
+ // Vue.extend constructor export interop
133
+ var options = typeof scriptExports === 'function'
134
+ ? scriptExports.options
135
+ : scriptExports
136
+
137
+ // render functions
138
+ if (compiledTemplate) {
139
+ options.render = compiledTemplate.render
140
+ options.staticRenderFns = compiledTemplate.staticRenderFns
141
+ options._compiled = true
142
+ }
143
+
144
+ // functional template
145
+ if (functionalTemplate) {
146
+ options.functional = true
147
+ }
148
+
149
+ // scopedId
150
+ if (scopeId) {
151
+ options._scopeId = scopeId
152
+ }
153
+
154
+ var hook
155
+ if (moduleIdentifier) { // server build
156
+ hook = function (context) {
157
+ // 2.3 injection
158
+ context =
159
+ context || // cached call
160
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
161
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
162
+ // 2.2 with runInNewContext: true
163
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
164
+ context = __VUE_SSR_CONTEXT__
165
+ }
166
+ // inject component styles
167
+ if (injectStyles) {
168
+ injectStyles.call(this, context)
169
+ }
170
+ // register component module identifier for async chunk inferrence
171
+ if (context && context._registeredComponents) {
172
+ context._registeredComponents.add(moduleIdentifier)
173
+ }
174
+ }
175
+ // used by ssr in case component is cached and beforeCreate
176
+ // never gets called
177
+ options._ssrRegister = hook
178
+ } else if (injectStyles) {
179
+ hook = injectStyles
180
+ }
181
+
182
+ if (hook) {
183
+ var functional = options.functional
184
+ var existing = functional
185
+ ? options.render
186
+ : options.beforeCreate
187
+
188
+ if (!functional) {
189
+ // inject component registration as beforeCreate hook
190
+ options.beforeCreate = existing
191
+ ? [].concat(existing, hook)
192
+ : [hook]
193
+ } else {
194
+ // for template-only hot-reload because in that case the render fn doesn't
195
+ // go through the normalizer
196
+ options._injectStyles = hook
197
+ // register for functioal component in vue file
198
+ options.render = function renderWithStyleInjection (h, context) {
199
+ hook.call(context)
200
+ return existing(h, context)
201
+ }
202
+ }
203
+ }
204
+
205
+ return {
206
+ esModule: esModule,
207
+ exports: scriptExports,
208
+ options: options
209
+ }
210
+ }
211
+
212
+
213
+ /***/ }),
214
+ /* 1 */
215
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
216
+
217
+ "use strict";
218
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
219
+ /* WEBPACK VAR INJECTION */(function(process, global, setImmediate) {/*!
220
+ * Vue.js v2.5.13
221
+ * (c) 2014-2017 Evan You
222
+ * Released under the MIT License.
223
+ */
224
+ /* */
225
+
226
+ var emptyObject = Object.freeze({});
227
+
228
+ // these helpers produces better vm code in JS engines due to their
229
+ // explicitness and function inlining
230
+ function isUndef (v) {
231
+ return v === undefined || v === null
232
+ }
233
+
234
+ function isDef (v) {
235
+ return v !== undefined && v !== null
236
+ }
237
+
238
+ function isTrue (v) {
239
+ return v === true
240
+ }
241
+
242
+ function isFalse (v) {
243
+ return v === false
244
+ }
245
+
246
+ /**
247
+ * Check if value is primitive
248
+ */
249
+ function isPrimitive (value) {
250
+ return (
251
+ typeof value === 'string' ||
252
+ typeof value === 'number' ||
253
+ // $flow-disable-line
254
+ typeof value === 'symbol' ||
255
+ typeof value === 'boolean'
256
+ )
257
+ }
258
+
259
+ /**
260
+ * Quick object check - this is primarily used to tell
261
+ * Objects from primitive values when we know the value
262
+ * is a JSON-compliant type.
263
+ */
264
+ function isObject (obj) {
265
+ return obj !== null && typeof obj === 'object'
266
+ }
267
+
268
+ /**
269
+ * Get the raw type string of a value e.g. [object Object]
270
+ */
271
+ var _toString = Object.prototype.toString;
272
+
273
+ function toRawType (value) {
274
+ return _toString.call(value).slice(8, -1)
275
+ }
276
+
277
+ /**
278
+ * Strict object type check. Only returns true
279
+ * for plain JavaScript objects.
280
+ */
281
+ function isPlainObject (obj) {
282
+ return _toString.call(obj) === '[object Object]'
283
+ }
284
+
285
+ function isRegExp (v) {
286
+ return _toString.call(v) === '[object RegExp]'
287
+ }
288
+
289
+ /**
290
+ * Check if val is a valid array index.
291
+ */
292
+ function isValidArrayIndex (val) {
293
+ var n = parseFloat(String(val));
294
+ return n >= 0 && Math.floor(n) === n && isFinite(val)
295
+ }
296
+
297
+ /**
298
+ * Convert a value to a string that is actually rendered.
299
+ */
300
+ function toString (val) {
301
+ return val == null
302
+ ? ''
303
+ : typeof val === 'object'
304
+ ? JSON.stringify(val, null, 2)
305
+ : String(val)
306
+ }
307
+
308
+ /**
309
+ * Convert a input value to a number for persistence.
310
+ * If the conversion fails, return original string.
311
+ */
312
+ function toNumber (val) {
313
+ var n = parseFloat(val);
314
+ return isNaN(n) ? val : n
315
+ }
316
+
317
+ /**
318
+ * Make a map and return a function for checking if a key
319
+ * is in that map.
320
+ */
321
+ function makeMap (
322
+ str,
323
+ expectsLowerCase
324
+ ) {
325
+ var map = Object.create(null);
326
+ var list = str.split(',');
327
+ for (var i = 0; i < list.length; i++) {
328
+ map[list[i]] = true;
329
+ }
330
+ return expectsLowerCase
331
+ ? function (val) { return map[val.toLowerCase()]; }
332
+ : function (val) { return map[val]; }
333
+ }
334
+
335
+ /**
336
+ * Check if a tag is a built-in tag.
337
+ */
338
+ var isBuiltInTag = makeMap('slot,component', true);
339
+
340
+ /**
341
+ * Check if a attribute is a reserved attribute.
342
+ */
343
+ var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');
344
+
345
+ /**
346
+ * Remove an item from an array
347
+ */
348
+ function remove (arr, item) {
349
+ if (arr.length) {
350
+ var index = arr.indexOf(item);
351
+ if (index > -1) {
352
+ return arr.splice(index, 1)
353
+ }
354
+ }
355
+ }
356
+
357
+ /**
358
+ * Check whether the object has the property.
359
+ */
360
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
361
+ function hasOwn (obj, key) {
362
+ return hasOwnProperty.call(obj, key)
363
+ }
364
+
365
+ /**
366
+ * Create a cached version of a pure function.
367
+ */
368
+ function cached (fn) {
369
+ var cache = Object.create(null);
370
+ return (function cachedFn (str) {
371
+ var hit = cache[str];
372
+ return hit || (cache[str] = fn(str))
373
+ })
374
+ }
375
+
376
+ /**
377
+ * Camelize a hyphen-delimited string.
378
+ */
379
+ var camelizeRE = /-(\w)/g;
380
+ var camelize = cached(function (str) {
381
+ return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
382
+ });
383
+
384
+ /**
385
+ * Capitalize a string.
386
+ */
387
+ var capitalize = cached(function (str) {
388
+ return str.charAt(0).toUpperCase() + str.slice(1)
389
+ });
390
+
391
+ /**
392
+ * Hyphenate a camelCase string.
393
+ */
394
+ var hyphenateRE = /\B([A-Z])/g;
395
+ var hyphenate = cached(function (str) {
396
+ return str.replace(hyphenateRE, '-$1').toLowerCase()
397
+ });
398
+
399
+ /**
400
+ * Simple bind, faster than native
401
+ */
402
+ function bind (fn, ctx) {
403
+ function boundFn (a) {
404
+ var l = arguments.length;
405
+ return l
406
+ ? l > 1
407
+ ? fn.apply(ctx, arguments)
408
+ : fn.call(ctx, a)
409
+ : fn.call(ctx)
410
+ }
411
+ // record original fn length
412
+ boundFn._length = fn.length;
413
+ return boundFn
414
+ }
415
+
416
+ /**
417
+ * Convert an Array-like object to a real Array.
418
+ */
419
+ function toArray (list, start) {
420
+ start = start || 0;
421
+ var i = list.length - start;
422
+ var ret = new Array(i);
423
+ while (i--) {
424
+ ret[i] = list[i + start];
425
+ }
426
+ return ret
427
+ }
428
+
429
+ /**
430
+ * Mix properties into target object.
431
+ */
432
+ function extend (to, _from) {
433
+ for (var key in _from) {
434
+ to[key] = _from[key];
435
+ }
436
+ return to
437
+ }
438
+
439
+ /**
440
+ * Merge an Array of Objects into a single Object.
441
+ */
442
+ function toObject (arr) {
443
+ var res = {};
444
+ for (var i = 0; i < arr.length; i++) {
445
+ if (arr[i]) {
446
+ extend(res, arr[i]);
447
+ }
448
+ }
449
+ return res
450
+ }
451
+
452
+ /**
453
+ * Perform no operation.
454
+ * Stubbing args to make Flow happy without leaving useless transpiled code
455
+ * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/)
456
+ */
457
+ function noop (a, b, c) {}
458
+
459
+ /**
460
+ * Always return false.
461
+ */
462
+ var no = function (a, b, c) { return false; };
463
+
464
+ /**
465
+ * Return same value
466
+ */
467
+ var identity = function (_) { return _; };
468
+
469
+ /**
470
+ * Generate a static keys string from compiler modules.
471
+ */
472
+ function genStaticKeys (modules) {
473
+ return modules.reduce(function (keys, m) {
474
+ return keys.concat(m.staticKeys || [])
475
+ }, []).join(',')
476
+ }
477
+
478
+ /**
479
+ * Check if two values are loosely equal - that is,
480
+ * if they are plain objects, do they have the same shape?
481
+ */
482
+ function looseEqual (a, b) {
483
+ if (a === b) { return true }
484
+ var isObjectA = isObject(a);
485
+ var isObjectB = isObject(b);
486
+ if (isObjectA && isObjectB) {
487
+ try {
488
+ var isArrayA = Array.isArray(a);
489
+ var isArrayB = Array.isArray(b);
490
+ if (isArrayA && isArrayB) {
491
+ return a.length === b.length && a.every(function (e, i) {
492
+ return looseEqual(e, b[i])
493
+ })
494
+ } else if (!isArrayA && !isArrayB) {
495
+ var keysA = Object.keys(a);
496
+ var keysB = Object.keys(b);
497
+ return keysA.length === keysB.length && keysA.every(function (key) {
498
+ return looseEqual(a[key], b[key])
499
+ })
500
+ } else {
501
+ /* istanbul ignore next */
502
+ return false
503
+ }
504
+ } catch (e) {
505
+ /* istanbul ignore next */
506
+ return false
507
+ }
508
+ } else if (!isObjectA && !isObjectB) {
509
+ return String(a) === String(b)
510
+ } else {
511
+ return false
512
+ }
513
+ }
514
+
515
+ function looseIndexOf (arr, val) {
516
+ for (var i = 0; i < arr.length; i++) {
517
+ if (looseEqual(arr[i], val)) { return i }
518
+ }
519
+ return -1
520
+ }
521
+
522
+ /**
523
+ * Ensure a function is called only once.
524
+ */
525
+ function once (fn) {
526
+ var called = false;
527
+ return function () {
528
+ if (!called) {
529
+ called = true;
530
+ fn.apply(this, arguments);
531
+ }
532
+ }
533
+ }
534
+
535
+ var SSR_ATTR = 'data-server-rendered';
536
+
537
+ var ASSET_TYPES = [
538
+ 'component',
539
+ 'directive',
540
+ 'filter'
541
+ ];
542
+
543
+ var LIFECYCLE_HOOKS = [
544
+ 'beforeCreate',
545
+ 'created',
546
+ 'beforeMount',
547
+ 'mounted',
548
+ 'beforeUpdate',
549
+ 'updated',
550
+ 'beforeDestroy',
551
+ 'destroyed',
552
+ 'activated',
553
+ 'deactivated',
554
+ 'errorCaptured'
555
+ ];
556
+
557
+ /* */
558
+
559
+ var config = ({
560
+ /**
561
+ * Option merge strategies (used in core/util/options)
562
+ */
563
+ // $flow-disable-line
564
+ optionMergeStrategies: Object.create(null),
565
+
566
+ /**
567
+ * Whether to suppress warnings.
568
+ */
569
+ silent: false,
570
+
571
+ /**
572
+ * Show production mode tip message on boot?
573
+ */
574
+ productionTip: process.env.NODE_ENV !== 'production',
575
+
576
+ /**
577
+ * Whether to enable devtools
578
+ */
579
+ devtools: process.env.NODE_ENV !== 'production',
580
+
581
+ /**
582
+ * Whether to record perf
583
+ */
584
+ performance: false,
585
+
586
+ /**
587
+ * Error handler for watcher errors
588
+ */
589
+ errorHandler: null,
590
+
591
+ /**
592
+ * Warn handler for watcher warns
593
+ */
594
+ warnHandler: null,
595
+
596
+ /**
597
+ * Ignore certain custom elements
598
+ */
599
+ ignoredElements: [],
600
+
601
+ /**
602
+ * Custom user key aliases for v-on
603
+ */
604
+ // $flow-disable-line
605
+ keyCodes: Object.create(null),
606
+
607
+ /**
608
+ * Check if a tag is reserved so that it cannot be registered as a
609
+ * component. This is platform-dependent and may be overwritten.
610
+ */
611
+ isReservedTag: no,
612
+
613
+ /**
614
+ * Check if an attribute is reserved so that it cannot be used as a component
615
+ * prop. This is platform-dependent and may be overwritten.
616
+ */
617
+ isReservedAttr: no,
618
+
619
+ /**
620
+ * Check if a tag is an unknown element.
621
+ * Platform-dependent.
622
+ */
623
+ isUnknownElement: no,
624
+
625
+ /**
626
+ * Get the namespace of an element
627
+ */
628
+ getTagNamespace: noop,
629
+
630
+ /**
631
+ * Parse the real tag name for the specific platform.
632
+ */
633
+ parsePlatformTagName: identity,
634
+
635
+ /**
636
+ * Check if an attribute must be bound using property, e.g. value
637
+ * Platform-dependent.
638
+ */
639
+ mustUseProp: no,
640
+
641
+ /**
642
+ * Exposed for legacy reasons
643
+ */
644
+ _lifecycleHooks: LIFECYCLE_HOOKS
645
+ });
646
+
647
+ /* */
648
+
649
+ /**
650
+ * Check if a string starts with $ or _
651
+ */
652
+ function isReserved (str) {
653
+ var c = (str + '').charCodeAt(0);
654
+ return c === 0x24 || c === 0x5F
655
+ }
656
+
657
+ /**
658
+ * Define a property.
659
+ */
660
+ function def (obj, key, val, enumerable) {
661
+ Object.defineProperty(obj, key, {
662
+ value: val,
663
+ enumerable: !!enumerable,
664
+ writable: true,
665
+ configurable: true
666
+ });
667
+ }
668
+
669
+ /**
670
+ * Parse simple path.
671
+ */
672
+ var bailRE = /[^\w.$]/;
673
+ function parsePath (path) {
674
+ if (bailRE.test(path)) {
675
+ return
676
+ }
677
+ var segments = path.split('.');
678
+ return function (obj) {
679
+ for (var i = 0; i < segments.length; i++) {
680
+ if (!obj) { return }
681
+ obj = obj[segments[i]];
682
+ }
683
+ return obj
684
+ }
685
+ }
686
+
687
+ /* */
688
+
689
+
690
+ // can we use __proto__?
691
+ var hasProto = '__proto__' in {};
692
+
693
+ // Browser environment sniffing
694
+ var inBrowser = typeof window !== 'undefined';
695
+ var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;
696
+ var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();
697
+ var UA = inBrowser && window.navigator.userAgent.toLowerCase();
698
+ var isIE = UA && /msie|trident/.test(UA);
699
+ var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
700
+ var isEdge = UA && UA.indexOf('edge/') > 0;
701
+ var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');
702
+ var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');
703
+ var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
704
+
705
+ // Firefox has a "watch" function on Object.prototype...
706
+ var nativeWatch = ({}).watch;
707
+
708
+ var supportsPassive = false;
709
+ if (inBrowser) {
710
+ try {
711
+ var opts = {};
712
+ Object.defineProperty(opts, 'passive', ({
713
+ get: function get () {
714
+ /* istanbul ignore next */
715
+ supportsPassive = true;
716
+ }
717
+ })); // https://github.com/facebook/flow/issues/285
718
+ window.addEventListener('test-passive', null, opts);
719
+ } catch (e) {}
720
+ }
721
+
722
+ // this needs to be lazy-evaled because vue may be required before
723
+ // vue-server-renderer can set VUE_ENV
724
+ var _isServer;
725
+ var isServerRendering = function () {
726
+ if (_isServer === undefined) {
727
+ /* istanbul ignore if */
728
+ if (!inBrowser && typeof global !== 'undefined') {
729
+ // detect presence of vue-server-renderer and avoid
730
+ // Webpack shimming the process
731
+ _isServer = global['process'].env.VUE_ENV === 'server';
732
+ } else {
733
+ _isServer = false;
734
+ }
735
+ }
736
+ return _isServer
737
+ };
738
+
739
+ // detect devtools
740
+ var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
741
+
742
+ /* istanbul ignore next */
743
+ function isNative (Ctor) {
744
+ return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
745
+ }
746
+
747
+ var hasSymbol =
748
+ typeof Symbol !== 'undefined' && isNative(Symbol) &&
749
+ typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);
750
+
751
+ var _Set;
752
+ /* istanbul ignore if */ // $flow-disable-line
753
+ if (typeof Set !== 'undefined' && isNative(Set)) {
754
+ // use native Set when available.
755
+ _Set = Set;
756
+ } else {
757
+ // a non-standard Set polyfill that only works with primitive keys.
758
+ _Set = (function () {
759
+ function Set () {
760
+ this.set = Object.create(null);
761
+ }
762
+ Set.prototype.has = function has (key) {
763
+ return this.set[key] === true
764
+ };
765
+ Set.prototype.add = function add (key) {
766
+ this.set[key] = true;
767
+ };
768
+ Set.prototype.clear = function clear () {
769
+ this.set = Object.create(null);
770
+ };
771
+
772
+ return Set;
773
+ }());
774
+ }
775
+
776
+ /* */
777
+
778
+ var warn = noop;
779
+ var tip = noop;
780
+ var generateComponentTrace = (noop); // work around flow check
781
+ var formatComponentName = (noop);
782
+
783
+ if (process.env.NODE_ENV !== 'production') {
784
+ var hasConsole = typeof console !== 'undefined';
785
+ var classifyRE = /(?:^|[-_])(\w)/g;
786
+ var classify = function (str) { return str
787
+ .replace(classifyRE, function (c) { return c.toUpperCase(); })
788
+ .replace(/[-_]/g, ''); };
789
+
790
+ warn = function (msg, vm) {
791
+ var trace = vm ? generateComponentTrace(vm) : '';
792
+
793
+ if (config.warnHandler) {
794
+ config.warnHandler.call(null, msg, vm, trace);
795
+ } else if (hasConsole && (!config.silent)) {
796
+ console.error(("[Vue warn]: " + msg + trace));
797
+ }
798
+ };
799
+
800
+ tip = function (msg, vm) {
801
+ if (hasConsole && (!config.silent)) {
802
+ console.warn("[Vue tip]: " + msg + (
803
+ vm ? generateComponentTrace(vm) : ''
804
+ ));
805
+ }
806
+ };
807
+
808
+ formatComponentName = function (vm, includeFile) {
809
+ if (vm.$root === vm) {
810
+ return '<Root>'
811
+ }
812
+ var options = typeof vm === 'function' && vm.cid != null
813
+ ? vm.options
814
+ : vm._isVue
815
+ ? vm.$options || vm.constructor.options
816
+ : vm || {};
817
+ var name = options.name || options._componentTag;
818
+ var file = options.__file;
819
+ if (!name && file) {
820
+ var match = file.match(/([^/\\]+)\.vue$/);
821
+ name = match && match[1];
822
+ }
823
+
824
+ return (
825
+ (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") +
826
+ (file && includeFile !== false ? (" at " + file) : '')
827
+ )
828
+ };
829
+
830
+ var repeat = function (str, n) {
831
+ var res = '';
832
+ while (n) {
833
+ if (n % 2 === 1) { res += str; }
834
+ if (n > 1) { str += str; }
835
+ n >>= 1;
836
+ }
837
+ return res
838
+ };
839
+
840
+ generateComponentTrace = function (vm) {
841
+ if (vm._isVue && vm.$parent) {
842
+ var tree = [];
843
+ var currentRecursiveSequence = 0;
844
+ while (vm) {
845
+ if (tree.length > 0) {
846
+ var last = tree[tree.length - 1];
847
+ if (last.constructor === vm.constructor) {
848
+ currentRecursiveSequence++;
849
+ vm = vm.$parent;
850
+ continue
851
+ } else if (currentRecursiveSequence > 0) {
852
+ tree[tree.length - 1] = [last, currentRecursiveSequence];
853
+ currentRecursiveSequence = 0;
854
+ }
855
+ }
856
+ tree.push(vm);
857
+ vm = vm.$parent;
858
+ }
859
+ return '\n\nfound in\n\n' + tree
860
+ .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)
861
+ ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)")
862
+ : formatComponentName(vm))); })
863
+ .join('\n')
864
+ } else {
865
+ return ("\n\n(found in " + (formatComponentName(vm)) + ")")
866
+ }
867
+ };
868
+ }
869
+
870
+ /* */
871
+
872
+
873
+ var uid = 0;
874
+
875
+ /**
876
+ * A dep is an observable that can have multiple
877
+ * directives subscribing to it.
878
+ */
879
+ var Dep = function Dep () {
880
+ this.id = uid++;
881
+ this.subs = [];
882
+ };
883
+
884
+ Dep.prototype.addSub = function addSub (sub) {
885
+ this.subs.push(sub);
886
+ };
887
+
888
+ Dep.prototype.removeSub = function removeSub (sub) {
889
+ remove(this.subs, sub);
890
+ };
891
+
892
+ Dep.prototype.depend = function depend () {
893
+ if (Dep.target) {
894
+ Dep.target.addDep(this);
895
+ }
896
+ };
897
+
898
+ Dep.prototype.notify = function notify () {
899
+ // stabilize the subscriber list first
900
+ var subs = this.subs.slice();
901
+ for (var i = 0, l = subs.length; i < l; i++) {
902
+ subs[i].update();
903
+ }
904
+ };
905
+
906
+ // the current target watcher being evaluated.
907
+ // this is globally unique because there could be only one
908
+ // watcher being evaluated at any time.
909
+ Dep.target = null;
910
+ var targetStack = [];
911
+
912
+ function pushTarget (_target) {
913
+ if (Dep.target) { targetStack.push(Dep.target); }
914
+ Dep.target = _target;
915
+ }
916
+
917
+ function popTarget () {
918
+ Dep.target = targetStack.pop();
919
+ }
920
+
921
+ /* */
922
+
923
+ var VNode = function VNode (
924
+ tag,
925
+ data,
926
+ children,
927
+ text,
928
+ elm,
929
+ context,
930
+ componentOptions,
931
+ asyncFactory
932
+ ) {
933
+ this.tag = tag;
934
+ this.data = data;
935
+ this.children = children;
936
+ this.text = text;
937
+ this.elm = elm;
938
+ this.ns = undefined;
939
+ this.context = context;
940
+ this.fnContext = undefined;
941
+ this.fnOptions = undefined;
942
+ this.fnScopeId = undefined;
943
+ this.key = data && data.key;
944
+ this.componentOptions = componentOptions;
945
+ this.componentInstance = undefined;
946
+ this.parent = undefined;
947
+ this.raw = false;
948
+ this.isStatic = false;
949
+ this.isRootInsert = true;
950
+ this.isComment = false;
951
+ this.isCloned = false;
952
+ this.isOnce = false;
953
+ this.asyncFactory = asyncFactory;
954
+ this.asyncMeta = undefined;
955
+ this.isAsyncPlaceholder = false;
956
+ };
957
+
958
+ var prototypeAccessors = { child: { configurable: true } };
959
+
960
+ // DEPRECATED: alias for componentInstance for backwards compat.
961
+ /* istanbul ignore next */
962
+ prototypeAccessors.child.get = function () {
963
+ return this.componentInstance
964
+ };
965
+
966
+ Object.defineProperties( VNode.prototype, prototypeAccessors );
967
+
968
+ var createEmptyVNode = function (text) {
969
+ if ( text === void 0 ) text = '';
970
+
971
+ var node = new VNode();
972
+ node.text = text;
973
+ node.isComment = true;
974
+ return node
975
+ };
976
+
977
+ function createTextVNode (val) {
978
+ return new VNode(undefined, undefined, undefined, String(val))
979
+ }
980
+
981
+ // optimized shallow clone
982
+ // used for static nodes and slot nodes because they may be reused across
983
+ // multiple renders, cloning them avoids errors when DOM manipulations rely
984
+ // on their elm reference.
985
+ function cloneVNode (vnode, deep) {
986
+ var componentOptions = vnode.componentOptions;
987
+ var cloned = new VNode(
988
+ vnode.tag,
989
+ vnode.data,
990
+ vnode.children,
991
+ vnode.text,
992
+ vnode.elm,
993
+ vnode.context,
994
+ componentOptions,
995
+ vnode.asyncFactory
996
+ );
997
+ cloned.ns = vnode.ns;
998
+ cloned.isStatic = vnode.isStatic;
999
+ cloned.key = vnode.key;
1000
+ cloned.isComment = vnode.isComment;
1001
+ cloned.fnContext = vnode.fnContext;
1002
+ cloned.fnOptions = vnode.fnOptions;
1003
+ cloned.fnScopeId = vnode.fnScopeId;
1004
+ cloned.isCloned = true;
1005
+ if (deep) {
1006
+ if (vnode.children) {
1007
+ cloned.children = cloneVNodes(vnode.children, true);
1008
+ }
1009
+ if (componentOptions && componentOptions.children) {
1010
+ componentOptions.children = cloneVNodes(componentOptions.children, true);
1011
+ }
1012
+ }
1013
+ return cloned
1014
+ }
1015
+
1016
+ function cloneVNodes (vnodes, deep) {
1017
+ var len = vnodes.length;
1018
+ var res = new Array(len);
1019
+ for (var i = 0; i < len; i++) {
1020
+ res[i] = cloneVNode(vnodes[i], deep);
1021
+ }
1022
+ return res
1023
+ }
1024
+
1025
+ /*
1026
+ * not type checking this file because flow doesn't play well with
1027
+ * dynamically accessing methods on Array prototype
1028
+ */
1029
+
1030
+ var arrayProto = Array.prototype;
1031
+ var arrayMethods = Object.create(arrayProto);[
1032
+ 'push',
1033
+ 'pop',
1034
+ 'shift',
1035
+ 'unshift',
1036
+ 'splice',
1037
+ 'sort',
1038
+ 'reverse'
1039
+ ].forEach(function (method) {
1040
+ // cache original method
1041
+ var original = arrayProto[method];
1042
+ def(arrayMethods, method, function mutator () {
1043
+ var args = [], len = arguments.length;
1044
+ while ( len-- ) args[ len ] = arguments[ len ];
1045
+
1046
+ var result = original.apply(this, args);
1047
+ var ob = this.__ob__;
1048
+ var inserted;
1049
+ switch (method) {
1050
+ case 'push':
1051
+ case 'unshift':
1052
+ inserted = args;
1053
+ break
1054
+ case 'splice':
1055
+ inserted = args.slice(2);
1056
+ break
1057
+ }
1058
+ if (inserted) { ob.observeArray(inserted); }
1059
+ // notify change
1060
+ ob.dep.notify();
1061
+ return result
1062
+ });
1063
+ });
1064
+
1065
+ /* */
1066
+
1067
+ var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
1068
+
1069
+ /**
1070
+ * By default, when a reactive property is set, the new value is
1071
+ * also converted to become reactive. However when passing down props,
1072
+ * we don't want to force conversion because the value may be a nested value
1073
+ * under a frozen data structure. Converting it would defeat the optimization.
1074
+ */
1075
+ var observerState = {
1076
+ shouldConvert: true
1077
+ };
1078
+
1079
+ /**
1080
+ * Observer class that are attached to each observed
1081
+ * object. Once attached, the observer converts target
1082
+ * object's property keys into getter/setters that
1083
+ * collect dependencies and dispatches updates.
1084
+ */
1085
+ var Observer = function Observer (value) {
1086
+ this.value = value;
1087
+ this.dep = new Dep();
1088
+ this.vmCount = 0;
1089
+ def(value, '__ob__', this);
1090
+ if (Array.isArray(value)) {
1091
+ var augment = hasProto
1092
+ ? protoAugment
1093
+ : copyAugment;
1094
+ augment(value, arrayMethods, arrayKeys);
1095
+ this.observeArray(value);
1096
+ } else {
1097
+ this.walk(value);
1098
+ }
1099
+ };
1100
+
1101
+ /**
1102
+ * Walk through each property and convert them into
1103
+ * getter/setters. This method should only be called when
1104
+ * value type is Object.
1105
+ */
1106
+ Observer.prototype.walk = function walk (obj) {
1107
+ var keys = Object.keys(obj);
1108
+ for (var i = 0; i < keys.length; i++) {
1109
+ defineReactive(obj, keys[i], obj[keys[i]]);
1110
+ }
1111
+ };
1112
+
1113
+ /**
1114
+ * Observe a list of Array items.
1115
+ */
1116
+ Observer.prototype.observeArray = function observeArray (items) {
1117
+ for (var i = 0, l = items.length; i < l; i++) {
1118
+ observe(items[i]);
1119
+ }
1120
+ };
1121
+
1122
+ // helpers
1123
+
1124
+ /**
1125
+ * Augment an target Object or Array by intercepting
1126
+ * the prototype chain using __proto__
1127
+ */
1128
+ function protoAugment (target, src, keys) {
1129
+ /* eslint-disable no-proto */
1130
+ target.__proto__ = src;
1131
+ /* eslint-enable no-proto */
1132
+ }
1133
+
1134
+ /**
1135
+ * Augment an target Object or Array by defining
1136
+ * hidden properties.
1137
+ */
1138
+ /* istanbul ignore next */
1139
+ function copyAugment (target, src, keys) {
1140
+ for (var i = 0, l = keys.length; i < l; i++) {
1141
+ var key = keys[i];
1142
+ def(target, key, src[key]);
1143
+ }
1144
+ }
1145
+
1146
+ /**
1147
+ * Attempt to create an observer instance for a value,
1148
+ * returns the new observer if successfully observed,
1149
+ * or the existing observer if the value already has one.
1150
+ */
1151
+ function observe (value, asRootData) {
1152
+ if (!isObject(value) || value instanceof VNode) {
1153
+ return
1154
+ }
1155
+ var ob;
1156
+ if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
1157
+ ob = value.__ob__;
1158
+ } else if (
1159
+ observerState.shouldConvert &&
1160
+ !isServerRendering() &&
1161
+ (Array.isArray(value) || isPlainObject(value)) &&
1162
+ Object.isExtensible(value) &&
1163
+ !value._isVue
1164
+ ) {
1165
+ ob = new Observer(value);
1166
+ }
1167
+ if (asRootData && ob) {
1168
+ ob.vmCount++;
1169
+ }
1170
+ return ob
1171
+ }
1172
+
1173
+ /**
1174
+ * Define a reactive property on an Object.
1175
+ */
1176
+ function defineReactive (
1177
+ obj,
1178
+ key,
1179
+ val,
1180
+ customSetter,
1181
+ shallow
1182
+ ) {
1183
+ var dep = new Dep();
1184
+
1185
+ var property = Object.getOwnPropertyDescriptor(obj, key);
1186
+ if (property && property.configurable === false) {
1187
+ return
1188
+ }
1189
+
1190
+ // cater for pre-defined getter/setters
1191
+ var getter = property && property.get;
1192
+ var setter = property && property.set;
1193
+
1194
+ var childOb = !shallow && observe(val);
1195
+ Object.defineProperty(obj, key, {
1196
+ enumerable: true,
1197
+ configurable: true,
1198
+ get: function reactiveGetter () {
1199
+ var value = getter ? getter.call(obj) : val;
1200
+ if (Dep.target) {
1201
+ dep.depend();
1202
+ if (childOb) {
1203
+ childOb.dep.depend();
1204
+ if (Array.isArray(value)) {
1205
+ dependArray(value);
1206
+ }
1207
+ }
1208
+ }
1209
+ return value
1210
+ },
1211
+ set: function reactiveSetter (newVal) {
1212
+ var value = getter ? getter.call(obj) : val;
1213
+ /* eslint-disable no-self-compare */
1214
+ if (newVal === value || (newVal !== newVal && value !== value)) {
1215
+ return
1216
+ }
1217
+ /* eslint-enable no-self-compare */
1218
+ if (process.env.NODE_ENV !== 'production' && customSetter) {
1219
+ customSetter();
1220
+ }
1221
+ if (setter) {
1222
+ setter.call(obj, newVal);
1223
+ } else {
1224
+ val = newVal;
1225
+ }
1226
+ childOb = !shallow && observe(newVal);
1227
+ dep.notify();
1228
+ }
1229
+ });
1230
+ }
1231
+
1232
+ /**
1233
+ * Set a property on an object. Adds the new property and
1234
+ * triggers change notification if the property doesn't
1235
+ * already exist.
1236
+ */
1237
+ function set (target, key, val) {
1238
+ if (Array.isArray(target) && isValidArrayIndex(key)) {
1239
+ target.length = Math.max(target.length, key);
1240
+ target.splice(key, 1, val);
1241
+ return val
1242
+ }
1243
+ if (key in target && !(key in Object.prototype)) {
1244
+ target[key] = val;
1245
+ return val
1246
+ }
1247
+ var ob = (target).__ob__;
1248
+ if (target._isVue || (ob && ob.vmCount)) {
1249
+ process.env.NODE_ENV !== 'production' && warn(
1250
+ 'Avoid adding reactive properties to a Vue instance or its root $data ' +
1251
+ 'at runtime - declare it upfront in the data option.'
1252
+ );
1253
+ return val
1254
+ }
1255
+ if (!ob) {
1256
+ target[key] = val;
1257
+ return val
1258
+ }
1259
+ defineReactive(ob.value, key, val);
1260
+ ob.dep.notify();
1261
+ return val
1262
+ }
1263
+
1264
+ /**
1265
+ * Delete a property and trigger change if necessary.
1266
+ */
1267
+ function del (target, key) {
1268
+ if (Array.isArray(target) && isValidArrayIndex(key)) {
1269
+ target.splice(key, 1);
1270
+ return
1271
+ }
1272
+ var ob = (target).__ob__;
1273
+ if (target._isVue || (ob && ob.vmCount)) {
1274
+ process.env.NODE_ENV !== 'production' && warn(
1275
+ 'Avoid deleting properties on a Vue instance or its root $data ' +
1276
+ '- just set it to null.'
1277
+ );
1278
+ return
1279
+ }
1280
+ if (!hasOwn(target, key)) {
1281
+ return
1282
+ }
1283
+ delete target[key];
1284
+ if (!ob) {
1285
+ return
1286
+ }
1287
+ ob.dep.notify();
1288
+ }
1289
+
1290
+ /**
1291
+ * Collect dependencies on array elements when the array is touched, since
1292
+ * we cannot intercept array element access like property getters.
1293
+ */
1294
+ function dependArray (value) {
1295
+ for (var e = (void 0), i = 0, l = value.length; i < l; i++) {
1296
+ e = value[i];
1297
+ e && e.__ob__ && e.__ob__.dep.depend();
1298
+ if (Array.isArray(e)) {
1299
+ dependArray(e);
1300
+ }
1301
+ }
1302
+ }
1303
+
1304
+ /* */
1305
+
1306
+ /**
1307
+ * Option overwriting strategies are functions that handle
1308
+ * how to merge a parent option value and a child option
1309
+ * value into the final value.
1310
+ */
1311
+ var strats = config.optionMergeStrategies;
1312
+
1313
+ /**
1314
+ * Options with restrictions
1315
+ */
1316
+ if (process.env.NODE_ENV !== 'production') {
1317
+ strats.el = strats.propsData = function (parent, child, vm, key) {
1318
+ if (!vm) {
1319
+ warn(
1320
+ "option \"" + key + "\" can only be used during instance " +
1321
+ 'creation with the `new` keyword.'
1322
+ );
1323
+ }
1324
+ return defaultStrat(parent, child)
1325
+ };
1326
+ }
1327
+
1328
+ /**
1329
+ * Helper that recursively merges two data objects together.
1330
+ */
1331
+ function mergeData (to, from) {
1332
+ if (!from) { return to }
1333
+ var key, toVal, fromVal;
1334
+ var keys = Object.keys(from);
1335
+ for (var i = 0; i < keys.length; i++) {
1336
+ key = keys[i];
1337
+ toVal = to[key];
1338
+ fromVal = from[key];
1339
+ if (!hasOwn(to, key)) {
1340
+ set(to, key, fromVal);
1341
+ } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {
1342
+ mergeData(toVal, fromVal);
1343
+ }
1344
+ }
1345
+ return to
1346
+ }
1347
+
1348
+ /**
1349
+ * Data
1350
+ */
1351
+ function mergeDataOrFn (
1352
+ parentVal,
1353
+ childVal,
1354
+ vm
1355
+ ) {
1356
+ if (!vm) {
1357
+ // in a Vue.extend merge, both should be functions
1358
+ if (!childVal) {
1359
+ return parentVal
1360
+ }
1361
+ if (!parentVal) {
1362
+ return childVal
1363
+ }
1364
+ // when parentVal & childVal are both present,
1365
+ // we need to return a function that returns the
1366
+ // merged result of both functions... no need to
1367
+ // check if parentVal is a function here because
1368
+ // it has to be a function to pass previous merges.
1369
+ return function mergedDataFn () {
1370
+ return mergeData(
1371
+ typeof childVal === 'function' ? childVal.call(this, this) : childVal,
1372
+ typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal
1373
+ )
1374
+ }
1375
+ } else {
1376
+ return function mergedInstanceDataFn () {
1377
+ // instance merge
1378
+ var instanceData = typeof childVal === 'function'
1379
+ ? childVal.call(vm, vm)
1380
+ : childVal;
1381
+ var defaultData = typeof parentVal === 'function'
1382
+ ? parentVal.call(vm, vm)
1383
+ : parentVal;
1384
+ if (instanceData) {
1385
+ return mergeData(instanceData, defaultData)
1386
+ } else {
1387
+ return defaultData
1388
+ }
1389
+ }
1390
+ }
1391
+ }
1392
+
1393
+ strats.data = function (
1394
+ parentVal,
1395
+ childVal,
1396
+ vm
1397
+ ) {
1398
+ if (!vm) {
1399
+ if (childVal && typeof childVal !== 'function') {
1400
+ process.env.NODE_ENV !== 'production' && warn(
1401
+ 'The "data" option should be a function ' +
1402
+ 'that returns a per-instance value in component ' +
1403
+ 'definitions.',
1404
+ vm
1405
+ );
1406
+
1407
+ return parentVal
1408
+ }
1409
+ return mergeDataOrFn(parentVal, childVal)
1410
+ }
1411
+
1412
+ return mergeDataOrFn(parentVal, childVal, vm)
1413
+ };
1414
+
1415
+ /**
1416
+ * Hooks and props are merged as arrays.
1417
+ */
1418
+ function mergeHook (
1419
+ parentVal,
1420
+ childVal
1421
+ ) {
1422
+ return childVal
1423
+ ? parentVal
1424
+ ? parentVal.concat(childVal)
1425
+ : Array.isArray(childVal)
1426
+ ? childVal
1427
+ : [childVal]
1428
+ : parentVal
1429
+ }
1430
+
1431
+ LIFECYCLE_HOOKS.forEach(function (hook) {
1432
+ strats[hook] = mergeHook;
1433
+ });
1434
+
1435
+ /**
1436
+ * Assets
1437
+ *
1438
+ * When a vm is present (instance creation), we need to do
1439
+ * a three-way merge between constructor options, instance
1440
+ * options and parent options.
1441
+ */
1442
+ function mergeAssets (
1443
+ parentVal,
1444
+ childVal,
1445
+ vm,
1446
+ key
1447
+ ) {
1448
+ var res = Object.create(parentVal || null);
1449
+ if (childVal) {
1450
+ process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);
1451
+ return extend(res, childVal)
1452
+ } else {
1453
+ return res
1454
+ }
1455
+ }
1456
+
1457
+ ASSET_TYPES.forEach(function (type) {
1458
+ strats[type + 's'] = mergeAssets;
1459
+ });
1460
+
1461
+ /**
1462
+ * Watchers.
1463
+ *
1464
+ * Watchers hashes should not overwrite one
1465
+ * another, so we merge them as arrays.
1466
+ */
1467
+ strats.watch = function (
1468
+ parentVal,
1469
+ childVal,
1470
+ vm,
1471
+ key
1472
+ ) {
1473
+ // work around Firefox's Object.prototype.watch...
1474
+ if (parentVal === nativeWatch) { parentVal = undefined; }
1475
+ if (childVal === nativeWatch) { childVal = undefined; }
1476
+ /* istanbul ignore if */
1477
+ if (!childVal) { return Object.create(parentVal || null) }
1478
+ if (process.env.NODE_ENV !== 'production') {
1479
+ assertObjectType(key, childVal, vm);
1480
+ }
1481
+ if (!parentVal) { return childVal }
1482
+ var ret = {};
1483
+ extend(ret, parentVal);
1484
+ for (var key$1 in childVal) {
1485
+ var parent = ret[key$1];
1486
+ var child = childVal[key$1];
1487
+ if (parent && !Array.isArray(parent)) {
1488
+ parent = [parent];
1489
+ }
1490
+ ret[key$1] = parent
1491
+ ? parent.concat(child)
1492
+ : Array.isArray(child) ? child : [child];
1493
+ }
1494
+ return ret
1495
+ };
1496
+
1497
+ /**
1498
+ * Other object hashes.
1499
+ */
1500
+ strats.props =
1501
+ strats.methods =
1502
+ strats.inject =
1503
+ strats.computed = function (
1504
+ parentVal,
1505
+ childVal,
1506
+ vm,
1507
+ key
1508
+ ) {
1509
+ if (childVal && process.env.NODE_ENV !== 'production') {
1510
+ assertObjectType(key, childVal, vm);
1511
+ }
1512
+ if (!parentVal) { return childVal }
1513
+ var ret = Object.create(null);
1514
+ extend(ret, parentVal);
1515
+ if (childVal) { extend(ret, childVal); }
1516
+ return ret
1517
+ };
1518
+ strats.provide = mergeDataOrFn;
1519
+
1520
+ /**
1521
+ * Default strategy.
1522
+ */
1523
+ var defaultStrat = function (parentVal, childVal) {
1524
+ return childVal === undefined
1525
+ ? parentVal
1526
+ : childVal
1527
+ };
1528
+
1529
+ /**
1530
+ * Validate component names
1531
+ */
1532
+ function checkComponents (options) {
1533
+ for (var key in options.components) {
1534
+ validateComponentName(key);
1535
+ }
1536
+ }
1537
+
1538
+ function validateComponentName (name) {
1539
+ if (!/^[a-zA-Z][\w-]*$/.test(name)) {
1540
+ warn(
1541
+ 'Invalid component name: "' + name + '". Component names ' +
1542
+ 'can only contain alphanumeric characters and the hyphen, ' +
1543
+ 'and must start with a letter.'
1544
+ );
1545
+ }
1546
+ if (isBuiltInTag(name) || config.isReservedTag(name)) {
1547
+ warn(
1548
+ 'Do not use built-in or reserved HTML elements as component ' +
1549
+ 'id: ' + name
1550
+ );
1551
+ }
1552
+ }
1553
+
1554
+ /**
1555
+ * Ensure all props option syntax are normalized into the
1556
+ * Object-based format.
1557
+ */
1558
+ function normalizeProps (options, vm) {
1559
+ var props = options.props;
1560
+ if (!props) { return }
1561
+ var res = {};
1562
+ var i, val, name;
1563
+ if (Array.isArray(props)) {
1564
+ i = props.length;
1565
+ while (i--) {
1566
+ val = props[i];
1567
+ if (typeof val === 'string') {
1568
+ name = camelize(val);
1569
+ res[name] = { type: null };
1570
+ } else if (process.env.NODE_ENV !== 'production') {
1571
+ warn('props must be strings when using array syntax.');
1572
+ }
1573
+ }
1574
+ } else if (isPlainObject(props)) {
1575
+ for (var key in props) {
1576
+ val = props[key];
1577
+ name = camelize(key);
1578
+ res[name] = isPlainObject(val)
1579
+ ? val
1580
+ : { type: val };
1581
+ }
1582
+ } else if (process.env.NODE_ENV !== 'production') {
1583
+ warn(
1584
+ "Invalid value for option \"props\": expected an Array or an Object, " +
1585
+ "but got " + (toRawType(props)) + ".",
1586
+ vm
1587
+ );
1588
+ }
1589
+ options.props = res;
1590
+ }
1591
+
1592
+ /**
1593
+ * Normalize all injections into Object-based format
1594
+ */
1595
+ function normalizeInject (options, vm) {
1596
+ var inject = options.inject;
1597
+ if (!inject) { return }
1598
+ var normalized = options.inject = {};
1599
+ if (Array.isArray(inject)) {
1600
+ for (var i = 0; i < inject.length; i++) {
1601
+ normalized[inject[i]] = { from: inject[i] };
1602
+ }
1603
+ } else if (isPlainObject(inject)) {
1604
+ for (var key in inject) {
1605
+ var val = inject[key];
1606
+ normalized[key] = isPlainObject(val)
1607
+ ? extend({ from: key }, val)
1608
+ : { from: val };
1609
+ }
1610
+ } else if (process.env.NODE_ENV !== 'production') {
1611
+ warn(
1612
+ "Invalid value for option \"inject\": expected an Array or an Object, " +
1613
+ "but got " + (toRawType(inject)) + ".",
1614
+ vm
1615
+ );
1616
+ }
1617
+ }
1618
+
1619
+ /**
1620
+ * Normalize raw function directives into object format.
1621
+ */
1622
+ function normalizeDirectives (options) {
1623
+ var dirs = options.directives;
1624
+ if (dirs) {
1625
+ for (var key in dirs) {
1626
+ var def = dirs[key];
1627
+ if (typeof def === 'function') {
1628
+ dirs[key] = { bind: def, update: def };
1629
+ }
1630
+ }
1631
+ }
1632
+ }
1633
+
1634
+ function assertObjectType (name, value, vm) {
1635
+ if (!isPlainObject(value)) {
1636
+ warn(
1637
+ "Invalid value for option \"" + name + "\": expected an Object, " +
1638
+ "but got " + (toRawType(value)) + ".",
1639
+ vm
1640
+ );
1641
+ }
1642
+ }
1643
+
1644
+ /**
1645
+ * Merge two option objects into a new one.
1646
+ * Core utility used in both instantiation and inheritance.
1647
+ */
1648
+ function mergeOptions (
1649
+ parent,
1650
+ child,
1651
+ vm
1652
+ ) {
1653
+ if (process.env.NODE_ENV !== 'production') {
1654
+ checkComponents(child);
1655
+ }
1656
+
1657
+ if (typeof child === 'function') {
1658
+ child = child.options;
1659
+ }
1660
+
1661
+ normalizeProps(child, vm);
1662
+ normalizeInject(child, vm);
1663
+ normalizeDirectives(child);
1664
+ var extendsFrom = child.extends;
1665
+ if (extendsFrom) {
1666
+ parent = mergeOptions(parent, extendsFrom, vm);
1667
+ }
1668
+ if (child.mixins) {
1669
+ for (var i = 0, l = child.mixins.length; i < l; i++) {
1670
+ parent = mergeOptions(parent, child.mixins[i], vm);
1671
+ }
1672
+ }
1673
+ var options = {};
1674
+ var key;
1675
+ for (key in parent) {
1676
+ mergeField(key);
1677
+ }
1678
+ for (key in child) {
1679
+ if (!hasOwn(parent, key)) {
1680
+ mergeField(key);
1681
+ }
1682
+ }
1683
+ function mergeField (key) {
1684
+ var strat = strats[key] || defaultStrat;
1685
+ options[key] = strat(parent[key], child[key], vm, key);
1686
+ }
1687
+ return options
1688
+ }
1689
+
1690
+ /**
1691
+ * Resolve an asset.
1692
+ * This function is used because child instances need access
1693
+ * to assets defined in its ancestor chain.
1694
+ */
1695
+ function resolveAsset (
1696
+ options,
1697
+ type,
1698
+ id,
1699
+ warnMissing
1700
+ ) {
1701
+ /* istanbul ignore if */
1702
+ if (typeof id !== 'string') {
1703
+ return
1704
+ }
1705
+ var assets = options[type];
1706
+ // check local registration variations first
1707
+ if (hasOwn(assets, id)) { return assets[id] }
1708
+ var camelizedId = camelize(id);
1709
+ if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }
1710
+ var PascalCaseId = capitalize(camelizedId);
1711
+ if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }
1712
+ // fallback to prototype chain
1713
+ var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];
1714
+ if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {
1715
+ warn(
1716
+ 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,
1717
+ options
1718
+ );
1719
+ }
1720
+ return res
1721
+ }
1722
+
1723
+ /* */
1724
+
1725
+ function validateProp (
1726
+ key,
1727
+ propOptions,
1728
+ propsData,
1729
+ vm
1730
+ ) {
1731
+ var prop = propOptions[key];
1732
+ var absent = !hasOwn(propsData, key);
1733
+ var value = propsData[key];
1734
+ // handle boolean props
1735
+ if (isType(Boolean, prop.type)) {
1736
+ if (absent && !hasOwn(prop, 'default')) {
1737
+ value = false;
1738
+ } else if (!isType(String, prop.type) && (value === '' || value === hyphenate(key))) {
1739
+ value = true;
1740
+ }
1741
+ }
1742
+ // check default value
1743
+ if (value === undefined) {
1744
+ value = getPropDefaultValue(vm, prop, key);
1745
+ // since the default value is a fresh copy,
1746
+ // make sure to observe it.
1747
+ var prevShouldConvert = observerState.shouldConvert;
1748
+ observerState.shouldConvert = true;
1749
+ observe(value);
1750
+ observerState.shouldConvert = prevShouldConvert;
1751
+ }
1752
+ if (
1753
+ process.env.NODE_ENV !== 'production' &&
1754
+ // skip validation for weex recycle-list child component props
1755
+ !(false && isObject(value) && ('@binding' in value))
1756
+ ) {
1757
+ assertProp(prop, key, value, vm, absent);
1758
+ }
1759
+ return value
1760
+ }
1761
+
1762
+ /**
1763
+ * Get the default value of a prop.
1764
+ */
1765
+ function getPropDefaultValue (vm, prop, key) {
1766
+ // no default, return undefined
1767
+ if (!hasOwn(prop, 'default')) {
1768
+ return undefined
1769
+ }
1770
+ var def = prop.default;
1771
+ // warn against non-factory defaults for Object & Array
1772
+ if (process.env.NODE_ENV !== 'production' && isObject(def)) {
1773
+ warn(
1774
+ 'Invalid default value for prop "' + key + '": ' +
1775
+ 'Props with type Object/Array must use a factory function ' +
1776
+ 'to return the default value.',
1777
+ vm
1778
+ );
1779
+ }
1780
+ // the raw prop value was also undefined from previous render,
1781
+ // return previous default value to avoid unnecessary watcher trigger
1782
+ if (vm && vm.$options.propsData &&
1783
+ vm.$options.propsData[key] === undefined &&
1784
+ vm._props[key] !== undefined
1785
+ ) {
1786
+ return vm._props[key]
1787
+ }
1788
+ // call factory function for non-Function types
1789
+ // a value is Function if its prototype is function even across different execution context
1790
+ return typeof def === 'function' && getType(prop.type) !== 'Function'
1791
+ ? def.call(vm)
1792
+ : def
1793
+ }
1794
+
1795
+ /**
1796
+ * Assert whether a prop is valid.
1797
+ */
1798
+ function assertProp (
1799
+ prop,
1800
+ name,
1801
+ value,
1802
+ vm,
1803
+ absent
1804
+ ) {
1805
+ if (prop.required && absent) {
1806
+ warn(
1807
+ 'Missing required prop: "' + name + '"',
1808
+ vm
1809
+ );
1810
+ return
1811
+ }
1812
+ if (value == null && !prop.required) {
1813
+ return
1814
+ }
1815
+ var type = prop.type;
1816
+ var valid = !type || type === true;
1817
+ var expectedTypes = [];
1818
+ if (type) {
1819
+ if (!Array.isArray(type)) {
1820
+ type = [type];
1821
+ }
1822
+ for (var i = 0; i < type.length && !valid; i++) {
1823
+ var assertedType = assertType(value, type[i]);
1824
+ expectedTypes.push(assertedType.expectedType || '');
1825
+ valid = assertedType.valid;
1826
+ }
1827
+ }
1828
+ if (!valid) {
1829
+ warn(
1830
+ "Invalid prop: type check failed for prop \"" + name + "\"." +
1831
+ " Expected " + (expectedTypes.map(capitalize).join(', ')) +
1832
+ ", got " + (toRawType(value)) + ".",
1833
+ vm
1834
+ );
1835
+ return
1836
+ }
1837
+ var validator = prop.validator;
1838
+ if (validator) {
1839
+ if (!validator(value)) {
1840
+ warn(
1841
+ 'Invalid prop: custom validator check failed for prop "' + name + '".',
1842
+ vm
1843
+ );
1844
+ }
1845
+ }
1846
+ }
1847
+
1848
+ var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;
1849
+
1850
+ function assertType (value, type) {
1851
+ var valid;
1852
+ var expectedType = getType(type);
1853
+ if (simpleCheckRE.test(expectedType)) {
1854
+ var t = typeof value;
1855
+ valid = t === expectedType.toLowerCase();
1856
+ // for primitive wrapper objects
1857
+ if (!valid && t === 'object') {
1858
+ valid = value instanceof type;
1859
+ }
1860
+ } else if (expectedType === 'Object') {
1861
+ valid = isPlainObject(value);
1862
+ } else if (expectedType === 'Array') {
1863
+ valid = Array.isArray(value);
1864
+ } else {
1865
+ valid = value instanceof type;
1866
+ }
1867
+ return {
1868
+ valid: valid,
1869
+ expectedType: expectedType
1870
+ }
1871
+ }
1872
+
1873
+ /**
1874
+ * Use function string name to check built-in types,
1875
+ * because a simple equality check will fail when running
1876
+ * across different vms / iframes.
1877
+ */
1878
+ function getType (fn) {
1879
+ var match = fn && fn.toString().match(/^\s*function (\w+)/);
1880
+ return match ? match[1] : ''
1881
+ }
1882
+
1883
+ function isType (type, fn) {
1884
+ if (!Array.isArray(fn)) {
1885
+ return getType(fn) === getType(type)
1886
+ }
1887
+ for (var i = 0, len = fn.length; i < len; i++) {
1888
+ if (getType(fn[i]) === getType(type)) {
1889
+ return true
1890
+ }
1891
+ }
1892
+ /* istanbul ignore next */
1893
+ return false
1894
+ }
1895
+
1896
+ /* */
1897
+
1898
+ function handleError (err, vm, info) {
1899
+ if (vm) {
1900
+ var cur = vm;
1901
+ while ((cur = cur.$parent)) {
1902
+ var hooks = cur.$options.errorCaptured;
1903
+ if (hooks) {
1904
+ for (var i = 0; i < hooks.length; i++) {
1905
+ try {
1906
+ var capture = hooks[i].call(cur, err, vm, info) === false;
1907
+ if (capture) { return }
1908
+ } catch (e) {
1909
+ globalHandleError(e, cur, 'errorCaptured hook');
1910
+ }
1911
+ }
1912
+ }
1913
+ }
1914
+ }
1915
+ globalHandleError(err, vm, info);
1916
+ }
1917
+
1918
+ function globalHandleError (err, vm, info) {
1919
+ if (config.errorHandler) {
1920
+ try {
1921
+ return config.errorHandler.call(null, err, vm, info)
1922
+ } catch (e) {
1923
+ logError(e, null, 'config.errorHandler');
1924
+ }
1925
+ }
1926
+ logError(err, vm, info);
1927
+ }
1928
+
1929
+ function logError (err, vm, info) {
1930
+ if (process.env.NODE_ENV !== 'production') {
1931
+ warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);
1932
+ }
1933
+ /* istanbul ignore else */
1934
+ if ((inBrowser || inWeex) && typeof console !== 'undefined') {
1935
+ console.error(err);
1936
+ } else {
1937
+ throw err
1938
+ }
1939
+ }
1940
+
1941
+ /* */
1942
+ /* globals MessageChannel */
1943
+
1944
+ var callbacks = [];
1945
+ var pending = false;
1946
+
1947
+ function flushCallbacks () {
1948
+ pending = false;
1949
+ var copies = callbacks.slice(0);
1950
+ callbacks.length = 0;
1951
+ for (var i = 0; i < copies.length; i++) {
1952
+ copies[i]();
1953
+ }
1954
+ }
1955
+
1956
+ // Here we have async deferring wrappers using both micro and macro tasks.
1957
+ // In < 2.4 we used micro tasks everywhere, but there are some scenarios where
1958
+ // micro tasks have too high a priority and fires in between supposedly
1959
+ // sequential events (e.g. #4521, #6690) or even between bubbling of the same
1960
+ // event (#6566). However, using macro tasks everywhere also has subtle problems
1961
+ // when state is changed right before repaint (e.g. #6813, out-in transitions).
1962
+ // Here we use micro task by default, but expose a way to force macro task when
1963
+ // needed (e.g. in event handlers attached by v-on).
1964
+ var microTimerFunc;
1965
+ var macroTimerFunc;
1966
+ var useMacroTask = false;
1967
+
1968
+ // Determine (macro) Task defer implementation.
1969
+ // Technically setImmediate should be the ideal choice, but it's only available
1970
+ // in IE. The only polyfill that consistently queues the callback after all DOM
1971
+ // events triggered in the same loop is by using MessageChannel.
1972
+ /* istanbul ignore if */
1973
+ if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {
1974
+ macroTimerFunc = function () {
1975
+ setImmediate(flushCallbacks);
1976
+ };
1977
+ } else if (typeof MessageChannel !== 'undefined' && (
1978
+ isNative(MessageChannel) ||
1979
+ // PhantomJS
1980
+ MessageChannel.toString() === '[object MessageChannelConstructor]'
1981
+ )) {
1982
+ var channel = new MessageChannel();
1983
+ var port = channel.port2;
1984
+ channel.port1.onmessage = flushCallbacks;
1985
+ macroTimerFunc = function () {
1986
+ port.postMessage(1);
1987
+ };
1988
+ } else {
1989
+ /* istanbul ignore next */
1990
+ macroTimerFunc = function () {
1991
+ setTimeout(flushCallbacks, 0);
1992
+ };
1993
+ }
1994
+
1995
+ // Determine MicroTask defer implementation.
1996
+ /* istanbul ignore next, $flow-disable-line */
1997
+ if (typeof Promise !== 'undefined' && isNative(Promise)) {
1998
+ var p = Promise.resolve();
1999
+ microTimerFunc = function () {
2000
+ p.then(flushCallbacks);
2001
+ // in problematic UIWebViews, Promise.then doesn't completely break, but
2002
+ // it can get stuck in a weird state where callbacks are pushed into the
2003
+ // microtask queue but the queue isn't being flushed, until the browser
2004
+ // needs to do some other work, e.g. handle a timer. Therefore we can
2005
+ // "force" the microtask queue to be flushed by adding an empty timer.
2006
+ if (isIOS) { setTimeout(noop); }
2007
+ };
2008
+ } else {
2009
+ // fallback to macro
2010
+ microTimerFunc = macroTimerFunc;
2011
+ }
2012
+
2013
+ /**
2014
+ * Wrap a function so that if any code inside triggers state change,
2015
+ * the changes are queued using a Task instead of a MicroTask.
2016
+ */
2017
+ function withMacroTask (fn) {
2018
+ return fn._withTask || (fn._withTask = function () {
2019
+ useMacroTask = true;
2020
+ var res = fn.apply(null, arguments);
2021
+ useMacroTask = false;
2022
+ return res
2023
+ })
2024
+ }
2025
+
2026
+ function nextTick (cb, ctx) {
2027
+ var _resolve;
2028
+ callbacks.push(function () {
2029
+ if (cb) {
2030
+ try {
2031
+ cb.call(ctx);
2032
+ } catch (e) {
2033
+ handleError(e, ctx, 'nextTick');
2034
+ }
2035
+ } else if (_resolve) {
2036
+ _resolve(ctx);
2037
+ }
2038
+ });
2039
+ if (!pending) {
2040
+ pending = true;
2041
+ if (useMacroTask) {
2042
+ macroTimerFunc();
2043
+ } else {
2044
+ microTimerFunc();
2045
+ }
2046
+ }
2047
+ // $flow-disable-line
2048
+ if (!cb && typeof Promise !== 'undefined') {
2049
+ return new Promise(function (resolve) {
2050
+ _resolve = resolve;
2051
+ })
2052
+ }
2053
+ }
2054
+
2055
+ /* */
2056
+
2057
+ var mark;
2058
+ var measure;
2059
+
2060
+ if (process.env.NODE_ENV !== 'production') {
2061
+ var perf = inBrowser && window.performance;
2062
+ /* istanbul ignore if */
2063
+ if (
2064
+ perf &&
2065
+ perf.mark &&
2066
+ perf.measure &&
2067
+ perf.clearMarks &&
2068
+ perf.clearMeasures
2069
+ ) {
2070
+ mark = function (tag) { return perf.mark(tag); };
2071
+ measure = function (name, startTag, endTag) {
2072
+ perf.measure(name, startTag, endTag);
2073
+ perf.clearMarks(startTag);
2074
+ perf.clearMarks(endTag);
2075
+ perf.clearMeasures(name);
2076
+ };
2077
+ }
2078
+ }
2079
+
2080
+ /* not type checking this file because flow doesn't play well with Proxy */
2081
+
2082
+ var initProxy;
2083
+
2084
+ if (process.env.NODE_ENV !== 'production') {
2085
+ var allowedGlobals = makeMap(
2086
+ 'Infinity,undefined,NaN,isFinite,isNaN,' +
2087
+ 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
2088
+ 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +
2089
+ 'require' // for Webpack/Browserify
2090
+ );
2091
+
2092
+ var warnNonPresent = function (target, key) {
2093
+ warn(
2094
+ "Property or method \"" + key + "\" is not defined on the instance but " +
2095
+ 'referenced during render. Make sure that this property is reactive, ' +
2096
+ 'either in the data option, or for class-based components, by ' +
2097
+ 'initializing the property. ' +
2098
+ 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',
2099
+ target
2100
+ );
2101
+ };
2102
+
2103
+ var hasProxy =
2104
+ typeof Proxy !== 'undefined' &&
2105
+ Proxy.toString().match(/native code/);
2106
+
2107
+ if (hasProxy) {
2108
+ var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');
2109
+ config.keyCodes = new Proxy(config.keyCodes, {
2110
+ set: function set (target, key, value) {
2111
+ if (isBuiltInModifier(key)) {
2112
+ warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key));
2113
+ return false
2114
+ } else {
2115
+ target[key] = value;
2116
+ return true
2117
+ }
2118
+ }
2119
+ });
2120
+ }
2121
+
2122
+ var hasHandler = {
2123
+ has: function has (target, key) {
2124
+ var has = key in target;
2125
+ var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';
2126
+ if (!has && !isAllowed) {
2127
+ warnNonPresent(target, key);
2128
+ }
2129
+ return has || !isAllowed
2130
+ }
2131
+ };
2132
+
2133
+ var getHandler = {
2134
+ get: function get (target, key) {
2135
+ if (typeof key === 'string' && !(key in target)) {
2136
+ warnNonPresent(target, key);
2137
+ }
2138
+ return target[key]
2139
+ }
2140
+ };
2141
+
2142
+ initProxy = function initProxy (vm) {
2143
+ if (hasProxy) {
2144
+ // determine which proxy handler to use
2145
+ var options = vm.$options;
2146
+ var handlers = options.render && options.render._withStripped
2147
+ ? getHandler
2148
+ : hasHandler;
2149
+ vm._renderProxy = new Proxy(vm, handlers);
2150
+ } else {
2151
+ vm._renderProxy = vm;
2152
+ }
2153
+ };
2154
+ }
2155
+
2156
+ /* */
2157
+
2158
+ var seenObjects = new _Set();
2159
+
2160
+ /**
2161
+ * Recursively traverse an object to evoke all converted
2162
+ * getters, so that every nested property inside the object
2163
+ * is collected as a "deep" dependency.
2164
+ */
2165
+ function traverse (val) {
2166
+ _traverse(val, seenObjects);
2167
+ seenObjects.clear();
2168
+ }
2169
+
2170
+ function _traverse (val, seen) {
2171
+ var i, keys;
2172
+ var isA = Array.isArray(val);
2173
+ if ((!isA && !isObject(val)) || Object.isFrozen(val)) {
2174
+ return
2175
+ }
2176
+ if (val.__ob__) {
2177
+ var depId = val.__ob__.dep.id;
2178
+ if (seen.has(depId)) {
2179
+ return
2180
+ }
2181
+ seen.add(depId);
2182
+ }
2183
+ if (isA) {
2184
+ i = val.length;
2185
+ while (i--) { _traverse(val[i], seen); }
2186
+ } else {
2187
+ keys = Object.keys(val);
2188
+ i = keys.length;
2189
+ while (i--) { _traverse(val[keys[i]], seen); }
2190
+ }
2191
+ }
2192
+
2193
+ /* */
2194
+
2195
+ var normalizeEvent = cached(function (name) {
2196
+ var passive = name.charAt(0) === '&';
2197
+ name = passive ? name.slice(1) : name;
2198
+ var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first
2199
+ name = once$$1 ? name.slice(1) : name;
2200
+ var capture = name.charAt(0) === '!';
2201
+ name = capture ? name.slice(1) : name;
2202
+ return {
2203
+ name: name,
2204
+ once: once$$1,
2205
+ capture: capture,
2206
+ passive: passive
2207
+ }
2208
+ });
2209
+
2210
+ function createFnInvoker (fns) {
2211
+ function invoker () {
2212
+ var arguments$1 = arguments;
2213
+
2214
+ var fns = invoker.fns;
2215
+ if (Array.isArray(fns)) {
2216
+ var cloned = fns.slice();
2217
+ for (var i = 0; i < cloned.length; i++) {
2218
+ cloned[i].apply(null, arguments$1);
2219
+ }
2220
+ } else {
2221
+ // return handler return value for single handlers
2222
+ return fns.apply(null, arguments)
2223
+ }
2224
+ }
2225
+ invoker.fns = fns;
2226
+ return invoker
2227
+ }
2228
+
2229
+ function updateListeners (
2230
+ on,
2231
+ oldOn,
2232
+ add,
2233
+ remove$$1,
2234
+ vm
2235
+ ) {
2236
+ var name, def, cur, old, event;
2237
+ for (name in on) {
2238
+ def = cur = on[name];
2239
+ old = oldOn[name];
2240
+ event = normalizeEvent(name);
2241
+ /* istanbul ignore if */
2242
+ if (isUndef(cur)) {
2243
+ process.env.NODE_ENV !== 'production' && warn(
2244
+ "Invalid handler for event \"" + (event.name) + "\": got " + String(cur),
2245
+ vm
2246
+ );
2247
+ } else if (isUndef(old)) {
2248
+ if (isUndef(cur.fns)) {
2249
+ cur = on[name] = createFnInvoker(cur);
2250
+ }
2251
+ add(event.name, cur, event.once, event.capture, event.passive, event.params);
2252
+ } else if (cur !== old) {
2253
+ old.fns = cur;
2254
+ on[name] = old;
2255
+ }
2256
+ }
2257
+ for (name in oldOn) {
2258
+ if (isUndef(on[name])) {
2259
+ event = normalizeEvent(name);
2260
+ remove$$1(event.name, oldOn[name], event.capture);
2261
+ }
2262
+ }
2263
+ }
2264
+
2265
+ /* */
2266
+
2267
+ function mergeVNodeHook (def, hookKey, hook) {
2268
+ if (def instanceof VNode) {
2269
+ def = def.data.hook || (def.data.hook = {});
2270
+ }
2271
+ var invoker;
2272
+ var oldHook = def[hookKey];
2273
+
2274
+ function wrappedHook () {
2275
+ hook.apply(this, arguments);
2276
+ // important: remove merged hook to ensure it's called only once
2277
+ // and prevent memory leak
2278
+ remove(invoker.fns, wrappedHook);
2279
+ }
2280
+
2281
+ if (isUndef(oldHook)) {
2282
+ // no existing hook
2283
+ invoker = createFnInvoker([wrappedHook]);
2284
+ } else {
2285
+ /* istanbul ignore if */
2286
+ if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {
2287
+ // already a merged invoker
2288
+ invoker = oldHook;
2289
+ invoker.fns.push(wrappedHook);
2290
+ } else {
2291
+ // existing plain hook
2292
+ invoker = createFnInvoker([oldHook, wrappedHook]);
2293
+ }
2294
+ }
2295
+
2296
+ invoker.merged = true;
2297
+ def[hookKey] = invoker;
2298
+ }
2299
+
2300
+ /* */
2301
+
2302
+ function extractPropsFromVNodeData (
2303
+ data,
2304
+ Ctor,
2305
+ tag
2306
+ ) {
2307
+ // we are only extracting raw values here.
2308
+ // validation and default values are handled in the child
2309
+ // component itself.
2310
+ var propOptions = Ctor.options.props;
2311
+ if (isUndef(propOptions)) {
2312
+ return
2313
+ }
2314
+ var res = {};
2315
+ var attrs = data.attrs;
2316
+ var props = data.props;
2317
+ if (isDef(attrs) || isDef(props)) {
2318
+ for (var key in propOptions) {
2319
+ var altKey = hyphenate(key);
2320
+ if (process.env.NODE_ENV !== 'production') {
2321
+ var keyInLowerCase = key.toLowerCase();
2322
+ if (
2323
+ key !== keyInLowerCase &&
2324
+ attrs && hasOwn(attrs, keyInLowerCase)
2325
+ ) {
2326
+ tip(
2327
+ "Prop \"" + keyInLowerCase + "\" is passed to component " +
2328
+ (formatComponentName(tag || Ctor)) + ", but the declared prop name is" +
2329
+ " \"" + key + "\". " +
2330
+ "Note that HTML attributes are case-insensitive and camelCased " +
2331
+ "props need to use their kebab-case equivalents when using in-DOM " +
2332
+ "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"."
2333
+ );
2334
+ }
2335
+ }
2336
+ checkProp(res, props, key, altKey, true) ||
2337
+ checkProp(res, attrs, key, altKey, false);
2338
+ }
2339
+ }
2340
+ return res
2341
+ }
2342
+
2343
+ function checkProp (
2344
+ res,
2345
+ hash,
2346
+ key,
2347
+ altKey,
2348
+ preserve
2349
+ ) {
2350
+ if (isDef(hash)) {
2351
+ if (hasOwn(hash, key)) {
2352
+ res[key] = hash[key];
2353
+ if (!preserve) {
2354
+ delete hash[key];
2355
+ }
2356
+ return true
2357
+ } else if (hasOwn(hash, altKey)) {
2358
+ res[key] = hash[altKey];
2359
+ if (!preserve) {
2360
+ delete hash[altKey];
2361
+ }
2362
+ return true
2363
+ }
2364
+ }
2365
+ return false
2366
+ }
2367
+
2368
+ /* */
2369
+
2370
+ // The template compiler attempts to minimize the need for normalization by
2371
+ // statically analyzing the template at compile time.
2372
+ //
2373
+ // For plain HTML markup, normalization can be completely skipped because the
2374
+ // generated render function is guaranteed to return Array<VNode>. There are
2375
+ // two cases where extra normalization is needed:
2376
+
2377
+ // 1. When the children contains components - because a functional component
2378
+ // may return an Array instead of a single root. In this case, just a simple
2379
+ // normalization is needed - if any child is an Array, we flatten the whole
2380
+ // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
2381
+ // because functional components already normalize their own children.
2382
+ function simpleNormalizeChildren (children) {
2383
+ for (var i = 0; i < children.length; i++) {
2384
+ if (Array.isArray(children[i])) {
2385
+ return Array.prototype.concat.apply([], children)
2386
+ }
2387
+ }
2388
+ return children
2389
+ }
2390
+
2391
+ // 2. When the children contains constructs that always generated nested Arrays,
2392
+ // e.g. <template>, <slot>, v-for, or when the children is provided by user
2393
+ // with hand-written render functions / JSX. In such cases a full normalization
2394
+ // is needed to cater to all possible types of children values.
2395
+ function normalizeChildren (children) {
2396
+ return isPrimitive(children)
2397
+ ? [createTextVNode(children)]
2398
+ : Array.isArray(children)
2399
+ ? normalizeArrayChildren(children)
2400
+ : undefined
2401
+ }
2402
+
2403
+ function isTextNode (node) {
2404
+ return isDef(node) && isDef(node.text) && isFalse(node.isComment)
2405
+ }
2406
+
2407
+ function normalizeArrayChildren (children, nestedIndex) {
2408
+ var res = [];
2409
+ var i, c, lastIndex, last;
2410
+ for (i = 0; i < children.length; i++) {
2411
+ c = children[i];
2412
+ if (isUndef(c) || typeof c === 'boolean') { continue }
2413
+ lastIndex = res.length - 1;
2414
+ last = res[lastIndex];
2415
+ // nested
2416
+ if (Array.isArray(c)) {
2417
+ if (c.length > 0) {
2418
+ c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i));
2419
+ // merge adjacent text nodes
2420
+ if (isTextNode(c[0]) && isTextNode(last)) {
2421
+ res[lastIndex] = createTextVNode(last.text + (c[0]).text);
2422
+ c.shift();
2423
+ }
2424
+ res.push.apply(res, c);
2425
+ }
2426
+ } else if (isPrimitive(c)) {
2427
+ if (isTextNode(last)) {
2428
+ // merge adjacent text nodes
2429
+ // this is necessary for SSR hydration because text nodes are
2430
+ // essentially merged when rendered to HTML strings
2431
+ res[lastIndex] = createTextVNode(last.text + c);
2432
+ } else if (c !== '') {
2433
+ // convert primitive to vnode
2434
+ res.push(createTextVNode(c));
2435
+ }
2436
+ } else {
2437
+ if (isTextNode(c) && isTextNode(last)) {
2438
+ // merge adjacent text nodes
2439
+ res[lastIndex] = createTextVNode(last.text + c.text);
2440
+ } else {
2441
+ // default key for nested array children (likely generated by v-for)
2442
+ if (isTrue(children._isVList) &&
2443
+ isDef(c.tag) &&
2444
+ isUndef(c.key) &&
2445
+ isDef(nestedIndex)) {
2446
+ c.key = "__vlist" + nestedIndex + "_" + i + "__";
2447
+ }
2448
+ res.push(c);
2449
+ }
2450
+ }
2451
+ }
2452
+ return res
2453
+ }
2454
+
2455
+ /* */
2456
+
2457
+ function ensureCtor (comp, base) {
2458
+ if (
2459
+ comp.__esModule ||
2460
+ (hasSymbol && comp[Symbol.toStringTag] === 'Module')
2461
+ ) {
2462
+ comp = comp.default;
2463
+ }
2464
+ return isObject(comp)
2465
+ ? base.extend(comp)
2466
+ : comp
2467
+ }
2468
+
2469
+ function createAsyncPlaceholder (
2470
+ factory,
2471
+ data,
2472
+ context,
2473
+ children,
2474
+ tag
2475
+ ) {
2476
+ var node = createEmptyVNode();
2477
+ node.asyncFactory = factory;
2478
+ node.asyncMeta = { data: data, context: context, children: children, tag: tag };
2479
+ return node
2480
+ }
2481
+
2482
+ function resolveAsyncComponent (
2483
+ factory,
2484
+ baseCtor,
2485
+ context
2486
+ ) {
2487
+ if (isTrue(factory.error) && isDef(factory.errorComp)) {
2488
+ return factory.errorComp
2489
+ }
2490
+
2491
+ if (isDef(factory.resolved)) {
2492
+ return factory.resolved
2493
+ }
2494
+
2495
+ if (isTrue(factory.loading) && isDef(factory.loadingComp)) {
2496
+ return factory.loadingComp
2497
+ }
2498
+
2499
+ if (isDef(factory.contexts)) {
2500
+ // already pending
2501
+ factory.contexts.push(context);
2502
+ } else {
2503
+ var contexts = factory.contexts = [context];
2504
+ var sync = true;
2505
+
2506
+ var forceRender = function () {
2507
+ for (var i = 0, l = contexts.length; i < l; i++) {
2508
+ contexts[i].$forceUpdate();
2509
+ }
2510
+ };
2511
+
2512
+ var resolve = once(function (res) {
2513
+ // cache resolved
2514
+ factory.resolved = ensureCtor(res, baseCtor);
2515
+ // invoke callbacks only if this is not a synchronous resolve
2516
+ // (async resolves are shimmed as synchronous during SSR)
2517
+ if (!sync) {
2518
+ forceRender();
2519
+ }
2520
+ });
2521
+
2522
+ var reject = once(function (reason) {
2523
+ process.env.NODE_ENV !== 'production' && warn(
2524
+ "Failed to resolve async component: " + (String(factory)) +
2525
+ (reason ? ("\nReason: " + reason) : '')
2526
+ );
2527
+ if (isDef(factory.errorComp)) {
2528
+ factory.error = true;
2529
+ forceRender();
2530
+ }
2531
+ });
2532
+
2533
+ var res = factory(resolve, reject);
2534
+
2535
+ if (isObject(res)) {
2536
+ if (typeof res.then === 'function') {
2537
+ // () => Promise
2538
+ if (isUndef(factory.resolved)) {
2539
+ res.then(resolve, reject);
2540
+ }
2541
+ } else if (isDef(res.component) && typeof res.component.then === 'function') {
2542
+ res.component.then(resolve, reject);
2543
+
2544
+ if (isDef(res.error)) {
2545
+ factory.errorComp = ensureCtor(res.error, baseCtor);
2546
+ }
2547
+
2548
+ if (isDef(res.loading)) {
2549
+ factory.loadingComp = ensureCtor(res.loading, baseCtor);
2550
+ if (res.delay === 0) {
2551
+ factory.loading = true;
2552
+ } else {
2553
+ setTimeout(function () {
2554
+ if (isUndef(factory.resolved) && isUndef(factory.error)) {
2555
+ factory.loading = true;
2556
+ forceRender();
2557
+ }
2558
+ }, res.delay || 200);
2559
+ }
2560
+ }
2561
+
2562
+ if (isDef(res.timeout)) {
2563
+ setTimeout(function () {
2564
+ if (isUndef(factory.resolved)) {
2565
+ reject(
2566
+ process.env.NODE_ENV !== 'production'
2567
+ ? ("timeout (" + (res.timeout) + "ms)")
2568
+ : null
2569
+ );
2570
+ }
2571
+ }, res.timeout);
2572
+ }
2573
+ }
2574
+ }
2575
+
2576
+ sync = false;
2577
+ // return in case resolved synchronously
2578
+ return factory.loading
2579
+ ? factory.loadingComp
2580
+ : factory.resolved
2581
+ }
2582
+ }
2583
+
2584
+ /* */
2585
+
2586
+ function isAsyncPlaceholder (node) {
2587
+ return node.isComment && node.asyncFactory
2588
+ }
2589
+
2590
+ /* */
2591
+
2592
+ function getFirstComponentChild (children) {
2593
+ if (Array.isArray(children)) {
2594
+ for (var i = 0; i < children.length; i++) {
2595
+ var c = children[i];
2596
+ if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {
2597
+ return c
2598
+ }
2599
+ }
2600
+ }
2601
+ }
2602
+
2603
+ /* */
2604
+
2605
+ /* */
2606
+
2607
+ function initEvents (vm) {
2608
+ vm._events = Object.create(null);
2609
+ vm._hasHookEvent = false;
2610
+ // init parent attached events
2611
+ var listeners = vm.$options._parentListeners;
2612
+ if (listeners) {
2613
+ updateComponentListeners(vm, listeners);
2614
+ }
2615
+ }
2616
+
2617
+ var target;
2618
+
2619
+ function add (event, fn, once) {
2620
+ if (once) {
2621
+ target.$once(event, fn);
2622
+ } else {
2623
+ target.$on(event, fn);
2624
+ }
2625
+ }
2626
+
2627
+ function remove$1 (event, fn) {
2628
+ target.$off(event, fn);
2629
+ }
2630
+
2631
+ function updateComponentListeners (
2632
+ vm,
2633
+ listeners,
2634
+ oldListeners
2635
+ ) {
2636
+ target = vm;
2637
+ updateListeners(listeners, oldListeners || {}, add, remove$1, vm);
2638
+ target = undefined;
2639
+ }
2640
+
2641
+ function eventsMixin (Vue) {
2642
+ var hookRE = /^hook:/;
2643
+ Vue.prototype.$on = function (event, fn) {
2644
+ var this$1 = this;
2645
+
2646
+ var vm = this;
2647
+ if (Array.isArray(event)) {
2648
+ for (var i = 0, l = event.length; i < l; i++) {
2649
+ this$1.$on(event[i], fn);
2650
+ }
2651
+ } else {
2652
+ (vm._events[event] || (vm._events[event] = [])).push(fn);
2653
+ // optimize hook:event cost by using a boolean flag marked at registration
2654
+ // instead of a hash lookup
2655
+ if (hookRE.test(event)) {
2656
+ vm._hasHookEvent = true;
2657
+ }
2658
+ }
2659
+ return vm
2660
+ };
2661
+
2662
+ Vue.prototype.$once = function (event, fn) {
2663
+ var vm = this;
2664
+ function on () {
2665
+ vm.$off(event, on);
2666
+ fn.apply(vm, arguments);
2667
+ }
2668
+ on.fn = fn;
2669
+ vm.$on(event, on);
2670
+ return vm
2671
+ };
2672
+
2673
+ Vue.prototype.$off = function (event, fn) {
2674
+ var this$1 = this;
2675
+
2676
+ var vm = this;
2677
+ // all
2678
+ if (!arguments.length) {
2679
+ vm._events = Object.create(null);
2680
+ return vm
2681
+ }
2682
+ // array of events
2683
+ if (Array.isArray(event)) {
2684
+ for (var i = 0, l = event.length; i < l; i++) {
2685
+ this$1.$off(event[i], fn);
2686
+ }
2687
+ return vm
2688
+ }
2689
+ // specific event
2690
+ var cbs = vm._events[event];
2691
+ if (!cbs) {
2692
+ return vm
2693
+ }
2694
+ if (!fn) {
2695
+ vm._events[event] = null;
2696
+ return vm
2697
+ }
2698
+ if (fn) {
2699
+ // specific handler
2700
+ var cb;
2701
+ var i$1 = cbs.length;
2702
+ while (i$1--) {
2703
+ cb = cbs[i$1];
2704
+ if (cb === fn || cb.fn === fn) {
2705
+ cbs.splice(i$1, 1);
2706
+ break
2707
+ }
2708
+ }
2709
+ }
2710
+ return vm
2711
+ };
2712
+
2713
+ Vue.prototype.$emit = function (event) {
2714
+ var vm = this;
2715
+ if (process.env.NODE_ENV !== 'production') {
2716
+ var lowerCaseEvent = event.toLowerCase();
2717
+ if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
2718
+ tip(
2719
+ "Event \"" + lowerCaseEvent + "\" is emitted in component " +
2720
+ (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
2721
+ "Note that HTML attributes are case-insensitive and you cannot use " +
2722
+ "v-on to listen to camelCase events when using in-DOM templates. " +
2723
+ "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
2724
+ );
2725
+ }
2726
+ }
2727
+ var cbs = vm._events[event];
2728
+ if (cbs) {
2729
+ cbs = cbs.length > 1 ? toArray(cbs) : cbs;
2730
+ var args = toArray(arguments, 1);
2731
+ for (var i = 0, l = cbs.length; i < l; i++) {
2732
+ try {
2733
+ cbs[i].apply(vm, args);
2734
+ } catch (e) {
2735
+ handleError(e, vm, ("event handler for \"" + event + "\""));
2736
+ }
2737
+ }
2738
+ }
2739
+ return vm
2740
+ };
2741
+ }
2742
+
2743
+ /* */
2744
+
2745
+
2746
+
2747
+ /**
2748
+ * Runtime helper for resolving raw children VNodes into a slot object.
2749
+ */
2750
+ function resolveSlots (
2751
+ children,
2752
+ context
2753
+ ) {
2754
+ var slots = {};
2755
+ if (!children) {
2756
+ return slots
2757
+ }
2758
+ for (var i = 0, l = children.length; i < l; i++) {
2759
+ var child = children[i];
2760
+ var data = child.data;
2761
+ // remove slot attribute if the node is resolved as a Vue slot node
2762
+ if (data && data.attrs && data.attrs.slot) {
2763
+ delete data.attrs.slot;
2764
+ }
2765
+ // named slots should only be respected if the vnode was rendered in the
2766
+ // same context.
2767
+ if ((child.context === context || child.fnContext === context) &&
2768
+ data && data.slot != null
2769
+ ) {
2770
+ var name = data.slot;
2771
+ var slot = (slots[name] || (slots[name] = []));
2772
+ if (child.tag === 'template') {
2773
+ slot.push.apply(slot, child.children || []);
2774
+ } else {
2775
+ slot.push(child);
2776
+ }
2777
+ } else {
2778
+ (slots.default || (slots.default = [])).push(child);
2779
+ }
2780
+ }
2781
+ // ignore slots that contains only whitespace
2782
+ for (var name$1 in slots) {
2783
+ if (slots[name$1].every(isWhitespace)) {
2784
+ delete slots[name$1];
2785
+ }
2786
+ }
2787
+ return slots
2788
+ }
2789
+
2790
+ function isWhitespace (node) {
2791
+ return (node.isComment && !node.asyncFactory) || node.text === ' '
2792
+ }
2793
+
2794
+ function resolveScopedSlots (
2795
+ fns, // see flow/vnode
2796
+ res
2797
+ ) {
2798
+ res = res || {};
2799
+ for (var i = 0; i < fns.length; i++) {
2800
+ if (Array.isArray(fns[i])) {
2801
+ resolveScopedSlots(fns[i], res);
2802
+ } else {
2803
+ res[fns[i].key] = fns[i].fn;
2804
+ }
2805
+ }
2806
+ return res
2807
+ }
2808
+
2809
+ /* */
2810
+
2811
+ var activeInstance = null;
2812
+ var isUpdatingChildComponent = false;
2813
+
2814
+ function initLifecycle (vm) {
2815
+ var options = vm.$options;
2816
+
2817
+ // locate first non-abstract parent
2818
+ var parent = options.parent;
2819
+ if (parent && !options.abstract) {
2820
+ while (parent.$options.abstract && parent.$parent) {
2821
+ parent = parent.$parent;
2822
+ }
2823
+ parent.$children.push(vm);
2824
+ }
2825
+
2826
+ vm.$parent = parent;
2827
+ vm.$root = parent ? parent.$root : vm;
2828
+
2829
+ vm.$children = [];
2830
+ vm.$refs = {};
2831
+
2832
+ vm._watcher = null;
2833
+ vm._inactive = null;
2834
+ vm._directInactive = false;
2835
+ vm._isMounted = false;
2836
+ vm._isDestroyed = false;
2837
+ vm._isBeingDestroyed = false;
2838
+ }
2839
+
2840
+ function lifecycleMixin (Vue) {
2841
+ Vue.prototype._update = function (vnode, hydrating) {
2842
+ var vm = this;
2843
+ if (vm._isMounted) {
2844
+ callHook(vm, 'beforeUpdate');
2845
+ }
2846
+ var prevEl = vm.$el;
2847
+ var prevVnode = vm._vnode;
2848
+ var prevActiveInstance = activeInstance;
2849
+ activeInstance = vm;
2850
+ vm._vnode = vnode;
2851
+ // Vue.prototype.__patch__ is injected in entry points
2852
+ // based on the rendering backend used.
2853
+ if (!prevVnode) {
2854
+ // initial render
2855
+ vm.$el = vm.__patch__(
2856
+ vm.$el, vnode, hydrating, false /* removeOnly */,
2857
+ vm.$options._parentElm,
2858
+ vm.$options._refElm
2859
+ );
2860
+ // no need for the ref nodes after initial patch
2861
+ // this prevents keeping a detached DOM tree in memory (#5851)
2862
+ vm.$options._parentElm = vm.$options._refElm = null;
2863
+ } else {
2864
+ // updates
2865
+ vm.$el = vm.__patch__(prevVnode, vnode);
2866
+ }
2867
+ activeInstance = prevActiveInstance;
2868
+ // update __vue__ reference
2869
+ if (prevEl) {
2870
+ prevEl.__vue__ = null;
2871
+ }
2872
+ if (vm.$el) {
2873
+ vm.$el.__vue__ = vm;
2874
+ }
2875
+ // if parent is an HOC, update its $el as well
2876
+ if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
2877
+ vm.$parent.$el = vm.$el;
2878
+ }
2879
+ // updated hook is called by the scheduler to ensure that children are
2880
+ // updated in a parent's updated hook.
2881
+ };
2882
+
2883
+ Vue.prototype.$forceUpdate = function () {
2884
+ var vm = this;
2885
+ if (vm._watcher) {
2886
+ vm._watcher.update();
2887
+ }
2888
+ };
2889
+
2890
+ Vue.prototype.$destroy = function () {
2891
+ var vm = this;
2892
+ if (vm._isBeingDestroyed) {
2893
+ return
2894
+ }
2895
+ callHook(vm, 'beforeDestroy');
2896
+ vm._isBeingDestroyed = true;
2897
+ // remove self from parent
2898
+ var parent = vm.$parent;
2899
+ if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
2900
+ remove(parent.$children, vm);
2901
+ }
2902
+ // teardown watchers
2903
+ if (vm._watcher) {
2904
+ vm._watcher.teardown();
2905
+ }
2906
+ var i = vm._watchers.length;
2907
+ while (i--) {
2908
+ vm._watchers[i].teardown();
2909
+ }
2910
+ // remove reference from data ob
2911
+ // frozen object may not have observer.
2912
+ if (vm._data.__ob__) {
2913
+ vm._data.__ob__.vmCount--;
2914
+ }
2915
+ // call the last hook...
2916
+ vm._isDestroyed = true;
2917
+ // invoke destroy hooks on current rendered tree
2918
+ vm.__patch__(vm._vnode, null);
2919
+ // fire destroyed hook
2920
+ callHook(vm, 'destroyed');
2921
+ // turn off all instance listeners.
2922
+ vm.$off();
2923
+ // remove __vue__ reference
2924
+ if (vm.$el) {
2925
+ vm.$el.__vue__ = null;
2926
+ }
2927
+ // release circular reference (#6759)
2928
+ if (vm.$vnode) {
2929
+ vm.$vnode.parent = null;
2930
+ }
2931
+ };
2932
+ }
2933
+
2934
+ function mountComponent (
2935
+ vm,
2936
+ el,
2937
+ hydrating
2938
+ ) {
2939
+ vm.$el = el;
2940
+ if (!vm.$options.render) {
2941
+ vm.$options.render = createEmptyVNode;
2942
+ if (process.env.NODE_ENV !== 'production') {
2943
+ /* istanbul ignore if */
2944
+ if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
2945
+ vm.$options.el || el) {
2946
+ warn(
2947
+ 'You are using the runtime-only build of Vue where the template ' +
2948
+ 'compiler is not available. Either pre-compile the templates into ' +
2949
+ 'render functions, or use the compiler-included build.',
2950
+ vm
2951
+ );
2952
+ } else {
2953
+ warn(
2954
+ 'Failed to mount component: template or render function not defined.',
2955
+ vm
2956
+ );
2957
+ }
2958
+ }
2959
+ }
2960
+ callHook(vm, 'beforeMount');
2961
+
2962
+ var updateComponent;
2963
+ /* istanbul ignore if */
2964
+ if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
2965
+ updateComponent = function () {
2966
+ var name = vm._name;
2967
+ var id = vm._uid;
2968
+ var startTag = "vue-perf-start:" + id;
2969
+ var endTag = "vue-perf-end:" + id;
2970
+
2971
+ mark(startTag);
2972
+ var vnode = vm._render();
2973
+ mark(endTag);
2974
+ measure(("vue " + name + " render"), startTag, endTag);
2975
+
2976
+ mark(startTag);
2977
+ vm._update(vnode, hydrating);
2978
+ mark(endTag);
2979
+ measure(("vue " + name + " patch"), startTag, endTag);
2980
+ };
2981
+ } else {
2982
+ updateComponent = function () {
2983
+ vm._update(vm._render(), hydrating);
2984
+ };
2985
+ }
2986
+
2987
+ // we set this to vm._watcher inside the watcher's constructor
2988
+ // since the watcher's initial patch may call $forceUpdate (e.g. inside child
2989
+ // component's mounted hook), which relies on vm._watcher being already defined
2990
+ new Watcher(vm, updateComponent, noop, null, true /* isRenderWatcher */);
2991
+ hydrating = false;
2992
+
2993
+ // manually mounted instance, call mounted on self
2994
+ // mounted is called for render-created child components in its inserted hook
2995
+ if (vm.$vnode == null) {
2996
+ vm._isMounted = true;
2997
+ callHook(vm, 'mounted');
2998
+ }
2999
+ return vm
3000
+ }
3001
+
3002
+ function updateChildComponent (
3003
+ vm,
3004
+ propsData,
3005
+ listeners,
3006
+ parentVnode,
3007
+ renderChildren
3008
+ ) {
3009
+ if (process.env.NODE_ENV !== 'production') {
3010
+ isUpdatingChildComponent = true;
3011
+ }
3012
+
3013
+ // determine whether component has slot children
3014
+ // we need to do this before overwriting $options._renderChildren
3015
+ var hasChildren = !!(
3016
+ renderChildren || // has new static slots
3017
+ vm.$options._renderChildren || // has old static slots
3018
+ parentVnode.data.scopedSlots || // has new scoped slots
3019
+ vm.$scopedSlots !== emptyObject // has old scoped slots
3020
+ );
3021
+
3022
+ vm.$options._parentVnode = parentVnode;
3023
+ vm.$vnode = parentVnode; // update vm's placeholder node without re-render
3024
+
3025
+ if (vm._vnode) { // update child tree's parent
3026
+ vm._vnode.parent = parentVnode;
3027
+ }
3028
+ vm.$options._renderChildren = renderChildren;
3029
+
3030
+ // update $attrs and $listeners hash
3031
+ // these are also reactive so they may trigger child update if the child
3032
+ // used them during render
3033
+ vm.$attrs = (parentVnode.data && parentVnode.data.attrs) || emptyObject;
3034
+ vm.$listeners = listeners || emptyObject;
3035
+
3036
+ // update props
3037
+ if (propsData && vm.$options.props) {
3038
+ observerState.shouldConvert = false;
3039
+ var props = vm._props;
3040
+ var propKeys = vm.$options._propKeys || [];
3041
+ for (var i = 0; i < propKeys.length; i++) {
3042
+ var key = propKeys[i];
3043
+ props[key] = validateProp(key, vm.$options.props, propsData, vm);
3044
+ }
3045
+ observerState.shouldConvert = true;
3046
+ // keep a copy of raw propsData
3047
+ vm.$options.propsData = propsData;
3048
+ }
3049
+
3050
+ // update listeners
3051
+ if (listeners) {
3052
+ var oldListeners = vm.$options._parentListeners;
3053
+ vm.$options._parentListeners = listeners;
3054
+ updateComponentListeners(vm, listeners, oldListeners);
3055
+ }
3056
+ // resolve slots + force update if has children
3057
+ if (hasChildren) {
3058
+ vm.$slots = resolveSlots(renderChildren, parentVnode.context);
3059
+ vm.$forceUpdate();
3060
+ }
3061
+
3062
+ if (process.env.NODE_ENV !== 'production') {
3063
+ isUpdatingChildComponent = false;
3064
+ }
3065
+ }
3066
+
3067
+ function isInInactiveTree (vm) {
3068
+ while (vm && (vm = vm.$parent)) {
3069
+ if (vm._inactive) { return true }
3070
+ }
3071
+ return false
3072
+ }
3073
+
3074
+ function activateChildComponent (vm, direct) {
3075
+ if (direct) {
3076
+ vm._directInactive = false;
3077
+ if (isInInactiveTree(vm)) {
3078
+ return
3079
+ }
3080
+ } else if (vm._directInactive) {
3081
+ return
3082
+ }
3083
+ if (vm._inactive || vm._inactive === null) {
3084
+ vm._inactive = false;
3085
+ for (var i = 0; i < vm.$children.length; i++) {
3086
+ activateChildComponent(vm.$children[i]);
3087
+ }
3088
+ callHook(vm, 'activated');
3089
+ }
3090
+ }
3091
+
3092
+ function deactivateChildComponent (vm, direct) {
3093
+ if (direct) {
3094
+ vm._directInactive = true;
3095
+ if (isInInactiveTree(vm)) {
3096
+ return
3097
+ }
3098
+ }
3099
+ if (!vm._inactive) {
3100
+ vm._inactive = true;
3101
+ for (var i = 0; i < vm.$children.length; i++) {
3102
+ deactivateChildComponent(vm.$children[i]);
3103
+ }
3104
+ callHook(vm, 'deactivated');
3105
+ }
3106
+ }
3107
+
3108
+ function callHook (vm, hook) {
3109
+ var handlers = vm.$options[hook];
3110
+ if (handlers) {
3111
+ for (var i = 0, j = handlers.length; i < j; i++) {
3112
+ try {
3113
+ handlers[i].call(vm);
3114
+ } catch (e) {
3115
+ handleError(e, vm, (hook + " hook"));
3116
+ }
3117
+ }
3118
+ }
3119
+ if (vm._hasHookEvent) {
3120
+ vm.$emit('hook:' + hook);
3121
+ }
3122
+ }
3123
+
3124
+ /* */
3125
+
3126
+
3127
+ var MAX_UPDATE_COUNT = 100;
3128
+
3129
+ var queue = [];
3130
+ var activatedChildren = [];
3131
+ var has = {};
3132
+ var circular = {};
3133
+ var waiting = false;
3134
+ var flushing = false;
3135
+ var index = 0;
3136
+
3137
+ /**
3138
+ * Reset the scheduler's state.
3139
+ */
3140
+ function resetSchedulerState () {
3141
+ index = queue.length = activatedChildren.length = 0;
3142
+ has = {};
3143
+ if (process.env.NODE_ENV !== 'production') {
3144
+ circular = {};
3145
+ }
3146
+ waiting = flushing = false;
3147
+ }
3148
+
3149
+ /**
3150
+ * Flush both queues and run the watchers.
3151
+ */
3152
+ function flushSchedulerQueue () {
3153
+ flushing = true;
3154
+ var watcher, id;
3155
+
3156
+ // Sort queue before flush.
3157
+ // This ensures that:
3158
+ // 1. Components are updated from parent to child. (because parent is always
3159
+ // created before the child)
3160
+ // 2. A component's user watchers are run before its render watcher (because
3161
+ // user watchers are created before the render watcher)
3162
+ // 3. If a component is destroyed during a parent component's watcher run,
3163
+ // its watchers can be skipped.
3164
+ queue.sort(function (a, b) { return a.id - b.id; });
3165
+
3166
+ // do not cache length because more watchers might be pushed
3167
+ // as we run existing watchers
3168
+ for (index = 0; index < queue.length; index++) {
3169
+ watcher = queue[index];
3170
+ id = watcher.id;
3171
+ has[id] = null;
3172
+ watcher.run();
3173
+ // in dev build, check and stop circular updates.
3174
+ if (process.env.NODE_ENV !== 'production' && has[id] != null) {
3175
+ circular[id] = (circular[id] || 0) + 1;
3176
+ if (circular[id] > MAX_UPDATE_COUNT) {
3177
+ warn(
3178
+ 'You may have an infinite update loop ' + (
3179
+ watcher.user
3180
+ ? ("in watcher with expression \"" + (watcher.expression) + "\"")
3181
+ : "in a component render function."
3182
+ ),
3183
+ watcher.vm
3184
+ );
3185
+ break
3186
+ }
3187
+ }
3188
+ }
3189
+
3190
+ // keep copies of post queues before resetting state
3191
+ var activatedQueue = activatedChildren.slice();
3192
+ var updatedQueue = queue.slice();
3193
+
3194
+ resetSchedulerState();
3195
+
3196
+ // call component updated and activated hooks
3197
+ callActivatedHooks(activatedQueue);
3198
+ callUpdatedHooks(updatedQueue);
3199
+
3200
+ // devtool hook
3201
+ /* istanbul ignore if */
3202
+ if (devtools && config.devtools) {
3203
+ devtools.emit('flush');
3204
+ }
3205
+ }
3206
+
3207
+ function callUpdatedHooks (queue) {
3208
+ var i = queue.length;
3209
+ while (i--) {
3210
+ var watcher = queue[i];
3211
+ var vm = watcher.vm;
3212
+ if (vm._watcher === watcher && vm._isMounted) {
3213
+ callHook(vm, 'updated');
3214
+ }
3215
+ }
3216
+ }
3217
+
3218
+ /**
3219
+ * Queue a kept-alive component that was activated during patch.
3220
+ * The queue will be processed after the entire tree has been patched.
3221
+ */
3222
+ function queueActivatedComponent (vm) {
3223
+ // setting _inactive to false here so that a render function can
3224
+ // rely on checking whether it's in an inactive tree (e.g. router-view)
3225
+ vm._inactive = false;
3226
+ activatedChildren.push(vm);
3227
+ }
3228
+
3229
+ function callActivatedHooks (queue) {
3230
+ for (var i = 0; i < queue.length; i++) {
3231
+ queue[i]._inactive = true;
3232
+ activateChildComponent(queue[i], true /* true */);
3233
+ }
3234
+ }
3235
+
3236
+ /**
3237
+ * Push a watcher into the watcher queue.
3238
+ * Jobs with duplicate IDs will be skipped unless it's
3239
+ * pushed when the queue is being flushed.
3240
+ */
3241
+ function queueWatcher (watcher) {
3242
+ var id = watcher.id;
3243
+ if (has[id] == null) {
3244
+ has[id] = true;
3245
+ if (!flushing) {
3246
+ queue.push(watcher);
3247
+ } else {
3248
+ // if already flushing, splice the watcher based on its id
3249
+ // if already past its id, it will be run next immediately.
3250
+ var i = queue.length - 1;
3251
+ while (i > index && queue[i].id > watcher.id) {
3252
+ i--;
3253
+ }
3254
+ queue.splice(i + 1, 0, watcher);
3255
+ }
3256
+ // queue the flush
3257
+ if (!waiting) {
3258
+ waiting = true;
3259
+ nextTick(flushSchedulerQueue);
3260
+ }
3261
+ }
3262
+ }
3263
+
3264
+ /* */
3265
+
3266
+ var uid$2 = 0;
3267
+
3268
+ /**
3269
+ * A watcher parses an expression, collects dependencies,
3270
+ * and fires callback when the expression value changes.
3271
+ * This is used for both the $watch() api and directives.
3272
+ */
3273
+ var Watcher = function Watcher (
3274
+ vm,
3275
+ expOrFn,
3276
+ cb,
3277
+ options,
3278
+ isRenderWatcher
3279
+ ) {
3280
+ this.vm = vm;
3281
+ if (isRenderWatcher) {
3282
+ vm._watcher = this;
3283
+ }
3284
+ vm._watchers.push(this);
3285
+ // options
3286
+ if (options) {
3287
+ this.deep = !!options.deep;
3288
+ this.user = !!options.user;
3289
+ this.lazy = !!options.lazy;
3290
+ this.sync = !!options.sync;
3291
+ } else {
3292
+ this.deep = this.user = this.lazy = this.sync = false;
3293
+ }
3294
+ this.cb = cb;
3295
+ this.id = ++uid$2; // uid for batching
3296
+ this.active = true;
3297
+ this.dirty = this.lazy; // for lazy watchers
3298
+ this.deps = [];
3299
+ this.newDeps = [];
3300
+ this.depIds = new _Set();
3301
+ this.newDepIds = new _Set();
3302
+ this.expression = process.env.NODE_ENV !== 'production'
3303
+ ? expOrFn.toString()
3304
+ : '';
3305
+ // parse expression for getter
3306
+ if (typeof expOrFn === 'function') {
3307
+ this.getter = expOrFn;
3308
+ } else {
3309
+ this.getter = parsePath(expOrFn);
3310
+ if (!this.getter) {
3311
+ this.getter = function () {};
3312
+ process.env.NODE_ENV !== 'production' && warn(
3313
+ "Failed watching path: \"" + expOrFn + "\" " +
3314
+ 'Watcher only accepts simple dot-delimited paths. ' +
3315
+ 'For full control, use a function instead.',
3316
+ vm
3317
+ );
3318
+ }
3319
+ }
3320
+ this.value = this.lazy
3321
+ ? undefined
3322
+ : this.get();
3323
+ };
3324
+
3325
+ /**
3326
+ * Evaluate the getter, and re-collect dependencies.
3327
+ */
3328
+ Watcher.prototype.get = function get () {
3329
+ pushTarget(this);
3330
+ var value;
3331
+ var vm = this.vm;
3332
+ try {
3333
+ value = this.getter.call(vm, vm);
3334
+ } catch (e) {
3335
+ if (this.user) {
3336
+ handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
3337
+ } else {
3338
+ throw e
3339
+ }
3340
+ } finally {
3341
+ // "touch" every property so they are all tracked as
3342
+ // dependencies for deep watching
3343
+ if (this.deep) {
3344
+ traverse(value);
3345
+ }
3346
+ popTarget();
3347
+ this.cleanupDeps();
3348
+ }
3349
+ return value
3350
+ };
3351
+
3352
+ /**
3353
+ * Add a dependency to this directive.
3354
+ */
3355
+ Watcher.prototype.addDep = function addDep (dep) {
3356
+ var id = dep.id;
3357
+ if (!this.newDepIds.has(id)) {
3358
+ this.newDepIds.add(id);
3359
+ this.newDeps.push(dep);
3360
+ if (!this.depIds.has(id)) {
3361
+ dep.addSub(this);
3362
+ }
3363
+ }
3364
+ };
3365
+
3366
+ /**
3367
+ * Clean up for dependency collection.
3368
+ */
3369
+ Watcher.prototype.cleanupDeps = function cleanupDeps () {
3370
+ var this$1 = this;
3371
+
3372
+ var i = this.deps.length;
3373
+ while (i--) {
3374
+ var dep = this$1.deps[i];
3375
+ if (!this$1.newDepIds.has(dep.id)) {
3376
+ dep.removeSub(this$1);
3377
+ }
3378
+ }
3379
+ var tmp = this.depIds;
3380
+ this.depIds = this.newDepIds;
3381
+ this.newDepIds = tmp;
3382
+ this.newDepIds.clear();
3383
+ tmp = this.deps;
3384
+ this.deps = this.newDeps;
3385
+ this.newDeps = tmp;
3386
+ this.newDeps.length = 0;
3387
+ };
3388
+
3389
+ /**
3390
+ * Subscriber interface.
3391
+ * Will be called when a dependency changes.
3392
+ */
3393
+ Watcher.prototype.update = function update () {
3394
+ /* istanbul ignore else */
3395
+ if (this.lazy) {
3396
+ this.dirty = true;
3397
+ } else if (this.sync) {
3398
+ this.run();
3399
+ } else {
3400
+ queueWatcher(this);
3401
+ }
3402
+ };
3403
+
3404
+ /**
3405
+ * Scheduler job interface.
3406
+ * Will be called by the scheduler.
3407
+ */
3408
+ Watcher.prototype.run = function run () {
3409
+ if (this.active) {
3410
+ var value = this.get();
3411
+ if (
3412
+ value !== this.value ||
3413
+ // Deep watchers and watchers on Object/Arrays should fire even
3414
+ // when the value is the same, because the value may
3415
+ // have mutated.
3416
+ isObject(value) ||
3417
+ this.deep
3418
+ ) {
3419
+ // set new value
3420
+ var oldValue = this.value;
3421
+ this.value = value;
3422
+ if (this.user) {
3423
+ try {
3424
+ this.cb.call(this.vm, value, oldValue);
3425
+ } catch (e) {
3426
+ handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
3427
+ }
3428
+ } else {
3429
+ this.cb.call(this.vm, value, oldValue);
3430
+ }
3431
+ }
3432
+ }
3433
+ };
3434
+
3435
+ /**
3436
+ * Evaluate the value of the watcher.
3437
+ * This only gets called for lazy watchers.
3438
+ */
3439
+ Watcher.prototype.evaluate = function evaluate () {
3440
+ this.value = this.get();
3441
+ this.dirty = false;
3442
+ };
3443
+
3444
+ /**
3445
+ * Depend on all deps collected by this watcher.
3446
+ */
3447
+ Watcher.prototype.depend = function depend () {
3448
+ var this$1 = this;
3449
+
3450
+ var i = this.deps.length;
3451
+ while (i--) {
3452
+ this$1.deps[i].depend();
3453
+ }
3454
+ };
3455
+
3456
+ /**
3457
+ * Remove self from all dependencies' subscriber list.
3458
+ */
3459
+ Watcher.prototype.teardown = function teardown () {
3460
+ var this$1 = this;
3461
+
3462
+ if (this.active) {
3463
+ // remove self from vm's watcher list
3464
+ // this is a somewhat expensive operation so we skip it
3465
+ // if the vm is being destroyed.
3466
+ if (!this.vm._isBeingDestroyed) {
3467
+ remove(this.vm._watchers, this);
3468
+ }
3469
+ var i = this.deps.length;
3470
+ while (i--) {
3471
+ this$1.deps[i].removeSub(this$1);
3472
+ }
3473
+ this.active = false;
3474
+ }
3475
+ };
3476
+
3477
+ /* */
3478
+
3479
+ var sharedPropertyDefinition = {
3480
+ enumerable: true,
3481
+ configurable: true,
3482
+ get: noop,
3483
+ set: noop
3484
+ };
3485
+
3486
+ function proxy (target, sourceKey, key) {
3487
+ sharedPropertyDefinition.get = function proxyGetter () {
3488
+ return this[sourceKey][key]
3489
+ };
3490
+ sharedPropertyDefinition.set = function proxySetter (val) {
3491
+ this[sourceKey][key] = val;
3492
+ };
3493
+ Object.defineProperty(target, key, sharedPropertyDefinition);
3494
+ }
3495
+
3496
+ function initState (vm) {
3497
+ vm._watchers = [];
3498
+ var opts = vm.$options;
3499
+ if (opts.props) { initProps(vm, opts.props); }
3500
+ if (opts.methods) { initMethods(vm, opts.methods); }
3501
+ if (opts.data) {
3502
+ initData(vm);
3503
+ } else {
3504
+ observe(vm._data = {}, true /* asRootData */);
3505
+ }
3506
+ if (opts.computed) { initComputed(vm, opts.computed); }
3507
+ if (opts.watch && opts.watch !== nativeWatch) {
3508
+ initWatch(vm, opts.watch);
3509
+ }
3510
+ }
3511
+
3512
+ function initProps (vm, propsOptions) {
3513
+ var propsData = vm.$options.propsData || {};
3514
+ var props = vm._props = {};
3515
+ // cache prop keys so that future props updates can iterate using Array
3516
+ // instead of dynamic object key enumeration.
3517
+ var keys = vm.$options._propKeys = [];
3518
+ var isRoot = !vm.$parent;
3519
+ // root instance props should be converted
3520
+ observerState.shouldConvert = isRoot;
3521
+ var loop = function ( key ) {
3522
+ keys.push(key);
3523
+ var value = validateProp(key, propsOptions, propsData, vm);
3524
+ /* istanbul ignore else */
3525
+ if (process.env.NODE_ENV !== 'production') {
3526
+ var hyphenatedKey = hyphenate(key);
3527
+ if (isReservedAttribute(hyphenatedKey) ||
3528
+ config.isReservedAttr(hyphenatedKey)) {
3529
+ warn(
3530
+ ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),
3531
+ vm
3532
+ );
3533
+ }
3534
+ defineReactive(props, key, value, function () {
3535
+ if (vm.$parent && !isUpdatingChildComponent) {
3536
+ warn(
3537
+ "Avoid mutating a prop directly since the value will be " +
3538
+ "overwritten whenever the parent component re-renders. " +
3539
+ "Instead, use a data or computed property based on the prop's " +
3540
+ "value. Prop being mutated: \"" + key + "\"",
3541
+ vm
3542
+ );
3543
+ }
3544
+ });
3545
+ } else {
3546
+ defineReactive(props, key, value);
3547
+ }
3548
+ // static props are already proxied on the component's prototype
3549
+ // during Vue.extend(). We only need to proxy props defined at
3550
+ // instantiation here.
3551
+ if (!(key in vm)) {
3552
+ proxy(vm, "_props", key);
3553
+ }
3554
+ };
3555
+
3556
+ for (var key in propsOptions) loop( key );
3557
+ observerState.shouldConvert = true;
3558
+ }
3559
+
3560
+ function initData (vm) {
3561
+ var data = vm.$options.data;
3562
+ data = vm._data = typeof data === 'function'
3563
+ ? getData(data, vm)
3564
+ : data || {};
3565
+ if (!isPlainObject(data)) {
3566
+ data = {};
3567
+ process.env.NODE_ENV !== 'production' && warn(
3568
+ 'data functions should return an object:\n' +
3569
+ 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
3570
+ vm
3571
+ );
3572
+ }
3573
+ // proxy data on instance
3574
+ var keys = Object.keys(data);
3575
+ var props = vm.$options.props;
3576
+ var methods = vm.$options.methods;
3577
+ var i = keys.length;
3578
+ while (i--) {
3579
+ var key = keys[i];
3580
+ if (process.env.NODE_ENV !== 'production') {
3581
+ if (methods && hasOwn(methods, key)) {
3582
+ warn(
3583
+ ("Method \"" + key + "\" has already been defined as a data property."),
3584
+ vm
3585
+ );
3586
+ }
3587
+ }
3588
+ if (props && hasOwn(props, key)) {
3589
+ process.env.NODE_ENV !== 'production' && warn(
3590
+ "The data property \"" + key + "\" is already declared as a prop. " +
3591
+ "Use prop default value instead.",
3592
+ vm
3593
+ );
3594
+ } else if (!isReserved(key)) {
3595
+ proxy(vm, "_data", key);
3596
+ }
3597
+ }
3598
+ // observe data
3599
+ observe(data, true /* asRootData */);
3600
+ }
3601
+
3602
+ function getData (data, vm) {
3603
+ try {
3604
+ return data.call(vm, vm)
3605
+ } catch (e) {
3606
+ handleError(e, vm, "data()");
3607
+ return {}
3608
+ }
3609
+ }
3610
+
3611
+ var computedWatcherOptions = { lazy: true };
3612
+
3613
+ function initComputed (vm, computed) {
3614
+ // $flow-disable-line
3615
+ var watchers = vm._computedWatchers = Object.create(null);
3616
+ // computed properties are just getters during SSR
3617
+ var isSSR = isServerRendering();
3618
+
3619
+ for (var key in computed) {
3620
+ var userDef = computed[key];
3621
+ var getter = typeof userDef === 'function' ? userDef : userDef.get;
3622
+ if (process.env.NODE_ENV !== 'production' && getter == null) {
3623
+ warn(
3624
+ ("Getter is missing for computed property \"" + key + "\"."),
3625
+ vm
3626
+ );
3627
+ }
3628
+
3629
+ if (!isSSR) {
3630
+ // create internal watcher for the computed property.
3631
+ watchers[key] = new Watcher(
3632
+ vm,
3633
+ getter || noop,
3634
+ noop,
3635
+ computedWatcherOptions
3636
+ );
3637
+ }
3638
+
3639
+ // component-defined computed properties are already defined on the
3640
+ // component prototype. We only need to define computed properties defined
3641
+ // at instantiation here.
3642
+ if (!(key in vm)) {
3643
+ defineComputed(vm, key, userDef);
3644
+ } else if (process.env.NODE_ENV !== 'production') {
3645
+ if (key in vm.$data) {
3646
+ warn(("The computed property \"" + key + "\" is already defined in data."), vm);
3647
+ } else if (vm.$options.props && key in vm.$options.props) {
3648
+ warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);
3649
+ }
3650
+ }
3651
+ }
3652
+ }
3653
+
3654
+ function defineComputed (
3655
+ target,
3656
+ key,
3657
+ userDef
3658
+ ) {
3659
+ var shouldCache = !isServerRendering();
3660
+ if (typeof userDef === 'function') {
3661
+ sharedPropertyDefinition.get = shouldCache
3662
+ ? createComputedGetter(key)
3663
+ : userDef;
3664
+ sharedPropertyDefinition.set = noop;
3665
+ } else {
3666
+ sharedPropertyDefinition.get = userDef.get
3667
+ ? shouldCache && userDef.cache !== false
3668
+ ? createComputedGetter(key)
3669
+ : userDef.get
3670
+ : noop;
3671
+ sharedPropertyDefinition.set = userDef.set
3672
+ ? userDef.set
3673
+ : noop;
3674
+ }
3675
+ if (process.env.NODE_ENV !== 'production' &&
3676
+ sharedPropertyDefinition.set === noop) {
3677
+ sharedPropertyDefinition.set = function () {
3678
+ warn(
3679
+ ("Computed property \"" + key + "\" was assigned to but it has no setter."),
3680
+ this
3681
+ );
3682
+ };
3683
+ }
3684
+ Object.defineProperty(target, key, sharedPropertyDefinition);
3685
+ }
3686
+
3687
+ function createComputedGetter (key) {
3688
+ return function computedGetter () {
3689
+ var watcher = this._computedWatchers && this._computedWatchers[key];
3690
+ if (watcher) {
3691
+ if (watcher.dirty) {
3692
+ watcher.evaluate();
3693
+ }
3694
+ if (Dep.target) {
3695
+ watcher.depend();
3696
+ }
3697
+ return watcher.value
3698
+ }
3699
+ }
3700
+ }
3701
+
3702
+ function initMethods (vm, methods) {
3703
+ var props = vm.$options.props;
3704
+ for (var key in methods) {
3705
+ if (process.env.NODE_ENV !== 'production') {
3706
+ if (methods[key] == null) {
3707
+ warn(
3708
+ "Method \"" + key + "\" has an undefined value in the component definition. " +
3709
+ "Did you reference the function correctly?",
3710
+ vm
3711
+ );
3712
+ }
3713
+ if (props && hasOwn(props, key)) {
3714
+ warn(
3715
+ ("Method \"" + key + "\" has already been defined as a prop."),
3716
+ vm
3717
+ );
3718
+ }
3719
+ if ((key in vm) && isReserved(key)) {
3720
+ warn(
3721
+ "Method \"" + key + "\" conflicts with an existing Vue instance method. " +
3722
+ "Avoid defining component methods that start with _ or $."
3723
+ );
3724
+ }
3725
+ }
3726
+ vm[key] = methods[key] == null ? noop : bind(methods[key], vm);
3727
+ }
3728
+ }
3729
+
3730
+ function initWatch (vm, watch) {
3731
+ for (var key in watch) {
3732
+ var handler = watch[key];
3733
+ if (Array.isArray(handler)) {
3734
+ for (var i = 0; i < handler.length; i++) {
3735
+ createWatcher(vm, key, handler[i]);
3736
+ }
3737
+ } else {
3738
+ createWatcher(vm, key, handler);
3739
+ }
3740
+ }
3741
+ }
3742
+
3743
+ function createWatcher (
3744
+ vm,
3745
+ keyOrFn,
3746
+ handler,
3747
+ options
3748
+ ) {
3749
+ if (isPlainObject(handler)) {
3750
+ options = handler;
3751
+ handler = handler.handler;
3752
+ }
3753
+ if (typeof handler === 'string') {
3754
+ handler = vm[handler];
3755
+ }
3756
+ return vm.$watch(keyOrFn, handler, options)
3757
+ }
3758
+
3759
+ function stateMixin (Vue) {
3760
+ // flow somehow has problems with directly declared definition object
3761
+ // when using Object.defineProperty, so we have to procedurally build up
3762
+ // the object here.
3763
+ var dataDef = {};
3764
+ dataDef.get = function () { return this._data };
3765
+ var propsDef = {};
3766
+ propsDef.get = function () { return this._props };
3767
+ if (process.env.NODE_ENV !== 'production') {
3768
+ dataDef.set = function (newData) {
3769
+ warn(
3770
+ 'Avoid replacing instance root $data. ' +
3771
+ 'Use nested data properties instead.',
3772
+ this
3773
+ );
3774
+ };
3775
+ propsDef.set = function () {
3776
+ warn("$props is readonly.", this);
3777
+ };
3778
+ }
3779
+ Object.defineProperty(Vue.prototype, '$data', dataDef);
3780
+ Object.defineProperty(Vue.prototype, '$props', propsDef);
3781
+
3782
+ Vue.prototype.$set = set;
3783
+ Vue.prototype.$delete = del;
3784
+
3785
+ Vue.prototype.$watch = function (
3786
+ expOrFn,
3787
+ cb,
3788
+ options
3789
+ ) {
3790
+ var vm = this;
3791
+ if (isPlainObject(cb)) {
3792
+ return createWatcher(vm, expOrFn, cb, options)
3793
+ }
3794
+ options = options || {};
3795
+ options.user = true;
3796
+ var watcher = new Watcher(vm, expOrFn, cb, options);
3797
+ if (options.immediate) {
3798
+ cb.call(vm, watcher.value);
3799
+ }
3800
+ return function unwatchFn () {
3801
+ watcher.teardown();
3802
+ }
3803
+ };
3804
+ }
3805
+
3806
+ /* */
3807
+
3808
+ function initProvide (vm) {
3809
+ var provide = vm.$options.provide;
3810
+ if (provide) {
3811
+ vm._provided = typeof provide === 'function'
3812
+ ? provide.call(vm)
3813
+ : provide;
3814
+ }
3815
+ }
3816
+
3817
+ function initInjections (vm) {
3818
+ var result = resolveInject(vm.$options.inject, vm);
3819
+ if (result) {
3820
+ observerState.shouldConvert = false;
3821
+ Object.keys(result).forEach(function (key) {
3822
+ /* istanbul ignore else */
3823
+ if (process.env.NODE_ENV !== 'production') {
3824
+ defineReactive(vm, key, result[key], function () {
3825
+ warn(
3826
+ "Avoid mutating an injected value directly since the changes will be " +
3827
+ "overwritten whenever the provided component re-renders. " +
3828
+ "injection being mutated: \"" + key + "\"",
3829
+ vm
3830
+ );
3831
+ });
3832
+ } else {
3833
+ defineReactive(vm, key, result[key]);
3834
+ }
3835
+ });
3836
+ observerState.shouldConvert = true;
3837
+ }
3838
+ }
3839
+
3840
+ function resolveInject (inject, vm) {
3841
+ if (inject) {
3842
+ // inject is :any because flow is not smart enough to figure out cached
3843
+ var result = Object.create(null);
3844
+ var keys = hasSymbol
3845
+ ? Reflect.ownKeys(inject).filter(function (key) {
3846
+ /* istanbul ignore next */
3847
+ return Object.getOwnPropertyDescriptor(inject, key).enumerable
3848
+ })
3849
+ : Object.keys(inject);
3850
+
3851
+ for (var i = 0; i < keys.length; i++) {
3852
+ var key = keys[i];
3853
+ var provideKey = inject[key].from;
3854
+ var source = vm;
3855
+ while (source) {
3856
+ if (source._provided && provideKey in source._provided) {
3857
+ result[key] = source._provided[provideKey];
3858
+ break
3859
+ }
3860
+ source = source.$parent;
3861
+ }
3862
+ if (!source) {
3863
+ if ('default' in inject[key]) {
3864
+ var provideDefault = inject[key].default;
3865
+ result[key] = typeof provideDefault === 'function'
3866
+ ? provideDefault.call(vm)
3867
+ : provideDefault;
3868
+ } else if (process.env.NODE_ENV !== 'production') {
3869
+ warn(("Injection \"" + key + "\" not found"), vm);
3870
+ }
3871
+ }
3872
+ }
3873
+ return result
3874
+ }
3875
+ }
3876
+
3877
+ /* */
3878
+
3879
+ /**
3880
+ * Runtime helper for rendering v-for lists.
3881
+ */
3882
+ function renderList (
3883
+ val,
3884
+ render
3885
+ ) {
3886
+ var ret, i, l, keys, key;
3887
+ if (Array.isArray(val) || typeof val === 'string') {
3888
+ ret = new Array(val.length);
3889
+ for (i = 0, l = val.length; i < l; i++) {
3890
+ ret[i] = render(val[i], i);
3891
+ }
3892
+ } else if (typeof val === 'number') {
3893
+ ret = new Array(val);
3894
+ for (i = 0; i < val; i++) {
3895
+ ret[i] = render(i + 1, i);
3896
+ }
3897
+ } else if (isObject(val)) {
3898
+ keys = Object.keys(val);
3899
+ ret = new Array(keys.length);
3900
+ for (i = 0, l = keys.length; i < l; i++) {
3901
+ key = keys[i];
3902
+ ret[i] = render(val[key], key, i);
3903
+ }
3904
+ }
3905
+ if (isDef(ret)) {
3906
+ (ret)._isVList = true;
3907
+ }
3908
+ return ret
3909
+ }
3910
+
3911
+ /* */
3912
+
3913
+ /**
3914
+ * Runtime helper for rendering <slot>
3915
+ */
3916
+ function renderSlot (
3917
+ name,
3918
+ fallback,
3919
+ props,
3920
+ bindObject
3921
+ ) {
3922
+ var scopedSlotFn = this.$scopedSlots[name];
3923
+ var nodes;
3924
+ if (scopedSlotFn) { // scoped slot
3925
+ props = props || {};
3926
+ if (bindObject) {
3927
+ if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {
3928
+ warn(
3929
+ 'slot v-bind without argument expects an Object',
3930
+ this
3931
+ );
3932
+ }
3933
+ props = extend(extend({}, bindObject), props);
3934
+ }
3935
+ nodes = scopedSlotFn(props) || fallback;
3936
+ } else {
3937
+ var slotNodes = this.$slots[name];
3938
+ // warn duplicate slot usage
3939
+ if (slotNodes) {
3940
+ if (process.env.NODE_ENV !== 'production' && slotNodes._rendered) {
3941
+ warn(
3942
+ "Duplicate presence of slot \"" + name + "\" found in the same render tree " +
3943
+ "- this will likely cause render errors.",
3944
+ this
3945
+ );
3946
+ }
3947
+ slotNodes._rendered = true;
3948
+ }
3949
+ nodes = slotNodes || fallback;
3950
+ }
3951
+
3952
+ var target = props && props.slot;
3953
+ if (target) {
3954
+ return this.$createElement('template', { slot: target }, nodes)
3955
+ } else {
3956
+ return nodes
3957
+ }
3958
+ }
3959
+
3960
+ /* */
3961
+
3962
+ /**
3963
+ * Runtime helper for resolving filters
3964
+ */
3965
+ function resolveFilter (id) {
3966
+ return resolveAsset(this.$options, 'filters', id, true) || identity
3967
+ }
3968
+
3969
+ /* */
3970
+
3971
+ /**
3972
+ * Runtime helper for checking keyCodes from config.
3973
+ * exposed as Vue.prototype._k
3974
+ * passing in eventKeyName as last argument separately for backwards compat
3975
+ */
3976
+ function checkKeyCodes (
3977
+ eventKeyCode,
3978
+ key,
3979
+ builtInAlias,
3980
+ eventKeyName
3981
+ ) {
3982
+ var keyCodes = config.keyCodes[key] || builtInAlias;
3983
+ if (keyCodes) {
3984
+ if (Array.isArray(keyCodes)) {
3985
+ return keyCodes.indexOf(eventKeyCode) === -1
3986
+ } else {
3987
+ return keyCodes !== eventKeyCode
3988
+ }
3989
+ } else if (eventKeyName) {
3990
+ return hyphenate(eventKeyName) !== key
3991
+ }
3992
+ }
3993
+
3994
+ /* */
3995
+
3996
+ /**
3997
+ * Runtime helper for merging v-bind="object" into a VNode's data.
3998
+ */
3999
+ function bindObjectProps (
4000
+ data,
4001
+ tag,
4002
+ value,
4003
+ asProp,
4004
+ isSync
4005
+ ) {
4006
+ if (value) {
4007
+ if (!isObject(value)) {
4008
+ process.env.NODE_ENV !== 'production' && warn(
4009
+ 'v-bind without argument expects an Object or Array value',
4010
+ this
4011
+ );
4012
+ } else {
4013
+ if (Array.isArray(value)) {
4014
+ value = toObject(value);
4015
+ }
4016
+ var hash;
4017
+ var loop = function ( key ) {
4018
+ if (
4019
+ key === 'class' ||
4020
+ key === 'style' ||
4021
+ isReservedAttribute(key)
4022
+ ) {
4023
+ hash = data;
4024
+ } else {
4025
+ var type = data.attrs && data.attrs.type;
4026
+ hash = asProp || config.mustUseProp(tag, type, key)
4027
+ ? data.domProps || (data.domProps = {})
4028
+ : data.attrs || (data.attrs = {});
4029
+ }
4030
+ if (!(key in hash)) {
4031
+ hash[key] = value[key];
4032
+
4033
+ if (isSync) {
4034
+ var on = data.on || (data.on = {});
4035
+ on[("update:" + key)] = function ($event) {
4036
+ value[key] = $event;
4037
+ };
4038
+ }
4039
+ }
4040
+ };
4041
+
4042
+ for (var key in value) loop( key );
4043
+ }
4044
+ }
4045
+ return data
4046
+ }
4047
+
4048
+ /* */
4049
+
4050
+ /**
4051
+ * Runtime helper for rendering static trees.
4052
+ */
4053
+ function renderStatic (
4054
+ index,
4055
+ isInFor
4056
+ ) {
4057
+ var cached = this._staticTrees || (this._staticTrees = []);
4058
+ var tree = cached[index];
4059
+ // if has already-rendered static tree and not inside v-for,
4060
+ // we can reuse the same tree by doing a shallow clone.
4061
+ if (tree && !isInFor) {
4062
+ return Array.isArray(tree)
4063
+ ? cloneVNodes(tree)
4064
+ : cloneVNode(tree)
4065
+ }
4066
+ // otherwise, render a fresh tree.
4067
+ tree = cached[index] = this.$options.staticRenderFns[index].call(
4068
+ this._renderProxy,
4069
+ null,
4070
+ this // for render fns generated for functional component templates
4071
+ );
4072
+ markStatic(tree, ("__static__" + index), false);
4073
+ return tree
4074
+ }
4075
+
4076
+ /**
4077
+ * Runtime helper for v-once.
4078
+ * Effectively it means marking the node as static with a unique key.
4079
+ */
4080
+ function markOnce (
4081
+ tree,
4082
+ index,
4083
+ key
4084
+ ) {
4085
+ markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
4086
+ return tree
4087
+ }
4088
+
4089
+ function markStatic (
4090
+ tree,
4091
+ key,
4092
+ isOnce
4093
+ ) {
4094
+ if (Array.isArray(tree)) {
4095
+ for (var i = 0; i < tree.length; i++) {
4096
+ if (tree[i] && typeof tree[i] !== 'string') {
4097
+ markStaticNode(tree[i], (key + "_" + i), isOnce);
4098
+ }
4099
+ }
4100
+ } else {
4101
+ markStaticNode(tree, key, isOnce);
4102
+ }
4103
+ }
4104
+
4105
+ function markStaticNode (node, key, isOnce) {
4106
+ node.isStatic = true;
4107
+ node.key = key;
4108
+ node.isOnce = isOnce;
4109
+ }
4110
+
4111
+ /* */
4112
+
4113
+ function bindObjectListeners (data, value) {
4114
+ if (value) {
4115
+ if (!isPlainObject(value)) {
4116
+ process.env.NODE_ENV !== 'production' && warn(
4117
+ 'v-on without argument expects an Object value',
4118
+ this
4119
+ );
4120
+ } else {
4121
+ var on = data.on = data.on ? extend({}, data.on) : {};
4122
+ for (var key in value) {
4123
+ var existing = on[key];
4124
+ var ours = value[key];
4125
+ on[key] = existing ? [].concat(existing, ours) : ours;
4126
+ }
4127
+ }
4128
+ }
4129
+ return data
4130
+ }
4131
+
4132
+ /* */
4133
+
4134
+ function installRenderHelpers (target) {
4135
+ target._o = markOnce;
4136
+ target._n = toNumber;
4137
+ target._s = toString;
4138
+ target._l = renderList;
4139
+ target._t = renderSlot;
4140
+ target._q = looseEqual;
4141
+ target._i = looseIndexOf;
4142
+ target._m = renderStatic;
4143
+ target._f = resolveFilter;
4144
+ target._k = checkKeyCodes;
4145
+ target._b = bindObjectProps;
4146
+ target._v = createTextVNode;
4147
+ target._e = createEmptyVNode;
4148
+ target._u = resolveScopedSlots;
4149
+ target._g = bindObjectListeners;
4150
+ }
4151
+
4152
+ /* */
4153
+
4154
+ function FunctionalRenderContext (
4155
+ data,
4156
+ props,
4157
+ children,
4158
+ parent,
4159
+ Ctor
4160
+ ) {
4161
+ var options = Ctor.options;
4162
+ this.data = data;
4163
+ this.props = props;
4164
+ this.children = children;
4165
+ this.parent = parent;
4166
+ this.listeners = data.on || emptyObject;
4167
+ this.injections = resolveInject(options.inject, parent);
4168
+ this.slots = function () { return resolveSlots(children, parent); };
4169
+
4170
+ // ensure the createElement function in functional components
4171
+ // gets a unique context - this is necessary for correct named slot check
4172
+ var contextVm = Object.create(parent);
4173
+ var isCompiled = isTrue(options._compiled);
4174
+ var needNormalization = !isCompiled;
4175
+
4176
+ // support for compiled functional template
4177
+ if (isCompiled) {
4178
+ // exposing $options for renderStatic()
4179
+ this.$options = options;
4180
+ // pre-resolve slots for renderSlot()
4181
+ this.$slots = this.slots();
4182
+ this.$scopedSlots = data.scopedSlots || emptyObject;
4183
+ }
4184
+
4185
+ if (options._scopeId) {
4186
+ this._c = function (a, b, c, d) {
4187
+ var vnode = createElement(contextVm, a, b, c, d, needNormalization);
4188
+ if (vnode) {
4189
+ vnode.fnScopeId = options._scopeId;
4190
+ vnode.fnContext = parent;
4191
+ }
4192
+ return vnode
4193
+ };
4194
+ } else {
4195
+ this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };
4196
+ }
4197
+ }
4198
+
4199
+ installRenderHelpers(FunctionalRenderContext.prototype);
4200
+
4201
+ function createFunctionalComponent (
4202
+ Ctor,
4203
+ propsData,
4204
+ data,
4205
+ contextVm,
4206
+ children
4207
+ ) {
4208
+ var options = Ctor.options;
4209
+ var props = {};
4210
+ var propOptions = options.props;
4211
+ if (isDef(propOptions)) {
4212
+ for (var key in propOptions) {
4213
+ props[key] = validateProp(key, propOptions, propsData || emptyObject);
4214
+ }
4215
+ } else {
4216
+ if (isDef(data.attrs)) { mergeProps(props, data.attrs); }
4217
+ if (isDef(data.props)) { mergeProps(props, data.props); }
4218
+ }
4219
+
4220
+ var renderContext = new FunctionalRenderContext(
4221
+ data,
4222
+ props,
4223
+ children,
4224
+ contextVm,
4225
+ Ctor
4226
+ );
4227
+
4228
+ var vnode = options.render.call(null, renderContext._c, renderContext);
4229
+
4230
+ if (vnode instanceof VNode) {
4231
+ vnode.fnContext = contextVm;
4232
+ vnode.fnOptions = options;
4233
+ if (data.slot) {
4234
+ (vnode.data || (vnode.data = {})).slot = data.slot;
4235
+ }
4236
+ }
4237
+
4238
+ return vnode
4239
+ }
4240
+
4241
+ function mergeProps (to, from) {
4242
+ for (var key in from) {
4243
+ to[camelize(key)] = from[key];
4244
+ }
4245
+ }
4246
+
4247
+ /* */
4248
+
4249
+
4250
+
4251
+
4252
+ // Register the component hook to weex native render engine.
4253
+ // The hook will be triggered by native, not javascript.
4254
+
4255
+
4256
+ // Updates the state of the component to weex native render engine.
4257
+
4258
+ /* */
4259
+
4260
+ // https://github.com/Hanks10100/weex-native-directive/tree/master/component
4261
+
4262
+ // listening on native callback
4263
+
4264
+ /* */
4265
+
4266
+ /* */
4267
+
4268
+ // hooks to be invoked on component VNodes during patch
4269
+ var componentVNodeHooks = {
4270
+ init: function init (
4271
+ vnode,
4272
+ hydrating,
4273
+ parentElm,
4274
+ refElm
4275
+ ) {
4276
+ if (!vnode.componentInstance || vnode.componentInstance._isDestroyed) {
4277
+ var child = vnode.componentInstance = createComponentInstanceForVnode(
4278
+ vnode,
4279
+ activeInstance,
4280
+ parentElm,
4281
+ refElm
4282
+ );
4283
+ child.$mount(hydrating ? vnode.elm : undefined, hydrating);
4284
+ } else if (vnode.data.keepAlive) {
4285
+ // kept-alive components, treat as a patch
4286
+ var mountedNode = vnode; // work around flow
4287
+ componentVNodeHooks.prepatch(mountedNode, mountedNode);
4288
+ }
4289
+ },
4290
+
4291
+ prepatch: function prepatch (oldVnode, vnode) {
4292
+ var options = vnode.componentOptions;
4293
+ var child = vnode.componentInstance = oldVnode.componentInstance;
4294
+ updateChildComponent(
4295
+ child,
4296
+ options.propsData, // updated props
4297
+ options.listeners, // updated listeners
4298
+ vnode, // new parent vnode
4299
+ options.children // new children
4300
+ );
4301
+ },
4302
+
4303
+ insert: function insert (vnode) {
4304
+ var context = vnode.context;
4305
+ var componentInstance = vnode.componentInstance;
4306
+ if (!componentInstance._isMounted) {
4307
+ componentInstance._isMounted = true;
4308
+ callHook(componentInstance, 'mounted');
4309
+ }
4310
+ if (vnode.data.keepAlive) {
4311
+ if (context._isMounted) {
4312
+ // vue-router#1212
4313
+ // During updates, a kept-alive component's child components may
4314
+ // change, so directly walking the tree here may call activated hooks
4315
+ // on incorrect children. Instead we push them into a queue which will
4316
+ // be processed after the whole patch process ended.
4317
+ queueActivatedComponent(componentInstance);
4318
+ } else {
4319
+ activateChildComponent(componentInstance, true /* direct */);
4320
+ }
4321
+ }
4322
+ },
4323
+
4324
+ destroy: function destroy (vnode) {
4325
+ var componentInstance = vnode.componentInstance;
4326
+ if (!componentInstance._isDestroyed) {
4327
+ if (!vnode.data.keepAlive) {
4328
+ componentInstance.$destroy();
4329
+ } else {
4330
+ deactivateChildComponent(componentInstance, true /* direct */);
4331
+ }
4332
+ }
4333
+ }
4334
+ };
4335
+
4336
+ var hooksToMerge = Object.keys(componentVNodeHooks);
4337
+
4338
+ function createComponent (
4339
+ Ctor,
4340
+ data,
4341
+ context,
4342
+ children,
4343
+ tag
4344
+ ) {
4345
+ if (isUndef(Ctor)) {
4346
+ return
4347
+ }
4348
+
4349
+ var baseCtor = context.$options._base;
4350
+
4351
+ // plain options object: turn it into a constructor
4352
+ if (isObject(Ctor)) {
4353
+ Ctor = baseCtor.extend(Ctor);
4354
+ }
4355
+
4356
+ // if at this stage it's not a constructor or an async component factory,
4357
+ // reject.
4358
+ if (typeof Ctor !== 'function') {
4359
+ if (process.env.NODE_ENV !== 'production') {
4360
+ warn(("Invalid Component definition: " + (String(Ctor))), context);
4361
+ }
4362
+ return
4363
+ }
4364
+
4365
+ // async component
4366
+ var asyncFactory;
4367
+ if (isUndef(Ctor.cid)) {
4368
+ asyncFactory = Ctor;
4369
+ Ctor = resolveAsyncComponent(asyncFactory, baseCtor, context);
4370
+ if (Ctor === undefined) {
4371
+ // return a placeholder node for async component, which is rendered
4372
+ // as a comment node but preserves all the raw information for the node.
4373
+ // the information will be used for async server-rendering and hydration.
4374
+ return createAsyncPlaceholder(
4375
+ asyncFactory,
4376
+ data,
4377
+ context,
4378
+ children,
4379
+ tag
4380
+ )
4381
+ }
4382
+ }
4383
+
4384
+ data = data || {};
4385
+
4386
+ // resolve constructor options in case global mixins are applied after
4387
+ // component constructor creation
4388
+ resolveConstructorOptions(Ctor);
4389
+
4390
+ // transform component v-model data into props & events
4391
+ if (isDef(data.model)) {
4392
+ transformModel(Ctor.options, data);
4393
+ }
4394
+
4395
+ // extract props
4396
+ var propsData = extractPropsFromVNodeData(data, Ctor, tag);
4397
+
4398
+ // functional component
4399
+ if (isTrue(Ctor.options.functional)) {
4400
+ return createFunctionalComponent(Ctor, propsData, data, context, children)
4401
+ }
4402
+
4403
+ // extract listeners, since these needs to be treated as
4404
+ // child component listeners instead of DOM listeners
4405
+ var listeners = data.on;
4406
+ // replace with listeners with .native modifier
4407
+ // so it gets processed during parent component patch.
4408
+ data.on = data.nativeOn;
4409
+
4410
+ if (isTrue(Ctor.options.abstract)) {
4411
+ // abstract components do not keep anything
4412
+ // other than props & listeners & slot
4413
+
4414
+ // work around flow
4415
+ var slot = data.slot;
4416
+ data = {};
4417
+ if (slot) {
4418
+ data.slot = slot;
4419
+ }
4420
+ }
4421
+
4422
+ // merge component management hooks onto the placeholder node
4423
+ mergeHooks(data);
4424
+
4425
+ // return a placeholder vnode
4426
+ var name = Ctor.options.name || tag;
4427
+ var vnode = new VNode(
4428
+ ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
4429
+ data, undefined, undefined, undefined, context,
4430
+ { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },
4431
+ asyncFactory
4432
+ );
4433
+
4434
+ // Weex specific: invoke recycle-list optimized @render function for
4435
+ // extracting cell-slot template.
4436
+ // https://github.com/Hanks10100/weex-native-directive/tree/master/component
4437
+ /* istanbul ignore if */
4438
+ return vnode
4439
+ }
4440
+
4441
+ function createComponentInstanceForVnode (
4442
+ vnode, // we know it's MountedComponentVNode but flow doesn't
4443
+ parent, // activeInstance in lifecycle state
4444
+ parentElm,
4445
+ refElm
4446
+ ) {
4447
+ var options = {
4448
+ _isComponent: true,
4449
+ parent: parent,
4450
+ _parentVnode: vnode,
4451
+ _parentElm: parentElm || null,
4452
+ _refElm: refElm || null
4453
+ };
4454
+ // check inline-template render functions
4455
+ var inlineTemplate = vnode.data.inlineTemplate;
4456
+ if (isDef(inlineTemplate)) {
4457
+ options.render = inlineTemplate.render;
4458
+ options.staticRenderFns = inlineTemplate.staticRenderFns;
4459
+ }
4460
+ return new vnode.componentOptions.Ctor(options)
4461
+ }
4462
+
4463
+ function mergeHooks (data) {
4464
+ if (!data.hook) {
4465
+ data.hook = {};
4466
+ }
4467
+ for (var i = 0; i < hooksToMerge.length; i++) {
4468
+ var key = hooksToMerge[i];
4469
+ var fromParent = data.hook[key];
4470
+ var ours = componentVNodeHooks[key];
4471
+ data.hook[key] = fromParent ? mergeHook$1(ours, fromParent) : ours;
4472
+ }
4473
+ }
4474
+
4475
+ function mergeHook$1 (one, two) {
4476
+ return function (a, b, c, d) {
4477
+ one(a, b, c, d);
4478
+ two(a, b, c, d);
4479
+ }
4480
+ }
4481
+
4482
+ // transform component v-model info (value and callback) into
4483
+ // prop and event handler respectively.
4484
+ function transformModel (options, data) {
4485
+ var prop = (options.model && options.model.prop) || 'value';
4486
+ var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;
4487
+ var on = data.on || (data.on = {});
4488
+ if (isDef(on[event])) {
4489
+ on[event] = [data.model.callback].concat(on[event]);
4490
+ } else {
4491
+ on[event] = data.model.callback;
4492
+ }
4493
+ }
4494
+
4495
+ /* */
4496
+
4497
+ var SIMPLE_NORMALIZE = 1;
4498
+ var ALWAYS_NORMALIZE = 2;
4499
+
4500
+ // wrapper function for providing a more flexible interface
4501
+ // without getting yelled at by flow
4502
+ function createElement (
4503
+ context,
4504
+ tag,
4505
+ data,
4506
+ children,
4507
+ normalizationType,
4508
+ alwaysNormalize
4509
+ ) {
4510
+ if (Array.isArray(data) || isPrimitive(data)) {
4511
+ normalizationType = children;
4512
+ children = data;
4513
+ data = undefined;
4514
+ }
4515
+ if (isTrue(alwaysNormalize)) {
4516
+ normalizationType = ALWAYS_NORMALIZE;
4517
+ }
4518
+ return _createElement(context, tag, data, children, normalizationType)
4519
+ }
4520
+
4521
+ function _createElement (
4522
+ context,
4523
+ tag,
4524
+ data,
4525
+ children,
4526
+ normalizationType
4527
+ ) {
4528
+ if (isDef(data) && isDef((data).__ob__)) {
4529
+ process.env.NODE_ENV !== 'production' && warn(
4530
+ "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
4531
+ 'Always create fresh vnode data objects in each render!',
4532
+ context
4533
+ );
4534
+ return createEmptyVNode()
4535
+ }
4536
+ // object syntax in v-bind
4537
+ if (isDef(data) && isDef(data.is)) {
4538
+ tag = data.is;
4539
+ }
4540
+ if (!tag) {
4541
+ // in case of component :is set to falsy value
4542
+ return createEmptyVNode()
4543
+ }
4544
+ // warn against non-primitive key
4545
+ if (process.env.NODE_ENV !== 'production' &&
4546
+ isDef(data) && isDef(data.key) && !isPrimitive(data.key)
4547
+ ) {
4548
+ {
4549
+ warn(
4550
+ 'Avoid using non-primitive value as key, ' +
4551
+ 'use string/number value instead.',
4552
+ context
4553
+ );
4554
+ }
4555
+ }
4556
+ // support single function children as default scoped slot
4557
+ if (Array.isArray(children) &&
4558
+ typeof children[0] === 'function'
4559
+ ) {
4560
+ data = data || {};
4561
+ data.scopedSlots = { default: children[0] };
4562
+ children.length = 0;
4563
+ }
4564
+ if (normalizationType === ALWAYS_NORMALIZE) {
4565
+ children = normalizeChildren(children);
4566
+ } else if (normalizationType === SIMPLE_NORMALIZE) {
4567
+ children = simpleNormalizeChildren(children);
4568
+ }
4569
+ var vnode, ns;
4570
+ if (typeof tag === 'string') {
4571
+ var Ctor;
4572
+ ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);
4573
+ if (config.isReservedTag(tag)) {
4574
+ // platform built-in elements
4575
+ vnode = new VNode(
4576
+ config.parsePlatformTagName(tag), data, children,
4577
+ undefined, undefined, context
4578
+ );
4579
+ } else if (isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {
4580
+ // component
4581
+ vnode = createComponent(Ctor, data, context, children, tag);
4582
+ } else {
4583
+ // unknown or unlisted namespaced elements
4584
+ // check at runtime because it may get assigned a namespace when its
4585
+ // parent normalizes children
4586
+ vnode = new VNode(
4587
+ tag, data, children,
4588
+ undefined, undefined, context
4589
+ );
4590
+ }
4591
+ } else {
4592
+ // direct component options / constructor
4593
+ vnode = createComponent(tag, data, context, children);
4594
+ }
4595
+ if (isDef(vnode)) {
4596
+ if (ns) { applyNS(vnode, ns); }
4597
+ return vnode
4598
+ } else {
4599
+ return createEmptyVNode()
4600
+ }
4601
+ }
4602
+
4603
+ function applyNS (vnode, ns, force) {
4604
+ vnode.ns = ns;
4605
+ if (vnode.tag === 'foreignObject') {
4606
+ // use default namespace inside foreignObject
4607
+ ns = undefined;
4608
+ force = true;
4609
+ }
4610
+ if (isDef(vnode.children)) {
4611
+ for (var i = 0, l = vnode.children.length; i < l; i++) {
4612
+ var child = vnode.children[i];
4613
+ if (isDef(child.tag) && (isUndef(child.ns) || isTrue(force))) {
4614
+ applyNS(child, ns, force);
4615
+ }
4616
+ }
4617
+ }
4618
+ }
4619
+
4620
+ /* */
4621
+
4622
+ function initRender (vm) {
4623
+ vm._vnode = null; // the root of the child tree
4624
+ vm._staticTrees = null; // v-once cached trees
4625
+ var options = vm.$options;
4626
+ var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree
4627
+ var renderContext = parentVnode && parentVnode.context;
4628
+ vm.$slots = resolveSlots(options._renderChildren, renderContext);
4629
+ vm.$scopedSlots = emptyObject;
4630
+ // bind the createElement fn to this instance
4631
+ // so that we get proper render context inside it.
4632
+ // args order: tag, data, children, normalizationType, alwaysNormalize
4633
+ // internal version is used by render functions compiled from templates
4634
+ vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
4635
+ // normalization is always applied for the public version, used in
4636
+ // user-written render functions.
4637
+ vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
4638
+
4639
+ // $attrs & $listeners are exposed for easier HOC creation.
4640
+ // they need to be reactive so that HOCs using them are always updated
4641
+ var parentData = parentVnode && parentVnode.data;
4642
+
4643
+ /* istanbul ignore else */
4644
+ if (process.env.NODE_ENV !== 'production') {
4645
+ defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {
4646
+ !isUpdatingChildComponent && warn("$attrs is readonly.", vm);
4647
+ }, true);
4648
+ defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () {
4649
+ !isUpdatingChildComponent && warn("$listeners is readonly.", vm);
4650
+ }, true);
4651
+ } else {
4652
+ defineReactive(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);
4653
+ defineReactive(vm, '$listeners', options._parentListeners || emptyObject, null, true);
4654
+ }
4655
+ }
4656
+
4657
+ function renderMixin (Vue) {
4658
+ // install runtime convenience helpers
4659
+ installRenderHelpers(Vue.prototype);
4660
+
4661
+ Vue.prototype.$nextTick = function (fn) {
4662
+ return nextTick(fn, this)
4663
+ };
4664
+
4665
+ Vue.prototype._render = function () {
4666
+ var vm = this;
4667
+ var ref = vm.$options;
4668
+ var render = ref.render;
4669
+ var _parentVnode = ref._parentVnode;
4670
+
4671
+ if (vm._isMounted) {
4672
+ // if the parent didn't update, the slot nodes will be the ones from
4673
+ // last render. They need to be cloned to ensure "freshness" for this render.
4674
+ for (var key in vm.$slots) {
4675
+ var slot = vm.$slots[key];
4676
+ // _rendered is a flag added by renderSlot, but may not be present
4677
+ // if the slot is passed from manually written render functions
4678
+ if (slot._rendered || (slot[0] && slot[0].elm)) {
4679
+ vm.$slots[key] = cloneVNodes(slot, true /* deep */);
4680
+ }
4681
+ }
4682
+ }
4683
+
4684
+ vm.$scopedSlots = (_parentVnode && _parentVnode.data.scopedSlots) || emptyObject;
4685
+
4686
+ // set parent vnode. this allows render functions to have access
4687
+ // to the data on the placeholder node.
4688
+ vm.$vnode = _parentVnode;
4689
+ // render self
4690
+ var vnode;
4691
+ try {
4692
+ vnode = render.call(vm._renderProxy, vm.$createElement);
4693
+ } catch (e) {
4694
+ handleError(e, vm, "render");
4695
+ // return error render result,
4696
+ // or previous vnode to prevent render error causing blank component
4697
+ /* istanbul ignore else */
4698
+ if (process.env.NODE_ENV !== 'production') {
4699
+ if (vm.$options.renderError) {
4700
+ try {
4701
+ vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);
4702
+ } catch (e) {
4703
+ handleError(e, vm, "renderError");
4704
+ vnode = vm._vnode;
4705
+ }
4706
+ } else {
4707
+ vnode = vm._vnode;
4708
+ }
4709
+ } else {
4710
+ vnode = vm._vnode;
4711
+ }
4712
+ }
4713
+ // return empty vnode in case the render function errored out
4714
+ if (!(vnode instanceof VNode)) {
4715
+ if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {
4716
+ warn(
4717
+ 'Multiple root nodes returned from render function. Render function ' +
4718
+ 'should return a single root node.',
4719
+ vm
4720
+ );
4721
+ }
4722
+ vnode = createEmptyVNode();
4723
+ }
4724
+ // set parent
4725
+ vnode.parent = _parentVnode;
4726
+ return vnode
4727
+ };
4728
+ }
4729
+
4730
+ /* */
4731
+
4732
+ var uid$1 = 0;
4733
+
4734
+ function initMixin (Vue) {
4735
+ Vue.prototype._init = function (options) {
4736
+ var vm = this;
4737
+ // a uid
4738
+ vm._uid = uid$1++;
4739
+
4740
+ var startTag, endTag;
4741
+ /* istanbul ignore if */
4742
+ if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
4743
+ startTag = "vue-perf-start:" + (vm._uid);
4744
+ endTag = "vue-perf-end:" + (vm._uid);
4745
+ mark(startTag);
4746
+ }
4747
+
4748
+ // a flag to avoid this being observed
4749
+ vm._isVue = true;
4750
+ // merge options
4751
+ if (options && options._isComponent) {
4752
+ // optimize internal component instantiation
4753
+ // since dynamic options merging is pretty slow, and none of the
4754
+ // internal component options needs special treatment.
4755
+ initInternalComponent(vm, options);
4756
+ } else {
4757
+ vm.$options = mergeOptions(
4758
+ resolveConstructorOptions(vm.constructor),
4759
+ options || {},
4760
+ vm
4761
+ );
4762
+ }
4763
+ /* istanbul ignore else */
4764
+ if (process.env.NODE_ENV !== 'production') {
4765
+ initProxy(vm);
4766
+ } else {
4767
+ vm._renderProxy = vm;
4768
+ }
4769
+ // expose real self
4770
+ vm._self = vm;
4771
+ initLifecycle(vm);
4772
+ initEvents(vm);
4773
+ initRender(vm);
4774
+ callHook(vm, 'beforeCreate');
4775
+ initInjections(vm); // resolve injections before data/props
4776
+ initState(vm);
4777
+ initProvide(vm); // resolve provide after data/props
4778
+ callHook(vm, 'created');
4779
+
4780
+ /* istanbul ignore if */
4781
+ if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
4782
+ vm._name = formatComponentName(vm, false);
4783
+ mark(endTag);
4784
+ measure(("vue " + (vm._name) + " init"), startTag, endTag);
4785
+ }
4786
+
4787
+ if (vm.$options.el) {
4788
+ vm.$mount(vm.$options.el);
4789
+ }
4790
+ };
4791
+ }
4792
+
4793
+ function initInternalComponent (vm, options) {
4794
+ var opts = vm.$options = Object.create(vm.constructor.options);
4795
+ // doing this because it's faster than dynamic enumeration.
4796
+ var parentVnode = options._parentVnode;
4797
+ opts.parent = options.parent;
4798
+ opts._parentVnode = parentVnode;
4799
+ opts._parentElm = options._parentElm;
4800
+ opts._refElm = options._refElm;
4801
+
4802
+ var vnodeComponentOptions = parentVnode.componentOptions;
4803
+ opts.propsData = vnodeComponentOptions.propsData;
4804
+ opts._parentListeners = vnodeComponentOptions.listeners;
4805
+ opts._renderChildren = vnodeComponentOptions.children;
4806
+ opts._componentTag = vnodeComponentOptions.tag;
4807
+
4808
+ if (options.render) {
4809
+ opts.render = options.render;
4810
+ opts.staticRenderFns = options.staticRenderFns;
4811
+ }
4812
+ }
4813
+
4814
+ function resolveConstructorOptions (Ctor) {
4815
+ var options = Ctor.options;
4816
+ if (Ctor.super) {
4817
+ var superOptions = resolveConstructorOptions(Ctor.super);
4818
+ var cachedSuperOptions = Ctor.superOptions;
4819
+ if (superOptions !== cachedSuperOptions) {
4820
+ // super option changed,
4821
+ // need to resolve new options.
4822
+ Ctor.superOptions = superOptions;
4823
+ // check if there are any late-modified/attached options (#4976)
4824
+ var modifiedOptions = resolveModifiedOptions(Ctor);
4825
+ // update base extend options
4826
+ if (modifiedOptions) {
4827
+ extend(Ctor.extendOptions, modifiedOptions);
4828
+ }
4829
+ options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
4830
+ if (options.name) {
4831
+ options.components[options.name] = Ctor;
4832
+ }
4833
+ }
4834
+ }
4835
+ return options
4836
+ }
4837
+
4838
+ function resolveModifiedOptions (Ctor) {
4839
+ var modified;
4840
+ var latest = Ctor.options;
4841
+ var extended = Ctor.extendOptions;
4842
+ var sealed = Ctor.sealedOptions;
4843
+ for (var key in latest) {
4844
+ if (latest[key] !== sealed[key]) {
4845
+ if (!modified) { modified = {}; }
4846
+ modified[key] = dedupe(latest[key], extended[key], sealed[key]);
4847
+ }
4848
+ }
4849
+ return modified
4850
+ }
4851
+
4852
+ function dedupe (latest, extended, sealed) {
4853
+ // compare latest and sealed to ensure lifecycle hooks won't be duplicated
4854
+ // between merges
4855
+ if (Array.isArray(latest)) {
4856
+ var res = [];
4857
+ sealed = Array.isArray(sealed) ? sealed : [sealed];
4858
+ extended = Array.isArray(extended) ? extended : [extended];
4859
+ for (var i = 0; i < latest.length; i++) {
4860
+ // push original options and not sealed options to exclude duplicated options
4861
+ if (extended.indexOf(latest[i]) >= 0 || sealed.indexOf(latest[i]) < 0) {
4862
+ res.push(latest[i]);
4863
+ }
4864
+ }
4865
+ return res
4866
+ } else {
4867
+ return latest
4868
+ }
4869
+ }
4870
+
4871
+ function Vue$3 (options) {
4872
+ if (process.env.NODE_ENV !== 'production' &&
4873
+ !(this instanceof Vue$3)
4874
+ ) {
4875
+ warn('Vue is a constructor and should be called with the `new` keyword');
4876
+ }
4877
+ this._init(options);
4878
+ }
4879
+
4880
+ initMixin(Vue$3);
4881
+ stateMixin(Vue$3);
4882
+ eventsMixin(Vue$3);
4883
+ lifecycleMixin(Vue$3);
4884
+ renderMixin(Vue$3);
4885
+
4886
+ /* */
4887
+
4888
+ function initUse (Vue) {
4889
+ Vue.use = function (plugin) {
4890
+ var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
4891
+ if (installedPlugins.indexOf(plugin) > -1) {
4892
+ return this
4893
+ }
4894
+
4895
+ // additional parameters
4896
+ var args = toArray(arguments, 1);
4897
+ args.unshift(this);
4898
+ if (typeof plugin.install === 'function') {
4899
+ plugin.install.apply(plugin, args);
4900
+ } else if (typeof plugin === 'function') {
4901
+ plugin.apply(null, args);
4902
+ }
4903
+ installedPlugins.push(plugin);
4904
+ return this
4905
+ };
4906
+ }
4907
+
4908
+ /* */
4909
+
4910
+ function initMixin$1 (Vue) {
4911
+ Vue.mixin = function (mixin) {
4912
+ this.options = mergeOptions(this.options, mixin);
4913
+ return this
4914
+ };
4915
+ }
4916
+
4917
+ /* */
4918
+
4919
+ function initExtend (Vue) {
4920
+ /**
4921
+ * Each instance constructor, including Vue, has a unique
4922
+ * cid. This enables us to create wrapped "child
4923
+ * constructors" for prototypal inheritance and cache them.
4924
+ */
4925
+ Vue.cid = 0;
4926
+ var cid = 1;
4927
+
4928
+ /**
4929
+ * Class inheritance
4930
+ */
4931
+ Vue.extend = function (extendOptions) {
4932
+ extendOptions = extendOptions || {};
4933
+ var Super = this;
4934
+ var SuperId = Super.cid;
4935
+ var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
4936
+ if (cachedCtors[SuperId]) {
4937
+ return cachedCtors[SuperId]
4938
+ }
4939
+
4940
+ var name = extendOptions.name || Super.options.name;
4941
+ if (process.env.NODE_ENV !== 'production' && name) {
4942
+ validateComponentName(name);
4943
+ }
4944
+
4945
+ var Sub = function VueComponent (options) {
4946
+ this._init(options);
4947
+ };
4948
+ Sub.prototype = Object.create(Super.prototype);
4949
+ Sub.prototype.constructor = Sub;
4950
+ Sub.cid = cid++;
4951
+ Sub.options = mergeOptions(
4952
+ Super.options,
4953
+ extendOptions
4954
+ );
4955
+ Sub['super'] = Super;
4956
+
4957
+ // For props and computed properties, we define the proxy getters on
4958
+ // the Vue instances at extension time, on the extended prototype. This
4959
+ // avoids Object.defineProperty calls for each instance created.
4960
+ if (Sub.options.props) {
4961
+ initProps$1(Sub);
4962
+ }
4963
+ if (Sub.options.computed) {
4964
+ initComputed$1(Sub);
4965
+ }
4966
+
4967
+ // allow further extension/mixin/plugin usage
4968
+ Sub.extend = Super.extend;
4969
+ Sub.mixin = Super.mixin;
4970
+ Sub.use = Super.use;
4971
+
4972
+ // create asset registers, so extended classes
4973
+ // can have their private assets too.
4974
+ ASSET_TYPES.forEach(function (type) {
4975
+ Sub[type] = Super[type];
4976
+ });
4977
+ // enable recursive self-lookup
4978
+ if (name) {
4979
+ Sub.options.components[name] = Sub;
4980
+ }
4981
+
4982
+ // keep a reference to the super options at extension time.
4983
+ // later at instantiation we can check if Super's options have
4984
+ // been updated.
4985
+ Sub.superOptions = Super.options;
4986
+ Sub.extendOptions = extendOptions;
4987
+ Sub.sealedOptions = extend({}, Sub.options);
4988
+
4989
+ // cache constructor
4990
+ cachedCtors[SuperId] = Sub;
4991
+ return Sub
4992
+ };
4993
+ }
4994
+
4995
+ function initProps$1 (Comp) {
4996
+ var props = Comp.options.props;
4997
+ for (var key in props) {
4998
+ proxy(Comp.prototype, "_props", key);
4999
+ }
5000
+ }
5001
+
5002
+ function initComputed$1 (Comp) {
5003
+ var computed = Comp.options.computed;
5004
+ for (var key in computed) {
5005
+ defineComputed(Comp.prototype, key, computed[key]);
5006
+ }
5007
+ }
5008
+
5009
+ /* */
5010
+
5011
+ function initAssetRegisters (Vue) {
5012
+ /**
5013
+ * Create asset registration methods.
5014
+ */
5015
+ ASSET_TYPES.forEach(function (type) {
5016
+ Vue[type] = function (
5017
+ id,
5018
+ definition
5019
+ ) {
5020
+ if (!definition) {
5021
+ return this.options[type + 's'][id]
5022
+ } else {
5023
+ /* istanbul ignore if */
5024
+ if (process.env.NODE_ENV !== 'production' && type === 'component') {
5025
+ validateComponentName(id);
5026
+ }
5027
+ if (type === 'component' && isPlainObject(definition)) {
5028
+ definition.name = definition.name || id;
5029
+ definition = this.options._base.extend(definition);
5030
+ }
5031
+ if (type === 'directive' && typeof definition === 'function') {
5032
+ definition = { bind: definition, update: definition };
5033
+ }
5034
+ this.options[type + 's'][id] = definition;
5035
+ return definition
5036
+ }
5037
+ };
5038
+ });
5039
+ }
5040
+
5041
+ /* */
5042
+
5043
+ function getComponentName (opts) {
5044
+ return opts && (opts.Ctor.options.name || opts.tag)
5045
+ }
5046
+
5047
+ function matches (pattern, name) {
5048
+ if (Array.isArray(pattern)) {
5049
+ return pattern.indexOf(name) > -1
5050
+ } else if (typeof pattern === 'string') {
5051
+ return pattern.split(',').indexOf(name) > -1
5052
+ } else if (isRegExp(pattern)) {
5053
+ return pattern.test(name)
5054
+ }
5055
+ /* istanbul ignore next */
5056
+ return false
5057
+ }
5058
+
5059
+ function pruneCache (keepAliveInstance, filter) {
5060
+ var cache = keepAliveInstance.cache;
5061
+ var keys = keepAliveInstance.keys;
5062
+ var _vnode = keepAliveInstance._vnode;
5063
+ for (var key in cache) {
5064
+ var cachedNode = cache[key];
5065
+ if (cachedNode) {
5066
+ var name = getComponentName(cachedNode.componentOptions);
5067
+ if (name && !filter(name)) {
5068
+ pruneCacheEntry(cache, key, keys, _vnode);
5069
+ }
5070
+ }
5071
+ }
5072
+ }
5073
+
5074
+ function pruneCacheEntry (
5075
+ cache,
5076
+ key,
5077
+ keys,
5078
+ current
5079
+ ) {
5080
+ var cached$$1 = cache[key];
5081
+ if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {
5082
+ cached$$1.componentInstance.$destroy();
5083
+ }
5084
+ cache[key] = null;
5085
+ remove(keys, key);
5086
+ }
5087
+
5088
+ var patternTypes = [String, RegExp, Array];
5089
+
5090
+ var KeepAlive = {
5091
+ name: 'keep-alive',
5092
+ abstract: true,
5093
+
5094
+ props: {
5095
+ include: patternTypes,
5096
+ exclude: patternTypes,
5097
+ max: [String, Number]
5098
+ },
5099
+
5100
+ created: function created () {
5101
+ this.cache = Object.create(null);
5102
+ this.keys = [];
5103
+ },
5104
+
5105
+ destroyed: function destroyed () {
5106
+ var this$1 = this;
5107
+
5108
+ for (var key in this$1.cache) {
5109
+ pruneCacheEntry(this$1.cache, key, this$1.keys);
5110
+ }
5111
+ },
5112
+
5113
+ watch: {
5114
+ include: function include (val) {
5115
+ pruneCache(this, function (name) { return matches(val, name); });
5116
+ },
5117
+ exclude: function exclude (val) {
5118
+ pruneCache(this, function (name) { return !matches(val, name); });
5119
+ }
5120
+ },
5121
+
5122
+ render: function render () {
5123
+ var slot = this.$slots.default;
5124
+ var vnode = getFirstComponentChild(slot);
5125
+ var componentOptions = vnode && vnode.componentOptions;
5126
+ if (componentOptions) {
5127
+ // check pattern
5128
+ var name = getComponentName(componentOptions);
5129
+ var ref = this;
5130
+ var include = ref.include;
5131
+ var exclude = ref.exclude;
5132
+ if (
5133
+ // not included
5134
+ (include && (!name || !matches(include, name))) ||
5135
+ // excluded
5136
+ (exclude && name && matches(exclude, name))
5137
+ ) {
5138
+ return vnode
5139
+ }
5140
+
5141
+ var ref$1 = this;
5142
+ var cache = ref$1.cache;
5143
+ var keys = ref$1.keys;
5144
+ var key = vnode.key == null
5145
+ // same constructor may get registered as different local components
5146
+ // so cid alone is not enough (#3269)
5147
+ ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
5148
+ : vnode.key;
5149
+ if (cache[key]) {
5150
+ vnode.componentInstance = cache[key].componentInstance;
5151
+ // make current key freshest
5152
+ remove(keys, key);
5153
+ keys.push(key);
5154
+ } else {
5155
+ cache[key] = vnode;
5156
+ keys.push(key);
5157
+ // prune oldest entry
5158
+ if (this.max && keys.length > parseInt(this.max)) {
5159
+ pruneCacheEntry(cache, keys[0], keys, this._vnode);
5160
+ }
5161
+ }
5162
+
5163
+ vnode.data.keepAlive = true;
5164
+ }
5165
+ return vnode || (slot && slot[0])
5166
+ }
5167
+ };
5168
+
5169
+ var builtInComponents = {
5170
+ KeepAlive: KeepAlive
5171
+ };
5172
+
5173
+ /* */
5174
+
5175
+ function initGlobalAPI (Vue) {
5176
+ // config
5177
+ var configDef = {};
5178
+ configDef.get = function () { return config; };
5179
+ if (process.env.NODE_ENV !== 'production') {
5180
+ configDef.set = function () {
5181
+ warn(
5182
+ 'Do not replace the Vue.config object, set individual fields instead.'
5183
+ );
5184
+ };
5185
+ }
5186
+ Object.defineProperty(Vue, 'config', configDef);
5187
+
5188
+ // exposed util methods.
5189
+ // NOTE: these are not considered part of the public API - avoid relying on
5190
+ // them unless you are aware of the risk.
5191
+ Vue.util = {
5192
+ warn: warn,
5193
+ extend: extend,
5194
+ mergeOptions: mergeOptions,
5195
+ defineReactive: defineReactive
5196
+ };
5197
+
5198
+ Vue.set = set;
5199
+ Vue.delete = del;
5200
+ Vue.nextTick = nextTick;
5201
+
5202
+ Vue.options = Object.create(null);
5203
+ ASSET_TYPES.forEach(function (type) {
5204
+ Vue.options[type + 's'] = Object.create(null);
5205
+ });
5206
+
5207
+ // this is used to identify the "base" constructor to extend all plain-object
5208
+ // components with in Weex's multi-instance scenarios.
5209
+ Vue.options._base = Vue;
5210
+
5211
+ extend(Vue.options.components, builtInComponents);
5212
+
5213
+ initUse(Vue);
5214
+ initMixin$1(Vue);
5215
+ initExtend(Vue);
5216
+ initAssetRegisters(Vue);
5217
+ }
5218
+
5219
+ initGlobalAPI(Vue$3);
5220
+
5221
+ Object.defineProperty(Vue$3.prototype, '$isServer', {
5222
+ get: isServerRendering
5223
+ });
5224
+
5225
+ Object.defineProperty(Vue$3.prototype, '$ssrContext', {
5226
+ get: function get () {
5227
+ /* istanbul ignore next */
5228
+ return this.$vnode && this.$vnode.ssrContext
5229
+ }
5230
+ });
5231
+
5232
+ Vue$3.version = '2.5.13';
5233
+
5234
+ /* */
5235
+
5236
+ // these are reserved for web because they are directly compiled away
5237
+ // during template compilation
5238
+ var isReservedAttr = makeMap('style,class');
5239
+
5240
+ // attributes that should be using props for binding
5241
+ var acceptValue = makeMap('input,textarea,option,select,progress');
5242
+ var mustUseProp = function (tag, type, attr) {
5243
+ return (
5244
+ (attr === 'value' && acceptValue(tag)) && type !== 'button' ||
5245
+ (attr === 'selected' && tag === 'option') ||
5246
+ (attr === 'checked' && tag === 'input') ||
5247
+ (attr === 'muted' && tag === 'video')
5248
+ )
5249
+ };
5250
+
5251
+ var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
5252
+
5253
+ var isBooleanAttr = makeMap(
5254
+ 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
5255
+ 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
5256
+ 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +
5257
+ 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +
5258
+ 'required,reversed,scoped,seamless,selected,sortable,translate,' +
5259
+ 'truespeed,typemustmatch,visible'
5260
+ );
5261
+
5262
+ var xlinkNS = 'http://www.w3.org/1999/xlink';
5263
+
5264
+ var isXlink = function (name) {
5265
+ return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'
5266
+ };
5267
+
5268
+ var getXlinkProp = function (name) {
5269
+ return isXlink(name) ? name.slice(6, name.length) : ''
5270
+ };
5271
+
5272
+ var isFalsyAttrValue = function (val) {
5273
+ return val == null || val === false
5274
+ };
5275
+
5276
+ /* */
5277
+
5278
+ function genClassForVnode (vnode) {
5279
+ var data = vnode.data;
5280
+ var parentNode = vnode;
5281
+ var childNode = vnode;
5282
+ while (isDef(childNode.componentInstance)) {
5283
+ childNode = childNode.componentInstance._vnode;
5284
+ if (childNode && childNode.data) {
5285
+ data = mergeClassData(childNode.data, data);
5286
+ }
5287
+ }
5288
+ while (isDef(parentNode = parentNode.parent)) {
5289
+ if (parentNode && parentNode.data) {
5290
+ data = mergeClassData(data, parentNode.data);
5291
+ }
5292
+ }
5293
+ return renderClass(data.staticClass, data.class)
5294
+ }
5295
+
5296
+ function mergeClassData (child, parent) {
5297
+ return {
5298
+ staticClass: concat(child.staticClass, parent.staticClass),
5299
+ class: isDef(child.class)
5300
+ ? [child.class, parent.class]
5301
+ : parent.class
5302
+ }
5303
+ }
5304
+
5305
+ function renderClass (
5306
+ staticClass,
5307
+ dynamicClass
5308
+ ) {
5309
+ if (isDef(staticClass) || isDef(dynamicClass)) {
5310
+ return concat(staticClass, stringifyClass(dynamicClass))
5311
+ }
5312
+ /* istanbul ignore next */
5313
+ return ''
5314
+ }
5315
+
5316
+ function concat (a, b) {
5317
+ return a ? b ? (a + ' ' + b) : a : (b || '')
5318
+ }
5319
+
5320
+ function stringifyClass (value) {
5321
+ if (Array.isArray(value)) {
5322
+ return stringifyArray(value)
5323
+ }
5324
+ if (isObject(value)) {
5325
+ return stringifyObject(value)
5326
+ }
5327
+ if (typeof value === 'string') {
5328
+ return value
5329
+ }
5330
+ /* istanbul ignore next */
5331
+ return ''
5332
+ }
5333
+
5334
+ function stringifyArray (value) {
5335
+ var res = '';
5336
+ var stringified;
5337
+ for (var i = 0, l = value.length; i < l; i++) {
5338
+ if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {
5339
+ if (res) { res += ' '; }
5340
+ res += stringified;
5341
+ }
5342
+ }
5343
+ return res
5344
+ }
5345
+
5346
+ function stringifyObject (value) {
5347
+ var res = '';
5348
+ for (var key in value) {
5349
+ if (value[key]) {
5350
+ if (res) { res += ' '; }
5351
+ res += key;
5352
+ }
5353
+ }
5354
+ return res
5355
+ }
5356
+
5357
+ /* */
5358
+
5359
+ var namespaceMap = {
5360
+ svg: 'http://www.w3.org/2000/svg',
5361
+ math: 'http://www.w3.org/1998/Math/MathML'
5362
+ };
5363
+
5364
+ var isHTMLTag = makeMap(
5365
+ 'html,body,base,head,link,meta,style,title,' +
5366
+ 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
5367
+ 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +
5368
+ 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +
5369
+ 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +
5370
+ 'embed,object,param,source,canvas,script,noscript,del,ins,' +
5371
+ 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +
5372
+ 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +
5373
+ 'output,progress,select,textarea,' +
5374
+ 'details,dialog,menu,menuitem,summary,' +
5375
+ 'content,element,shadow,template,blockquote,iframe,tfoot'
5376
+ );
5377
+
5378
+ // this map is intentionally selective, only covering SVG elements that may
5379
+ // contain child elements.
5380
+ var isSVG = makeMap(
5381
+ 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +
5382
+ 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +
5383
+ 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',
5384
+ true
5385
+ );
5386
+
5387
+ var isPreTag = function (tag) { return tag === 'pre'; };
5388
+
5389
+ var isReservedTag = function (tag) {
5390
+ return isHTMLTag(tag) || isSVG(tag)
5391
+ };
5392
+
5393
+ function getTagNamespace (tag) {
5394
+ if (isSVG(tag)) {
5395
+ return 'svg'
5396
+ }
5397
+ // basic support for MathML
5398
+ // note it doesn't support other MathML elements being component roots
5399
+ if (tag === 'math') {
5400
+ return 'math'
5401
+ }
5402
+ }
5403
+
5404
+ var unknownElementCache = Object.create(null);
5405
+ function isUnknownElement (tag) {
5406
+ /* istanbul ignore if */
5407
+ if (!inBrowser) {
5408
+ return true
5409
+ }
5410
+ if (isReservedTag(tag)) {
5411
+ return false
5412
+ }
5413
+ tag = tag.toLowerCase();
5414
+ /* istanbul ignore if */
5415
+ if (unknownElementCache[tag] != null) {
5416
+ return unknownElementCache[tag]
5417
+ }
5418
+ var el = document.createElement(tag);
5419
+ if (tag.indexOf('-') > -1) {
5420
+ // http://stackoverflow.com/a/28210364/1070244
5421
+ return (unknownElementCache[tag] = (
5422
+ el.constructor === window.HTMLUnknownElement ||
5423
+ el.constructor === window.HTMLElement
5424
+ ))
5425
+ } else {
5426
+ return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))
5427
+ }
5428
+ }
5429
+
5430
+ var isTextInputType = makeMap('text,number,password,search,email,tel,url');
5431
+
5432
+ /* */
5433
+
5434
+ /**
5435
+ * Query an element selector if it's not an element already.
5436
+ */
5437
+ function query (el) {
5438
+ if (typeof el === 'string') {
5439
+ var selected = document.querySelector(el);
5440
+ if (!selected) {
5441
+ process.env.NODE_ENV !== 'production' && warn(
5442
+ 'Cannot find element: ' + el
5443
+ );
5444
+ return document.createElement('div')
5445
+ }
5446
+ return selected
5447
+ } else {
5448
+ return el
5449
+ }
5450
+ }
5451
+
5452
+ /* */
5453
+
5454
+ function createElement$1 (tagName, vnode) {
5455
+ var elm = document.createElement(tagName);
5456
+ if (tagName !== 'select') {
5457
+ return elm
5458
+ }
5459
+ // false or null will remove the attribute but undefined will not
5460
+ if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {
5461
+ elm.setAttribute('multiple', 'multiple');
5462
+ }
5463
+ return elm
5464
+ }
5465
+
5466
+ function createElementNS (namespace, tagName) {
5467
+ return document.createElementNS(namespaceMap[namespace], tagName)
5468
+ }
5469
+
5470
+ function createTextNode (text) {
5471
+ return document.createTextNode(text)
5472
+ }
5473
+
5474
+ function createComment (text) {
5475
+ return document.createComment(text)
5476
+ }
5477
+
5478
+ function insertBefore (parentNode, newNode, referenceNode) {
5479
+ parentNode.insertBefore(newNode, referenceNode);
5480
+ }
5481
+
5482
+ function removeChild (node, child) {
5483
+ node.removeChild(child);
5484
+ }
5485
+
5486
+ function appendChild (node, child) {
5487
+ node.appendChild(child);
5488
+ }
5489
+
5490
+ function parentNode (node) {
5491
+ return node.parentNode
5492
+ }
5493
+
5494
+ function nextSibling (node) {
5495
+ return node.nextSibling
5496
+ }
5497
+
5498
+ function tagName (node) {
5499
+ return node.tagName
5500
+ }
5501
+
5502
+ function setTextContent (node, text) {
5503
+ node.textContent = text;
5504
+ }
5505
+
5506
+ function setAttribute (node, key, val) {
5507
+ node.setAttribute(key, val);
5508
+ }
5509
+
5510
+
5511
+ var nodeOps = Object.freeze({
5512
+ createElement: createElement$1,
5513
+ createElementNS: createElementNS,
5514
+ createTextNode: createTextNode,
5515
+ createComment: createComment,
5516
+ insertBefore: insertBefore,
5517
+ removeChild: removeChild,
5518
+ appendChild: appendChild,
5519
+ parentNode: parentNode,
5520
+ nextSibling: nextSibling,
5521
+ tagName: tagName,
5522
+ setTextContent: setTextContent,
5523
+ setAttribute: setAttribute
5524
+ });
5525
+
5526
+ /* */
5527
+
5528
+ var ref = {
5529
+ create: function create (_, vnode) {
5530
+ registerRef(vnode);
5531
+ },
5532
+ update: function update (oldVnode, vnode) {
5533
+ if (oldVnode.data.ref !== vnode.data.ref) {
5534
+ registerRef(oldVnode, true);
5535
+ registerRef(vnode);
5536
+ }
5537
+ },
5538
+ destroy: function destroy (vnode) {
5539
+ registerRef(vnode, true);
5540
+ }
5541
+ };
5542
+
5543
+ function registerRef (vnode, isRemoval) {
5544
+ var key = vnode.data.ref;
5545
+ if (!key) { return }
5546
+
5547
+ var vm = vnode.context;
5548
+ var ref = vnode.componentInstance || vnode.elm;
5549
+ var refs = vm.$refs;
5550
+ if (isRemoval) {
5551
+ if (Array.isArray(refs[key])) {
5552
+ remove(refs[key], ref);
5553
+ } else if (refs[key] === ref) {
5554
+ refs[key] = undefined;
5555
+ }
5556
+ } else {
5557
+ if (vnode.data.refInFor) {
5558
+ if (!Array.isArray(refs[key])) {
5559
+ refs[key] = [ref];
5560
+ } else if (refs[key].indexOf(ref) < 0) {
5561
+ // $flow-disable-line
5562
+ refs[key].push(ref);
5563
+ }
5564
+ } else {
5565
+ refs[key] = ref;
5566
+ }
5567
+ }
5568
+ }
5569
+
5570
+ /**
5571
+ * Virtual DOM patching algorithm based on Snabbdom by
5572
+ * Simon Friis Vindum (@paldepind)
5573
+ * Licensed under the MIT License
5574
+ * https://github.com/paldepind/snabbdom/blob/master/LICENSE
5575
+ *
5576
+ * modified by Evan You (@yyx990803)
5577
+ *
5578
+ * Not type-checking this because this file is perf-critical and the cost
5579
+ * of making flow understand it is not worth it.
5580
+ */
5581
+
5582
+ var emptyNode = new VNode('', {}, []);
5583
+
5584
+ var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];
5585
+
5586
+ function sameVnode (a, b) {
5587
+ return (
5588
+ a.key === b.key && (
5589
+ (
5590
+ a.tag === b.tag &&
5591
+ a.isComment === b.isComment &&
5592
+ isDef(a.data) === isDef(b.data) &&
5593
+ sameInputType(a, b)
5594
+ ) || (
5595
+ isTrue(a.isAsyncPlaceholder) &&
5596
+ a.asyncFactory === b.asyncFactory &&
5597
+ isUndef(b.asyncFactory.error)
5598
+ )
5599
+ )
5600
+ )
5601
+ }
5602
+
5603
+ function sameInputType (a, b) {
5604
+ if (a.tag !== 'input') { return true }
5605
+ var i;
5606
+ var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;
5607
+ var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;
5608
+ return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)
5609
+ }
5610
+
5611
+ function createKeyToOldIdx (children, beginIdx, endIdx) {
5612
+ var i, key;
5613
+ var map = {};
5614
+ for (i = beginIdx; i <= endIdx; ++i) {
5615
+ key = children[i].key;
5616
+ if (isDef(key)) { map[key] = i; }
5617
+ }
5618
+ return map
5619
+ }
5620
+
5621
+ function createPatchFunction (backend) {
5622
+ var i, j;
5623
+ var cbs = {};
5624
+
5625
+ var modules = backend.modules;
5626
+ var nodeOps = backend.nodeOps;
5627
+
5628
+ for (i = 0; i < hooks.length; ++i) {
5629
+ cbs[hooks[i]] = [];
5630
+ for (j = 0; j < modules.length; ++j) {
5631
+ if (isDef(modules[j][hooks[i]])) {
5632
+ cbs[hooks[i]].push(modules[j][hooks[i]]);
5633
+ }
5634
+ }
5635
+ }
5636
+
5637
+ function emptyNodeAt (elm) {
5638
+ return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)
5639
+ }
5640
+
5641
+ function createRmCb (childElm, listeners) {
5642
+ function remove () {
5643
+ if (--remove.listeners === 0) {
5644
+ removeNode(childElm);
5645
+ }
5646
+ }
5647
+ remove.listeners = listeners;
5648
+ return remove
5649
+ }
5650
+
5651
+ function removeNode (el) {
5652
+ var parent = nodeOps.parentNode(el);
5653
+ // element may have already been removed due to v-html / v-text
5654
+ if (isDef(parent)) {
5655
+ nodeOps.removeChild(parent, el);
5656
+ }
5657
+ }
5658
+
5659
+ function isUnknownElement$$1 (vnode, inVPre) {
5660
+ return (
5661
+ !inVPre &&
5662
+ !vnode.ns &&
5663
+ !(
5664
+ config.ignoredElements.length &&
5665
+ config.ignoredElements.some(function (ignore) {
5666
+ return isRegExp(ignore)
5667
+ ? ignore.test(vnode.tag)
5668
+ : ignore === vnode.tag
5669
+ })
5670
+ ) &&
5671
+ config.isUnknownElement(vnode.tag)
5672
+ )
5673
+ }
5674
+
5675
+ var creatingElmInVPre = 0;
5676
+ function createElm (vnode, insertedVnodeQueue, parentElm, refElm, nested) {
5677
+ vnode.isRootInsert = !nested; // for transition enter check
5678
+ if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {
5679
+ return
5680
+ }
5681
+
5682
+ var data = vnode.data;
5683
+ var children = vnode.children;
5684
+ var tag = vnode.tag;
5685
+ if (isDef(tag)) {
5686
+ if (process.env.NODE_ENV !== 'production') {
5687
+ if (data && data.pre) {
5688
+ creatingElmInVPre++;
5689
+ }
5690
+ if (isUnknownElement$$1(vnode, creatingElmInVPre)) {
5691
+ warn(
5692
+ 'Unknown custom element: <' + tag + '> - did you ' +
5693
+ 'register the component correctly? For recursive components, ' +
5694
+ 'make sure to provide the "name" option.',
5695
+ vnode.context
5696
+ );
5697
+ }
5698
+ }
5699
+ vnode.elm = vnode.ns
5700
+ ? nodeOps.createElementNS(vnode.ns, tag)
5701
+ : nodeOps.createElement(tag, vnode);
5702
+ setScope(vnode);
5703
+
5704
+ /* istanbul ignore if */
5705
+ {
5706
+ createChildren(vnode, children, insertedVnodeQueue);
5707
+ if (isDef(data)) {
5708
+ invokeCreateHooks(vnode, insertedVnodeQueue);
5709
+ }
5710
+ insert(parentElm, vnode.elm, refElm);
5711
+ }
5712
+
5713
+ if (process.env.NODE_ENV !== 'production' && data && data.pre) {
5714
+ creatingElmInVPre--;
5715
+ }
5716
+ } else if (isTrue(vnode.isComment)) {
5717
+ vnode.elm = nodeOps.createComment(vnode.text);
5718
+ insert(parentElm, vnode.elm, refElm);
5719
+ } else {
5720
+ vnode.elm = nodeOps.createTextNode(vnode.text);
5721
+ insert(parentElm, vnode.elm, refElm);
5722
+ }
5723
+ }
5724
+
5725
+ function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
5726
+ var i = vnode.data;
5727
+ if (isDef(i)) {
5728
+ var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;
5729
+ if (isDef(i = i.hook) && isDef(i = i.init)) {
5730
+ i(vnode, false /* hydrating */, parentElm, refElm);
5731
+ }
5732
+ // after calling the init hook, if the vnode is a child component
5733
+ // it should've created a child instance and mounted it. the child
5734
+ // component also has set the placeholder vnode's elm.
5735
+ // in that case we can just return the element and be done.
5736
+ if (isDef(vnode.componentInstance)) {
5737
+ initComponent(vnode, insertedVnodeQueue);
5738
+ if (isTrue(isReactivated)) {
5739
+ reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);
5740
+ }
5741
+ return true
5742
+ }
5743
+ }
5744
+ }
5745
+
5746
+ function initComponent (vnode, insertedVnodeQueue) {
5747
+ if (isDef(vnode.data.pendingInsert)) {
5748
+ insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);
5749
+ vnode.data.pendingInsert = null;
5750
+ }
5751
+ vnode.elm = vnode.componentInstance.$el;
5752
+ if (isPatchable(vnode)) {
5753
+ invokeCreateHooks(vnode, insertedVnodeQueue);
5754
+ setScope(vnode);
5755
+ } else {
5756
+ // empty component root.
5757
+ // skip all element-related modules except for ref (#3455)
5758
+ registerRef(vnode);
5759
+ // make sure to invoke the insert hook
5760
+ insertedVnodeQueue.push(vnode);
5761
+ }
5762
+ }
5763
+
5764
+ function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
5765
+ var i;
5766
+ // hack for #4339: a reactivated component with inner transition
5767
+ // does not trigger because the inner node's created hooks are not called
5768
+ // again. It's not ideal to involve module-specific logic in here but
5769
+ // there doesn't seem to be a better way to do it.
5770
+ var innerNode = vnode;
5771
+ while (innerNode.componentInstance) {
5772
+ innerNode = innerNode.componentInstance._vnode;
5773
+ if (isDef(i = innerNode.data) && isDef(i = i.transition)) {
5774
+ for (i = 0; i < cbs.activate.length; ++i) {
5775
+ cbs.activate[i](emptyNode, innerNode);
5776
+ }
5777
+ insertedVnodeQueue.push(innerNode);
5778
+ break
5779
+ }
5780
+ }
5781
+ // unlike a newly created component,
5782
+ // a reactivated keep-alive component doesn't insert itself
5783
+ insert(parentElm, vnode.elm, refElm);
5784
+ }
5785
+
5786
+ function insert (parent, elm, ref$$1) {
5787
+ if (isDef(parent)) {
5788
+ if (isDef(ref$$1)) {
5789
+ if (ref$$1.parentNode === parent) {
5790
+ nodeOps.insertBefore(parent, elm, ref$$1);
5791
+ }
5792
+ } else {
5793
+ nodeOps.appendChild(parent, elm);
5794
+ }
5795
+ }
5796
+ }
5797
+
5798
+ function createChildren (vnode, children, insertedVnodeQueue) {
5799
+ if (Array.isArray(children)) {
5800
+ if (process.env.NODE_ENV !== 'production') {
5801
+ checkDuplicateKeys(children);
5802
+ }
5803
+ for (var i = 0; i < children.length; ++i) {
5804
+ createElm(children[i], insertedVnodeQueue, vnode.elm, null, true);
5805
+ }
5806
+ } else if (isPrimitive(vnode.text)) {
5807
+ nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));
5808
+ }
5809
+ }
5810
+
5811
+ function isPatchable (vnode) {
5812
+ while (vnode.componentInstance) {
5813
+ vnode = vnode.componentInstance._vnode;
5814
+ }
5815
+ return isDef(vnode.tag)
5816
+ }
5817
+
5818
+ function invokeCreateHooks (vnode, insertedVnodeQueue) {
5819
+ for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
5820
+ cbs.create[i$1](emptyNode, vnode);
5821
+ }
5822
+ i = vnode.data.hook; // Reuse variable
5823
+ if (isDef(i)) {
5824
+ if (isDef(i.create)) { i.create(emptyNode, vnode); }
5825
+ if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }
5826
+ }
5827
+ }
5828
+
5829
+ // set scope id attribute for scoped CSS.
5830
+ // this is implemented as a special case to avoid the overhead
5831
+ // of going through the normal attribute patching process.
5832
+ function setScope (vnode) {
5833
+ var i;
5834
+ if (isDef(i = vnode.fnScopeId)) {
5835
+ nodeOps.setAttribute(vnode.elm, i, '');
5836
+ } else {
5837
+ var ancestor = vnode;
5838
+ while (ancestor) {
5839
+ if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {
5840
+ nodeOps.setAttribute(vnode.elm, i, '');
5841
+ }
5842
+ ancestor = ancestor.parent;
5843
+ }
5844
+ }
5845
+ // for slot content they should also get the scopeId from the host instance.
5846
+ if (isDef(i = activeInstance) &&
5847
+ i !== vnode.context &&
5848
+ i !== vnode.fnContext &&
5849
+ isDef(i = i.$options._scopeId)
5850
+ ) {
5851
+ nodeOps.setAttribute(vnode.elm, i, '');
5852
+ }
5853
+ }
5854
+
5855
+ function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {
5856
+ for (; startIdx <= endIdx; ++startIdx) {
5857
+ createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm);
5858
+ }
5859
+ }
5860
+
5861
+ function invokeDestroyHook (vnode) {
5862
+ var i, j;
5863
+ var data = vnode.data;
5864
+ if (isDef(data)) {
5865
+ if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }
5866
+ for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }
5867
+ }
5868
+ if (isDef(i = vnode.children)) {
5869
+ for (j = 0; j < vnode.children.length; ++j) {
5870
+ invokeDestroyHook(vnode.children[j]);
5871
+ }
5872
+ }
5873
+ }
5874
+
5875
+ function removeVnodes (parentElm, vnodes, startIdx, endIdx) {
5876
+ for (; startIdx <= endIdx; ++startIdx) {
5877
+ var ch = vnodes[startIdx];
5878
+ if (isDef(ch)) {
5879
+ if (isDef(ch.tag)) {
5880
+ removeAndInvokeRemoveHook(ch);
5881
+ invokeDestroyHook(ch);
5882
+ } else { // Text node
5883
+ removeNode(ch.elm);
5884
+ }
5885
+ }
5886
+ }
5887
+ }
5888
+
5889
+ function removeAndInvokeRemoveHook (vnode, rm) {
5890
+ if (isDef(rm) || isDef(vnode.data)) {
5891
+ var i;
5892
+ var listeners = cbs.remove.length + 1;
5893
+ if (isDef(rm)) {
5894
+ // we have a recursively passed down rm callback
5895
+ // increase the listeners count
5896
+ rm.listeners += listeners;
5897
+ } else {
5898
+ // directly removing
5899
+ rm = createRmCb(vnode.elm, listeners);
5900
+ }
5901
+ // recursively invoke hooks on child component root node
5902
+ if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {
5903
+ removeAndInvokeRemoveHook(i, rm);
5904
+ }
5905
+ for (i = 0; i < cbs.remove.length; ++i) {
5906
+ cbs.remove[i](vnode, rm);
5907
+ }
5908
+ if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {
5909
+ i(vnode, rm);
5910
+ } else {
5911
+ rm();
5912
+ }
5913
+ } else {
5914
+ removeNode(vnode.elm);
5915
+ }
5916
+ }
5917
+
5918
+ function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {
5919
+ var oldStartIdx = 0;
5920
+ var newStartIdx = 0;
5921
+ var oldEndIdx = oldCh.length - 1;
5922
+ var oldStartVnode = oldCh[0];
5923
+ var oldEndVnode = oldCh[oldEndIdx];
5924
+ var newEndIdx = newCh.length - 1;
5925
+ var newStartVnode = newCh[0];
5926
+ var newEndVnode = newCh[newEndIdx];
5927
+ var oldKeyToIdx, idxInOld, vnodeToMove, refElm;
5928
+
5929
+ // removeOnly is a special flag used only by <transition-group>
5930
+ // to ensure removed elements stay in correct relative positions
5931
+ // during leaving transitions
5932
+ var canMove = !removeOnly;
5933
+
5934
+ if (process.env.NODE_ENV !== 'production') {
5935
+ checkDuplicateKeys(newCh);
5936
+ }
5937
+
5938
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
5939
+ if (isUndef(oldStartVnode)) {
5940
+ oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left
5941
+ } else if (isUndef(oldEndVnode)) {
5942
+ oldEndVnode = oldCh[--oldEndIdx];
5943
+ } else if (sameVnode(oldStartVnode, newStartVnode)) {
5944
+ patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);
5945
+ oldStartVnode = oldCh[++oldStartIdx];
5946
+ newStartVnode = newCh[++newStartIdx];
5947
+ } else if (sameVnode(oldEndVnode, newEndVnode)) {
5948
+ patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);
5949
+ oldEndVnode = oldCh[--oldEndIdx];
5950
+ newEndVnode = newCh[--newEndIdx];
5951
+ } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right
5952
+ patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);
5953
+ canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));
5954
+ oldStartVnode = oldCh[++oldStartIdx];
5955
+ newEndVnode = newCh[--newEndIdx];
5956
+ } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left
5957
+ patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);
5958
+ canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
5959
+ oldEndVnode = oldCh[--oldEndIdx];
5960
+ newStartVnode = newCh[++newStartIdx];
5961
+ } else {
5962
+ if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }
5963
+ idxInOld = isDef(newStartVnode.key)
5964
+ ? oldKeyToIdx[newStartVnode.key]
5965
+ : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);
5966
+ if (isUndef(idxInOld)) { // New element
5967
+ createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm);
5968
+ } else {
5969
+ vnodeToMove = oldCh[idxInOld];
5970
+ if (sameVnode(vnodeToMove, newStartVnode)) {
5971
+ patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue);
5972
+ oldCh[idxInOld] = undefined;
5973
+ canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);
5974
+ } else {
5975
+ // same key but different element. treat as new element
5976
+ createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm);
5977
+ }
5978
+ }
5979
+ newStartVnode = newCh[++newStartIdx];
5980
+ }
5981
+ }
5982
+ if (oldStartIdx > oldEndIdx) {
5983
+ refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;
5984
+ addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);
5985
+ } else if (newStartIdx > newEndIdx) {
5986
+ removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);
5987
+ }
5988
+ }
5989
+
5990
+ function checkDuplicateKeys (children) {
5991
+ var seenKeys = {};
5992
+ for (var i = 0; i < children.length; i++) {
5993
+ var vnode = children[i];
5994
+ var key = vnode.key;
5995
+ if (isDef(key)) {
5996
+ if (seenKeys[key]) {
5997
+ warn(
5998
+ ("Duplicate keys detected: '" + key + "'. This may cause an update error."),
5999
+ vnode.context
6000
+ );
6001
+ } else {
6002
+ seenKeys[key] = true;
6003
+ }
6004
+ }
6005
+ }
6006
+ }
6007
+
6008
+ function findIdxInOld (node, oldCh, start, end) {
6009
+ for (var i = start; i < end; i++) {
6010
+ var c = oldCh[i];
6011
+ if (isDef(c) && sameVnode(node, c)) { return i }
6012
+ }
6013
+ }
6014
+
6015
+ function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {
6016
+ if (oldVnode === vnode) {
6017
+ return
6018
+ }
6019
+
6020
+ var elm = vnode.elm = oldVnode.elm;
6021
+
6022
+ if (isTrue(oldVnode.isAsyncPlaceholder)) {
6023
+ if (isDef(vnode.asyncFactory.resolved)) {
6024
+ hydrate(oldVnode.elm, vnode, insertedVnodeQueue);
6025
+ } else {
6026
+ vnode.isAsyncPlaceholder = true;
6027
+ }
6028
+ return
6029
+ }
6030
+
6031
+ // reuse element for static trees.
6032
+ // note we only do this if the vnode is cloned -
6033
+ // if the new node is not cloned it means the render functions have been
6034
+ // reset by the hot-reload-api and we need to do a proper re-render.
6035
+ if (isTrue(vnode.isStatic) &&
6036
+ isTrue(oldVnode.isStatic) &&
6037
+ vnode.key === oldVnode.key &&
6038
+ (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))
6039
+ ) {
6040
+ vnode.componentInstance = oldVnode.componentInstance;
6041
+ return
6042
+ }
6043
+
6044
+ var i;
6045
+ var data = vnode.data;
6046
+ if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {
6047
+ i(oldVnode, vnode);
6048
+ }
6049
+
6050
+ var oldCh = oldVnode.children;
6051
+ var ch = vnode.children;
6052
+ if (isDef(data) && isPatchable(vnode)) {
6053
+ for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }
6054
+ if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }
6055
+ }
6056
+ if (isUndef(vnode.text)) {
6057
+ if (isDef(oldCh) && isDef(ch)) {
6058
+ if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }
6059
+ } else if (isDef(ch)) {
6060
+ if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }
6061
+ addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);
6062
+ } else if (isDef(oldCh)) {
6063
+ removeVnodes(elm, oldCh, 0, oldCh.length - 1);
6064
+ } else if (isDef(oldVnode.text)) {
6065
+ nodeOps.setTextContent(elm, '');
6066
+ }
6067
+ } else if (oldVnode.text !== vnode.text) {
6068
+ nodeOps.setTextContent(elm, vnode.text);
6069
+ }
6070
+ if (isDef(data)) {
6071
+ if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }
6072
+ }
6073
+ }
6074
+
6075
+ function invokeInsertHook (vnode, queue, initial) {
6076
+ // delay insert hooks for component root nodes, invoke them after the
6077
+ // element is really inserted
6078
+ if (isTrue(initial) && isDef(vnode.parent)) {
6079
+ vnode.parent.data.pendingInsert = queue;
6080
+ } else {
6081
+ for (var i = 0; i < queue.length; ++i) {
6082
+ queue[i].data.hook.insert(queue[i]);
6083
+ }
6084
+ }
6085
+ }
6086
+
6087
+ var hydrationBailed = false;
6088
+ // list of modules that can skip create hook during hydration because they
6089
+ // are already rendered on the client or has no need for initialization
6090
+ // Note: style is excluded because it relies on initial clone for future
6091
+ // deep updates (#7063).
6092
+ var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');
6093
+
6094
+ // Note: this is a browser-only function so we can assume elms are DOM nodes.
6095
+ function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {
6096
+ var i;
6097
+ var tag = vnode.tag;
6098
+ var data = vnode.data;
6099
+ var children = vnode.children;
6100
+ inVPre = inVPre || (data && data.pre);
6101
+ vnode.elm = elm;
6102
+
6103
+ if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {
6104
+ vnode.isAsyncPlaceholder = true;
6105
+ return true
6106
+ }
6107
+ // assert node match
6108
+ if (process.env.NODE_ENV !== 'production') {
6109
+ if (!assertNodeMatch(elm, vnode, inVPre)) {
6110
+ return false
6111
+ }
6112
+ }
6113
+ if (isDef(data)) {
6114
+ if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }
6115
+ if (isDef(i = vnode.componentInstance)) {
6116
+ // child component. it should have hydrated its own tree.
6117
+ initComponent(vnode, insertedVnodeQueue);
6118
+ return true
6119
+ }
6120
+ }
6121
+ if (isDef(tag)) {
6122
+ if (isDef(children)) {
6123
+ // empty element, allow client to pick up and populate children
6124
+ if (!elm.hasChildNodes()) {
6125
+ createChildren(vnode, children, insertedVnodeQueue);
6126
+ } else {
6127
+ // v-html and domProps: innerHTML
6128
+ if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {
6129
+ if (i !== elm.innerHTML) {
6130
+ /* istanbul ignore if */
6131
+ if (process.env.NODE_ENV !== 'production' &&
6132
+ typeof console !== 'undefined' &&
6133
+ !hydrationBailed
6134
+ ) {
6135
+ hydrationBailed = true;
6136
+ console.warn('Parent: ', elm);
6137
+ console.warn('server innerHTML: ', i);
6138
+ console.warn('client innerHTML: ', elm.innerHTML);
6139
+ }
6140
+ return false
6141
+ }
6142
+ } else {
6143
+ // iterate and compare children lists
6144
+ var childrenMatch = true;
6145
+ var childNode = elm.firstChild;
6146
+ for (var i$1 = 0; i$1 < children.length; i$1++) {
6147
+ if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {
6148
+ childrenMatch = false;
6149
+ break
6150
+ }
6151
+ childNode = childNode.nextSibling;
6152
+ }
6153
+ // if childNode is not null, it means the actual childNodes list is
6154
+ // longer than the virtual children list.
6155
+ if (!childrenMatch || childNode) {
6156
+ /* istanbul ignore if */
6157
+ if (process.env.NODE_ENV !== 'production' &&
6158
+ typeof console !== 'undefined' &&
6159
+ !hydrationBailed
6160
+ ) {
6161
+ hydrationBailed = true;
6162
+ console.warn('Parent: ', elm);
6163
+ console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);
6164
+ }
6165
+ return false
6166
+ }
6167
+ }
6168
+ }
6169
+ }
6170
+ if (isDef(data)) {
6171
+ var fullInvoke = false;
6172
+ for (var key in data) {
6173
+ if (!isRenderedModule(key)) {
6174
+ fullInvoke = true;
6175
+ invokeCreateHooks(vnode, insertedVnodeQueue);
6176
+ break
6177
+ }
6178
+ }
6179
+ if (!fullInvoke && data['class']) {
6180
+ // ensure collecting deps for deep class bindings for future updates
6181
+ traverse(data['class']);
6182
+ }
6183
+ }
6184
+ } else if (elm.data !== vnode.text) {
6185
+ elm.data = vnode.text;
6186
+ }
6187
+ return true
6188
+ }
6189
+
6190
+ function assertNodeMatch (node, vnode, inVPre) {
6191
+ if (isDef(vnode.tag)) {
6192
+ return vnode.tag.indexOf('vue-component') === 0 || (
6193
+ !isUnknownElement$$1(vnode, inVPre) &&
6194
+ vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())
6195
+ )
6196
+ } else {
6197
+ return node.nodeType === (vnode.isComment ? 8 : 3)
6198
+ }
6199
+ }
6200
+
6201
+ return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {
6202
+ if (isUndef(vnode)) {
6203
+ if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }
6204
+ return
6205
+ }
6206
+
6207
+ var isInitialPatch = false;
6208
+ var insertedVnodeQueue = [];
6209
+
6210
+ if (isUndef(oldVnode)) {
6211
+ // empty mount (likely as component), create new root element
6212
+ isInitialPatch = true;
6213
+ createElm(vnode, insertedVnodeQueue, parentElm, refElm);
6214
+ } else {
6215
+ var isRealElement = isDef(oldVnode.nodeType);
6216
+ if (!isRealElement && sameVnode(oldVnode, vnode)) {
6217
+ // patch existing root node
6218
+ patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);
6219
+ } else {
6220
+ if (isRealElement) {
6221
+ // mounting to a real element
6222
+ // check if this is server-rendered content and if we can perform
6223
+ // a successful hydration.
6224
+ if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {
6225
+ oldVnode.removeAttribute(SSR_ATTR);
6226
+ hydrating = true;
6227
+ }
6228
+ if (isTrue(hydrating)) {
6229
+ if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {
6230
+ invokeInsertHook(vnode, insertedVnodeQueue, true);
6231
+ return oldVnode
6232
+ } else if (process.env.NODE_ENV !== 'production') {
6233
+ warn(
6234
+ 'The client-side rendered virtual DOM tree is not matching ' +
6235
+ 'server-rendered content. This is likely caused by incorrect ' +
6236
+ 'HTML markup, for example nesting block-level elements inside ' +
6237
+ '<p>, or missing <tbody>. Bailing hydration and performing ' +
6238
+ 'full client-side render.'
6239
+ );
6240
+ }
6241
+ }
6242
+ // either not server-rendered, or hydration failed.
6243
+ // create an empty node and replace it
6244
+ oldVnode = emptyNodeAt(oldVnode);
6245
+ }
6246
+
6247
+ // replacing existing element
6248
+ var oldElm = oldVnode.elm;
6249
+ var parentElm$1 = nodeOps.parentNode(oldElm);
6250
+
6251
+ // create new node
6252
+ createElm(
6253
+ vnode,
6254
+ insertedVnodeQueue,
6255
+ // extremely rare edge case: do not insert if old element is in a
6256
+ // leaving transition. Only happens when combining transition +
6257
+ // keep-alive + HOCs. (#4590)
6258
+ oldElm._leaveCb ? null : parentElm$1,
6259
+ nodeOps.nextSibling(oldElm)
6260
+ );
6261
+
6262
+ // update parent placeholder node element, recursively
6263
+ if (isDef(vnode.parent)) {
6264
+ var ancestor = vnode.parent;
6265
+ var patchable = isPatchable(vnode);
6266
+ while (ancestor) {
6267
+ for (var i = 0; i < cbs.destroy.length; ++i) {
6268
+ cbs.destroy[i](ancestor);
6269
+ }
6270
+ ancestor.elm = vnode.elm;
6271
+ if (patchable) {
6272
+ for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
6273
+ cbs.create[i$1](emptyNode, ancestor);
6274
+ }
6275
+ // #6513
6276
+ // invoke insert hooks that may have been merged by create hooks.
6277
+ // e.g. for directives that uses the "inserted" hook.
6278
+ var insert = ancestor.data.hook.insert;
6279
+ if (insert.merged) {
6280
+ // start at index 1 to avoid re-invoking component mounted hook
6281
+ for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {
6282
+ insert.fns[i$2]();
6283
+ }
6284
+ }
6285
+ } else {
6286
+ registerRef(ancestor);
6287
+ }
6288
+ ancestor = ancestor.parent;
6289
+ }
6290
+ }
6291
+
6292
+ // destroy old node
6293
+ if (isDef(parentElm$1)) {
6294
+ removeVnodes(parentElm$1, [oldVnode], 0, 0);
6295
+ } else if (isDef(oldVnode.tag)) {
6296
+ invokeDestroyHook(oldVnode);
6297
+ }
6298
+ }
6299
+ }
6300
+
6301
+ invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);
6302
+ return vnode.elm
6303
+ }
6304
+ }
6305
+
6306
+ /* */
6307
+
6308
+ var directives = {
6309
+ create: updateDirectives,
6310
+ update: updateDirectives,
6311
+ destroy: function unbindDirectives (vnode) {
6312
+ updateDirectives(vnode, emptyNode);
6313
+ }
6314
+ };
6315
+
6316
+ function updateDirectives (oldVnode, vnode) {
6317
+ if (oldVnode.data.directives || vnode.data.directives) {
6318
+ _update(oldVnode, vnode);
6319
+ }
6320
+ }
6321
+
6322
+ function _update (oldVnode, vnode) {
6323
+ var isCreate = oldVnode === emptyNode;
6324
+ var isDestroy = vnode === emptyNode;
6325
+ var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);
6326
+ var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);
6327
+
6328
+ var dirsWithInsert = [];
6329
+ var dirsWithPostpatch = [];
6330
+
6331
+ var key, oldDir, dir;
6332
+ for (key in newDirs) {
6333
+ oldDir = oldDirs[key];
6334
+ dir = newDirs[key];
6335
+ if (!oldDir) {
6336
+ // new directive, bind
6337
+ callHook$1(dir, 'bind', vnode, oldVnode);
6338
+ if (dir.def && dir.def.inserted) {
6339
+ dirsWithInsert.push(dir);
6340
+ }
6341
+ } else {
6342
+ // existing directive, update
6343
+ dir.oldValue = oldDir.value;
6344
+ callHook$1(dir, 'update', vnode, oldVnode);
6345
+ if (dir.def && dir.def.componentUpdated) {
6346
+ dirsWithPostpatch.push(dir);
6347
+ }
6348
+ }
6349
+ }
6350
+
6351
+ if (dirsWithInsert.length) {
6352
+ var callInsert = function () {
6353
+ for (var i = 0; i < dirsWithInsert.length; i++) {
6354
+ callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);
6355
+ }
6356
+ };
6357
+ if (isCreate) {
6358
+ mergeVNodeHook(vnode, 'insert', callInsert);
6359
+ } else {
6360
+ callInsert();
6361
+ }
6362
+ }
6363
+
6364
+ if (dirsWithPostpatch.length) {
6365
+ mergeVNodeHook(vnode, 'postpatch', function () {
6366
+ for (var i = 0; i < dirsWithPostpatch.length; i++) {
6367
+ callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);
6368
+ }
6369
+ });
6370
+ }
6371
+
6372
+ if (!isCreate) {
6373
+ for (key in oldDirs) {
6374
+ if (!newDirs[key]) {
6375
+ // no longer present, unbind
6376
+ callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);
6377
+ }
6378
+ }
6379
+ }
6380
+ }
6381
+
6382
+ var emptyModifiers = Object.create(null);
6383
+
6384
+ function normalizeDirectives$1 (
6385
+ dirs,
6386
+ vm
6387
+ ) {
6388
+ var res = Object.create(null);
6389
+ if (!dirs) {
6390
+ // $flow-disable-line
6391
+ return res
6392
+ }
6393
+ var i, dir;
6394
+ for (i = 0; i < dirs.length; i++) {
6395
+ dir = dirs[i];
6396
+ if (!dir.modifiers) {
6397
+ // $flow-disable-line
6398
+ dir.modifiers = emptyModifiers;
6399
+ }
6400
+ res[getRawDirName(dir)] = dir;
6401
+ dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);
6402
+ }
6403
+ // $flow-disable-line
6404
+ return res
6405
+ }
6406
+
6407
+ function getRawDirName (dir) {
6408
+ return dir.rawName || ((dir.name) + "." + (Object.keys(dir.modifiers || {}).join('.')))
6409
+ }
6410
+
6411
+ function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {
6412
+ var fn = dir.def && dir.def[hook];
6413
+ if (fn) {
6414
+ try {
6415
+ fn(vnode.elm, dir, vnode, oldVnode, isDestroy);
6416
+ } catch (e) {
6417
+ handleError(e, vnode.context, ("directive " + (dir.name) + " " + hook + " hook"));
6418
+ }
6419
+ }
6420
+ }
6421
+
6422
+ var baseModules = [
6423
+ ref,
6424
+ directives
6425
+ ];
6426
+
6427
+ /* */
6428
+
6429
+ function updateAttrs (oldVnode, vnode) {
6430
+ var opts = vnode.componentOptions;
6431
+ if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {
6432
+ return
6433
+ }
6434
+ if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {
6435
+ return
6436
+ }
6437
+ var key, cur, old;
6438
+ var elm = vnode.elm;
6439
+ var oldAttrs = oldVnode.data.attrs || {};
6440
+ var attrs = vnode.data.attrs || {};
6441
+ // clone observed objects, as the user probably wants to mutate it
6442
+ if (isDef(attrs.__ob__)) {
6443
+ attrs = vnode.data.attrs = extend({}, attrs);
6444
+ }
6445
+
6446
+ for (key in attrs) {
6447
+ cur = attrs[key];
6448
+ old = oldAttrs[key];
6449
+ if (old !== cur) {
6450
+ setAttr(elm, key, cur);
6451
+ }
6452
+ }
6453
+ // #4391: in IE9, setting type can reset value for input[type=radio]
6454
+ // #6666: IE/Edge forces progress value down to 1 before setting a max
6455
+ /* istanbul ignore if */
6456
+ if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {
6457
+ setAttr(elm, 'value', attrs.value);
6458
+ }
6459
+ for (key in oldAttrs) {
6460
+ if (isUndef(attrs[key])) {
6461
+ if (isXlink(key)) {
6462
+ elm.removeAttributeNS(xlinkNS, getXlinkProp(key));
6463
+ } else if (!isEnumeratedAttr(key)) {
6464
+ elm.removeAttribute(key);
6465
+ }
6466
+ }
6467
+ }
6468
+ }
6469
+
6470
+ function setAttr (el, key, value) {
6471
+ if (isBooleanAttr(key)) {
6472
+ // set attribute for blank value
6473
+ // e.g. <option disabled>Select one</option>
6474
+ if (isFalsyAttrValue(value)) {
6475
+ el.removeAttribute(key);
6476
+ } else {
6477
+ // technically allowfullscreen is a boolean attribute for <iframe>,
6478
+ // but Flash expects a value of "true" when used on <embed> tag
6479
+ value = key === 'allowfullscreen' && el.tagName === 'EMBED'
6480
+ ? 'true'
6481
+ : key;
6482
+ el.setAttribute(key, value);
6483
+ }
6484
+ } else if (isEnumeratedAttr(key)) {
6485
+ el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');
6486
+ } else if (isXlink(key)) {
6487
+ if (isFalsyAttrValue(value)) {
6488
+ el.removeAttributeNS(xlinkNS, getXlinkProp(key));
6489
+ } else {
6490
+ el.setAttributeNS(xlinkNS, key, value);
6491
+ }
6492
+ } else {
6493
+ if (isFalsyAttrValue(value)) {
6494
+ el.removeAttribute(key);
6495
+ } else {
6496
+ // #7138: IE10 & 11 fires input event when setting placeholder on
6497
+ // <textarea>... block the first input event and remove the blocker
6498
+ // immediately.
6499
+ /* istanbul ignore if */
6500
+ if (
6501
+ isIE && !isIE9 &&
6502
+ el.tagName === 'TEXTAREA' &&
6503
+ key === 'placeholder' && !el.__ieph
6504
+ ) {
6505
+ var blocker = function (e) {
6506
+ e.stopImmediatePropagation();
6507
+ el.removeEventListener('input', blocker);
6508
+ };
6509
+ el.addEventListener('input', blocker);
6510
+ // $flow-disable-line
6511
+ el.__ieph = true; /* IE placeholder patched */
6512
+ }
6513
+ el.setAttribute(key, value);
6514
+ }
6515
+ }
6516
+ }
6517
+
6518
+ var attrs = {
6519
+ create: updateAttrs,
6520
+ update: updateAttrs
6521
+ };
6522
+
6523
+ /* */
6524
+
6525
+ function updateClass (oldVnode, vnode) {
6526
+ var el = vnode.elm;
6527
+ var data = vnode.data;
6528
+ var oldData = oldVnode.data;
6529
+ if (
6530
+ isUndef(data.staticClass) &&
6531
+ isUndef(data.class) && (
6532
+ isUndef(oldData) || (
6533
+ isUndef(oldData.staticClass) &&
6534
+ isUndef(oldData.class)
6535
+ )
6536
+ )
6537
+ ) {
6538
+ return
6539
+ }
6540
+
6541
+ var cls = genClassForVnode(vnode);
6542
+
6543
+ // handle transition classes
6544
+ var transitionClass = el._transitionClasses;
6545
+ if (isDef(transitionClass)) {
6546
+ cls = concat(cls, stringifyClass(transitionClass));
6547
+ }
6548
+
6549
+ // set the class
6550
+ if (cls !== el._prevClass) {
6551
+ el.setAttribute('class', cls);
6552
+ el._prevClass = cls;
6553
+ }
6554
+ }
6555
+
6556
+ var klass = {
6557
+ create: updateClass,
6558
+ update: updateClass
6559
+ };
6560
+
6561
+ /* */
6562
+
6563
+ var validDivisionCharRE = /[\w).+\-_$\]]/;
6564
+
6565
+ function parseFilters (exp) {
6566
+ var inSingle = false;
6567
+ var inDouble = false;
6568
+ var inTemplateString = false;
6569
+ var inRegex = false;
6570
+ var curly = 0;
6571
+ var square = 0;
6572
+ var paren = 0;
6573
+ var lastFilterIndex = 0;
6574
+ var c, prev, i, expression, filters;
6575
+
6576
+ for (i = 0; i < exp.length; i++) {
6577
+ prev = c;
6578
+ c = exp.charCodeAt(i);
6579
+ if (inSingle) {
6580
+ if (c === 0x27 && prev !== 0x5C) { inSingle = false; }
6581
+ } else if (inDouble) {
6582
+ if (c === 0x22 && prev !== 0x5C) { inDouble = false; }
6583
+ } else if (inTemplateString) {
6584
+ if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }
6585
+ } else if (inRegex) {
6586
+ if (c === 0x2f && prev !== 0x5C) { inRegex = false; }
6587
+ } else if (
6588
+ c === 0x7C && // pipe
6589
+ exp.charCodeAt(i + 1) !== 0x7C &&
6590
+ exp.charCodeAt(i - 1) !== 0x7C &&
6591
+ !curly && !square && !paren
6592
+ ) {
6593
+ if (expression === undefined) {
6594
+ // first filter, end of expression
6595
+ lastFilterIndex = i + 1;
6596
+ expression = exp.slice(0, i).trim();
6597
+ } else {
6598
+ pushFilter();
6599
+ }
6600
+ } else {
6601
+ switch (c) {
6602
+ case 0x22: inDouble = true; break // "
6603
+ case 0x27: inSingle = true; break // '
6604
+ case 0x60: inTemplateString = true; break // `
6605
+ case 0x28: paren++; break // (
6606
+ case 0x29: paren--; break // )
6607
+ case 0x5B: square++; break // [
6608
+ case 0x5D: square--; break // ]
6609
+ case 0x7B: curly++; break // {
6610
+ case 0x7D: curly--; break // }
6611
+ }
6612
+ if (c === 0x2f) { // /
6613
+ var j = i - 1;
6614
+ var p = (void 0);
6615
+ // find first non-whitespace prev char
6616
+ for (; j >= 0; j--) {
6617
+ p = exp.charAt(j);
6618
+ if (p !== ' ') { break }
6619
+ }
6620
+ if (!p || !validDivisionCharRE.test(p)) {
6621
+ inRegex = true;
6622
+ }
6623
+ }
6624
+ }
6625
+ }
6626
+
6627
+ if (expression === undefined) {
6628
+ expression = exp.slice(0, i).trim();
6629
+ } else if (lastFilterIndex !== 0) {
6630
+ pushFilter();
6631
+ }
6632
+
6633
+ function pushFilter () {
6634
+ (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());
6635
+ lastFilterIndex = i + 1;
6636
+ }
6637
+
6638
+ if (filters) {
6639
+ for (i = 0; i < filters.length; i++) {
6640
+ expression = wrapFilter(expression, filters[i]);
6641
+ }
6642
+ }
6643
+
6644
+ return expression
6645
+ }
6646
+
6647
+ function wrapFilter (exp, filter) {
6648
+ var i = filter.indexOf('(');
6649
+ if (i < 0) {
6650
+ // _f: resolveFilter
6651
+ return ("_f(\"" + filter + "\")(" + exp + ")")
6652
+ } else {
6653
+ var name = filter.slice(0, i);
6654
+ var args = filter.slice(i + 1);
6655
+ return ("_f(\"" + name + "\")(" + exp + "," + args)
6656
+ }
6657
+ }
6658
+
6659
+ /* */
6660
+
6661
+ function baseWarn (msg) {
6662
+ console.error(("[Vue compiler]: " + msg));
6663
+ }
6664
+
6665
+ function pluckModuleFunction (
6666
+ modules,
6667
+ key
6668
+ ) {
6669
+ return modules
6670
+ ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })
6671
+ : []
6672
+ }
6673
+
6674
+ function addProp (el, name, value) {
6675
+ (el.props || (el.props = [])).push({ name: name, value: value });
6676
+ el.plain = false;
6677
+ }
6678
+
6679
+ function addAttr (el, name, value) {
6680
+ (el.attrs || (el.attrs = [])).push({ name: name, value: value });
6681
+ el.plain = false;
6682
+ }
6683
+
6684
+ // add a raw attr (use this in preTransforms)
6685
+ function addRawAttr (el, name, value) {
6686
+ el.attrsMap[name] = value;
6687
+ el.attrsList.push({ name: name, value: value });
6688
+ }
6689
+
6690
+ function addDirective (
6691
+ el,
6692
+ name,
6693
+ rawName,
6694
+ value,
6695
+ arg,
6696
+ modifiers
6697
+ ) {
6698
+ (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });
6699
+ el.plain = false;
6700
+ }
6701
+
6702
+ function addHandler (
6703
+ el,
6704
+ name,
6705
+ value,
6706
+ modifiers,
6707
+ important,
6708
+ warn
6709
+ ) {
6710
+ modifiers = modifiers || emptyObject;
6711
+ // warn prevent and passive modifier
6712
+ /* istanbul ignore if */
6713
+ if (
6714
+ process.env.NODE_ENV !== 'production' && warn &&
6715
+ modifiers.prevent && modifiers.passive
6716
+ ) {
6717
+ warn(
6718
+ 'passive and prevent can\'t be used together. ' +
6719
+ 'Passive handler can\'t prevent default event.'
6720
+ );
6721
+ }
6722
+
6723
+ // check capture modifier
6724
+ if (modifiers.capture) {
6725
+ delete modifiers.capture;
6726
+ name = '!' + name; // mark the event as captured
6727
+ }
6728
+ if (modifiers.once) {
6729
+ delete modifiers.once;
6730
+ name = '~' + name; // mark the event as once
6731
+ }
6732
+ /* istanbul ignore if */
6733
+ if (modifiers.passive) {
6734
+ delete modifiers.passive;
6735
+ name = '&' + name; // mark the event as passive
6736
+ }
6737
+
6738
+ // normalize click.right and click.middle since they don't actually fire
6739
+ // this is technically browser-specific, but at least for now browsers are
6740
+ // the only target envs that have right/middle clicks.
6741
+ if (name === 'click') {
6742
+ if (modifiers.right) {
6743
+ name = 'contextmenu';
6744
+ delete modifiers.right;
6745
+ } else if (modifiers.middle) {
6746
+ name = 'mouseup';
6747
+ }
6748
+ }
6749
+
6750
+ var events;
6751
+ if (modifiers.native) {
6752
+ delete modifiers.native;
6753
+ events = el.nativeEvents || (el.nativeEvents = {});
6754
+ } else {
6755
+ events = el.events || (el.events = {});
6756
+ }
6757
+
6758
+ var newHandler = { value: value };
6759
+ if (modifiers !== emptyObject) {
6760
+ newHandler.modifiers = modifiers;
6761
+ }
6762
+
6763
+ var handlers = events[name];
6764
+ /* istanbul ignore if */
6765
+ if (Array.isArray(handlers)) {
6766
+ important ? handlers.unshift(newHandler) : handlers.push(newHandler);
6767
+ } else if (handlers) {
6768
+ events[name] = important ? [newHandler, handlers] : [handlers, newHandler];
6769
+ } else {
6770
+ events[name] = newHandler;
6771
+ }
6772
+
6773
+ el.plain = false;
6774
+ }
6775
+
6776
+ function getBindingAttr (
6777
+ el,
6778
+ name,
6779
+ getStatic
6780
+ ) {
6781
+ var dynamicValue =
6782
+ getAndRemoveAttr(el, ':' + name) ||
6783
+ getAndRemoveAttr(el, 'v-bind:' + name);
6784
+ if (dynamicValue != null) {
6785
+ return parseFilters(dynamicValue)
6786
+ } else if (getStatic !== false) {
6787
+ var staticValue = getAndRemoveAttr(el, name);
6788
+ if (staticValue != null) {
6789
+ return JSON.stringify(staticValue)
6790
+ }
6791
+ }
6792
+ }
6793
+
6794
+ // note: this only removes the attr from the Array (attrsList) so that it
6795
+ // doesn't get processed by processAttrs.
6796
+ // By default it does NOT remove it from the map (attrsMap) because the map is
6797
+ // needed during codegen.
6798
+ function getAndRemoveAttr (
6799
+ el,
6800
+ name,
6801
+ removeFromMap
6802
+ ) {
6803
+ var val;
6804
+ if ((val = el.attrsMap[name]) != null) {
6805
+ var list = el.attrsList;
6806
+ for (var i = 0, l = list.length; i < l; i++) {
6807
+ if (list[i].name === name) {
6808
+ list.splice(i, 1);
6809
+ break
6810
+ }
6811
+ }
6812
+ }
6813
+ if (removeFromMap) {
6814
+ delete el.attrsMap[name];
6815
+ }
6816
+ return val
6817
+ }
6818
+
6819
+ /* */
6820
+
6821
+ /**
6822
+ * Cross-platform code generation for component v-model
6823
+ */
6824
+ function genComponentModel (
6825
+ el,
6826
+ value,
6827
+ modifiers
6828
+ ) {
6829
+ var ref = modifiers || {};
6830
+ var number = ref.number;
6831
+ var trim = ref.trim;
6832
+
6833
+ var baseValueExpression = '$$v';
6834
+ var valueExpression = baseValueExpression;
6835
+ if (trim) {
6836
+ valueExpression =
6837
+ "(typeof " + baseValueExpression + " === 'string'" +
6838
+ "? " + baseValueExpression + ".trim()" +
6839
+ ": " + baseValueExpression + ")";
6840
+ }
6841
+ if (number) {
6842
+ valueExpression = "_n(" + valueExpression + ")";
6843
+ }
6844
+ var assignment = genAssignmentCode(value, valueExpression);
6845
+
6846
+ el.model = {
6847
+ value: ("(" + value + ")"),
6848
+ expression: ("\"" + value + "\""),
6849
+ callback: ("function (" + baseValueExpression + ") {" + assignment + "}")
6850
+ };
6851
+ }
6852
+
6853
+ /**
6854
+ * Cross-platform codegen helper for generating v-model value assignment code.
6855
+ */
6856
+ function genAssignmentCode (
6857
+ value,
6858
+ assignment
6859
+ ) {
6860
+ var res = parseModel(value);
6861
+ if (res.key === null) {
6862
+ return (value + "=" + assignment)
6863
+ } else {
6864
+ return ("$set(" + (res.exp) + ", " + (res.key) + ", " + assignment + ")")
6865
+ }
6866
+ }
6867
+
6868
+ /**
6869
+ * Parse a v-model expression into a base path and a final key segment.
6870
+ * Handles both dot-path and possible square brackets.
6871
+ *
6872
+ * Possible cases:
6873
+ *
6874
+ * - test
6875
+ * - test[key]
6876
+ * - test[test1[key]]
6877
+ * - test["a"][key]
6878
+ * - xxx.test[a[a].test1[key]]
6879
+ * - test.xxx.a["asa"][test1[key]]
6880
+ *
6881
+ */
6882
+
6883
+ var len;
6884
+ var str;
6885
+ var chr;
6886
+ var index$1;
6887
+ var expressionPos;
6888
+ var expressionEndPos;
6889
+
6890
+
6891
+
6892
+ function parseModel (val) {
6893
+ len = val.length;
6894
+
6895
+ if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {
6896
+ index$1 = val.lastIndexOf('.');
6897
+ if (index$1 > -1) {
6898
+ return {
6899
+ exp: val.slice(0, index$1),
6900
+ key: '"' + val.slice(index$1 + 1) + '"'
6901
+ }
6902
+ } else {
6903
+ return {
6904
+ exp: val,
6905
+ key: null
6906
+ }
6907
+ }
6908
+ }
6909
+
6910
+ str = val;
6911
+ index$1 = expressionPos = expressionEndPos = 0;
6912
+
6913
+ while (!eof()) {
6914
+ chr = next();
6915
+ /* istanbul ignore if */
6916
+ if (isStringStart(chr)) {
6917
+ parseString(chr);
6918
+ } else if (chr === 0x5B) {
6919
+ parseBracket(chr);
6920
+ }
6921
+ }
6922
+
6923
+ return {
6924
+ exp: val.slice(0, expressionPos),
6925
+ key: val.slice(expressionPos + 1, expressionEndPos)
6926
+ }
6927
+ }
6928
+
6929
+ function next () {
6930
+ return str.charCodeAt(++index$1)
6931
+ }
6932
+
6933
+ function eof () {
6934
+ return index$1 >= len
6935
+ }
6936
+
6937
+ function isStringStart (chr) {
6938
+ return chr === 0x22 || chr === 0x27
6939
+ }
6940
+
6941
+ function parseBracket (chr) {
6942
+ var inBracket = 1;
6943
+ expressionPos = index$1;
6944
+ while (!eof()) {
6945
+ chr = next();
6946
+ if (isStringStart(chr)) {
6947
+ parseString(chr);
6948
+ continue
6949
+ }
6950
+ if (chr === 0x5B) { inBracket++; }
6951
+ if (chr === 0x5D) { inBracket--; }
6952
+ if (inBracket === 0) {
6953
+ expressionEndPos = index$1;
6954
+ break
6955
+ }
6956
+ }
6957
+ }
6958
+
6959
+ function parseString (chr) {
6960
+ var stringQuote = chr;
6961
+ while (!eof()) {
6962
+ chr = next();
6963
+ if (chr === stringQuote) {
6964
+ break
6965
+ }
6966
+ }
6967
+ }
6968
+
6969
+ /* */
6970
+
6971
+ var warn$1;
6972
+
6973
+ // in some cases, the event used has to be determined at runtime
6974
+ // so we used some reserved tokens during compile.
6975
+ var RANGE_TOKEN = '__r';
6976
+ var CHECKBOX_RADIO_TOKEN = '__c';
6977
+
6978
+ function model (
6979
+ el,
6980
+ dir,
6981
+ _warn
6982
+ ) {
6983
+ warn$1 = _warn;
6984
+ var value = dir.value;
6985
+ var modifiers = dir.modifiers;
6986
+ var tag = el.tag;
6987
+ var type = el.attrsMap.type;
6988
+
6989
+ if (process.env.NODE_ENV !== 'production') {
6990
+ // inputs with type="file" are read only and setting the input's
6991
+ // value will throw an error.
6992
+ if (tag === 'input' && type === 'file') {
6993
+ warn$1(
6994
+ "<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" +
6995
+ "File inputs are read only. Use a v-on:change listener instead."
6996
+ );
6997
+ }
6998
+ }
6999
+
7000
+ if (el.component) {
7001
+ genComponentModel(el, value, modifiers);
7002
+ // component v-model doesn't need extra runtime
7003
+ return false
7004
+ } else if (tag === 'select') {
7005
+ genSelect(el, value, modifiers);
7006
+ } else if (tag === 'input' && type === 'checkbox') {
7007
+ genCheckboxModel(el, value, modifiers);
7008
+ } else if (tag === 'input' && type === 'radio') {
7009
+ genRadioModel(el, value, modifiers);
7010
+ } else if (tag === 'input' || tag === 'textarea') {
7011
+ genDefaultModel(el, value, modifiers);
7012
+ } else if (!config.isReservedTag(tag)) {
7013
+ genComponentModel(el, value, modifiers);
7014
+ // component v-model doesn't need extra runtime
7015
+ return false
7016
+ } else if (process.env.NODE_ENV !== 'production') {
7017
+ warn$1(
7018
+ "<" + (el.tag) + " v-model=\"" + value + "\">: " +
7019
+ "v-model is not supported on this element type. " +
7020
+ 'If you are working with contenteditable, it\'s recommended to ' +
7021
+ 'wrap a library dedicated for that purpose inside a custom component.'
7022
+ );
7023
+ }
7024
+
7025
+ // ensure runtime directive metadata
7026
+ return true
7027
+ }
7028
+
7029
+ function genCheckboxModel (
7030
+ el,
7031
+ value,
7032
+ modifiers
7033
+ ) {
7034
+ var number = modifiers && modifiers.number;
7035
+ var valueBinding = getBindingAttr(el, 'value') || 'null';
7036
+ var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';
7037
+ var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';
7038
+ addProp(el, 'checked',
7039
+ "Array.isArray(" + value + ")" +
7040
+ "?_i(" + value + "," + valueBinding + ")>-1" + (
7041
+ trueValueBinding === 'true'
7042
+ ? (":(" + value + ")")
7043
+ : (":_q(" + value + "," + trueValueBinding + ")")
7044
+ )
7045
+ );
7046
+ addHandler(el, 'change',
7047
+ "var $$a=" + value + "," +
7048
+ '$$el=$event.target,' +
7049
+ "$$c=$$el.checked?(" + trueValueBinding + "):(" + falseValueBinding + ");" +
7050
+ 'if(Array.isArray($$a)){' +
7051
+ "var $$v=" + (number ? '_n(' + valueBinding + ')' : valueBinding) + "," +
7052
+ '$$i=_i($$a,$$v);' +
7053
+ "if($$el.checked){$$i<0&&(" + value + "=$$a.concat([$$v]))}" +
7054
+ "else{$$i>-1&&(" + value + "=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}" +
7055
+ "}else{" + (genAssignmentCode(value, '$$c')) + "}",
7056
+ null, true
7057
+ );
7058
+ }
7059
+
7060
+ function genRadioModel (
7061
+ el,
7062
+ value,
7063
+ modifiers
7064
+ ) {
7065
+ var number = modifiers && modifiers.number;
7066
+ var valueBinding = getBindingAttr(el, 'value') || 'null';
7067
+ valueBinding = number ? ("_n(" + valueBinding + ")") : valueBinding;
7068
+ addProp(el, 'checked', ("_q(" + value + "," + valueBinding + ")"));
7069
+ addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);
7070
+ }
7071
+
7072
+ function genSelect (
7073
+ el,
7074
+ value,
7075
+ modifiers
7076
+ ) {
7077
+ var number = modifiers && modifiers.number;
7078
+ var selectedVal = "Array.prototype.filter" +
7079
+ ".call($event.target.options,function(o){return o.selected})" +
7080
+ ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" +
7081
+ "return " + (number ? '_n(val)' : 'val') + "})";
7082
+
7083
+ var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';
7084
+ var code = "var $$selectedVal = " + selectedVal + ";";
7085
+ code = code + " " + (genAssignmentCode(value, assignment));
7086
+ addHandler(el, 'change', code, null, true);
7087
+ }
7088
+
7089
+ function genDefaultModel (
7090
+ el,
7091
+ value,
7092
+ modifiers
7093
+ ) {
7094
+ var type = el.attrsMap.type;
7095
+
7096
+ // warn if v-bind:value conflicts with v-model
7097
+ if (process.env.NODE_ENV !== 'production') {
7098
+ var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];
7099
+ if (value$1) {
7100
+ var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';
7101
+ warn$1(
7102
+ binding + "=\"" + value$1 + "\" conflicts with v-model on the same element " +
7103
+ 'because the latter already expands to a value binding internally'
7104
+ );
7105
+ }
7106
+ }
7107
+
7108
+ var ref = modifiers || {};
7109
+ var lazy = ref.lazy;
7110
+ var number = ref.number;
7111
+ var trim = ref.trim;
7112
+ var needCompositionGuard = !lazy && type !== 'range';
7113
+ var event = lazy
7114
+ ? 'change'
7115
+ : type === 'range'
7116
+ ? RANGE_TOKEN
7117
+ : 'input';
7118
+
7119
+ var valueExpression = '$event.target.value';
7120
+ if (trim) {
7121
+ valueExpression = "$event.target.value.trim()";
7122
+ }
7123
+ if (number) {
7124
+ valueExpression = "_n(" + valueExpression + ")";
7125
+ }
7126
+
7127
+ var code = genAssignmentCode(value, valueExpression);
7128
+ if (needCompositionGuard) {
7129
+ code = "if($event.target.composing)return;" + code;
7130
+ }
7131
+
7132
+ addProp(el, 'value', ("(" + value + ")"));
7133
+ addHandler(el, event, code, null, true);
7134
+ if (trim || number) {
7135
+ addHandler(el, 'blur', '$forceUpdate()');
7136
+ }
7137
+ }
7138
+
7139
+ /* */
7140
+
7141
+ // normalize v-model event tokens that can only be determined at runtime.
7142
+ // it's important to place the event as the first in the array because
7143
+ // the whole point is ensuring the v-model callback gets called before
7144
+ // user-attached handlers.
7145
+ function normalizeEvents (on) {
7146
+ /* istanbul ignore if */
7147
+ if (isDef(on[RANGE_TOKEN])) {
7148
+ // IE input[type=range] only supports `change` event
7149
+ var event = isIE ? 'change' : 'input';
7150
+ on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);
7151
+ delete on[RANGE_TOKEN];
7152
+ }
7153
+ // This was originally intended to fix #4521 but no longer necessary
7154
+ // after 2.5. Keeping it for backwards compat with generated code from < 2.4
7155
+ /* istanbul ignore if */
7156
+ if (isDef(on[CHECKBOX_RADIO_TOKEN])) {
7157
+ on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);
7158
+ delete on[CHECKBOX_RADIO_TOKEN];
7159
+ }
7160
+ }
7161
+
7162
+ var target$1;
7163
+
7164
+ function createOnceHandler (handler, event, capture) {
7165
+ var _target = target$1; // save current target element in closure
7166
+ return function onceHandler () {
7167
+ var res = handler.apply(null, arguments);
7168
+ if (res !== null) {
7169
+ remove$2(event, onceHandler, capture, _target);
7170
+ }
7171
+ }
7172
+ }
7173
+
7174
+ function add$1 (
7175
+ event,
7176
+ handler,
7177
+ once$$1,
7178
+ capture,
7179
+ passive
7180
+ ) {
7181
+ handler = withMacroTask(handler);
7182
+ if (once$$1) { handler = createOnceHandler(handler, event, capture); }
7183
+ target$1.addEventListener(
7184
+ event,
7185
+ handler,
7186
+ supportsPassive
7187
+ ? { capture: capture, passive: passive }
7188
+ : capture
7189
+ );
7190
+ }
7191
+
7192
+ function remove$2 (
7193
+ event,
7194
+ handler,
7195
+ capture,
7196
+ _target
7197
+ ) {
7198
+ (_target || target$1).removeEventListener(
7199
+ event,
7200
+ handler._withTask || handler,
7201
+ capture
7202
+ );
7203
+ }
7204
+
7205
+ function updateDOMListeners (oldVnode, vnode) {
7206
+ if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {
7207
+ return
7208
+ }
7209
+ var on = vnode.data.on || {};
7210
+ var oldOn = oldVnode.data.on || {};
7211
+ target$1 = vnode.elm;
7212
+ normalizeEvents(on);
7213
+ updateListeners(on, oldOn, add$1, remove$2, vnode.context);
7214
+ target$1 = undefined;
7215
+ }
7216
+
7217
+ var events = {
7218
+ create: updateDOMListeners,
7219
+ update: updateDOMListeners
7220
+ };
7221
+
7222
+ /* */
7223
+
7224
+ function updateDOMProps (oldVnode, vnode) {
7225
+ if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {
7226
+ return
7227
+ }
7228
+ var key, cur;
7229
+ var elm = vnode.elm;
7230
+ var oldProps = oldVnode.data.domProps || {};
7231
+ var props = vnode.data.domProps || {};
7232
+ // clone observed objects, as the user probably wants to mutate it
7233
+ if (isDef(props.__ob__)) {
7234
+ props = vnode.data.domProps = extend({}, props);
7235
+ }
7236
+
7237
+ for (key in oldProps) {
7238
+ if (isUndef(props[key])) {
7239
+ elm[key] = '';
7240
+ }
7241
+ }
7242
+ for (key in props) {
7243
+ cur = props[key];
7244
+ // ignore children if the node has textContent or innerHTML,
7245
+ // as these will throw away existing DOM nodes and cause removal errors
7246
+ // on subsequent patches (#3360)
7247
+ if (key === 'textContent' || key === 'innerHTML') {
7248
+ if (vnode.children) { vnode.children.length = 0; }
7249
+ if (cur === oldProps[key]) { continue }
7250
+ // #6601 work around Chrome version <= 55 bug where single textNode
7251
+ // replaced by innerHTML/textContent retains its parentNode property
7252
+ if (elm.childNodes.length === 1) {
7253
+ elm.removeChild(elm.childNodes[0]);
7254
+ }
7255
+ }
7256
+
7257
+ if (key === 'value') {
7258
+ // store value as _value as well since
7259
+ // non-string values will be stringified
7260
+ elm._value = cur;
7261
+ // avoid resetting cursor position when value is the same
7262
+ var strCur = isUndef(cur) ? '' : String(cur);
7263
+ if (shouldUpdateValue(elm, strCur)) {
7264
+ elm.value = strCur;
7265
+ }
7266
+ } else {
7267
+ elm[key] = cur;
7268
+ }
7269
+ }
7270
+ }
7271
+
7272
+ // check platforms/web/util/attrs.js acceptValue
7273
+
7274
+
7275
+ function shouldUpdateValue (elm, checkVal) {
7276
+ return (!elm.composing && (
7277
+ elm.tagName === 'OPTION' ||
7278
+ isNotInFocusAndDirty(elm, checkVal) ||
7279
+ isDirtyWithModifiers(elm, checkVal)
7280
+ ))
7281
+ }
7282
+
7283
+ function isNotInFocusAndDirty (elm, checkVal) {
7284
+ // return true when textbox (.number and .trim) loses focus and its value is
7285
+ // not equal to the updated value
7286
+ var notInFocus = true;
7287
+ // #6157
7288
+ // work around IE bug when accessing document.activeElement in an iframe
7289
+ try { notInFocus = document.activeElement !== elm; } catch (e) {}
7290
+ return notInFocus && elm.value !== checkVal
7291
+ }
7292
+
7293
+ function isDirtyWithModifiers (elm, newVal) {
7294
+ var value = elm.value;
7295
+ var modifiers = elm._vModifiers; // injected by v-model runtime
7296
+ if (isDef(modifiers)) {
7297
+ if (modifiers.lazy) {
7298
+ // inputs with lazy should only be updated when not in focus
7299
+ return false
7300
+ }
7301
+ if (modifiers.number) {
7302
+ return toNumber(value) !== toNumber(newVal)
7303
+ }
7304
+ if (modifiers.trim) {
7305
+ return value.trim() !== newVal.trim()
7306
+ }
7307
+ }
7308
+ return value !== newVal
7309
+ }
7310
+
7311
+ var domProps = {
7312
+ create: updateDOMProps,
7313
+ update: updateDOMProps
7314
+ };
7315
+
7316
+ /* */
7317
+
7318
+ var parseStyleText = cached(function (cssText) {
7319
+ var res = {};
7320
+ var listDelimiter = /;(?![^(]*\))/g;
7321
+ var propertyDelimiter = /:(.+)/;
7322
+ cssText.split(listDelimiter).forEach(function (item) {
7323
+ if (item) {
7324
+ var tmp = item.split(propertyDelimiter);
7325
+ tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
7326
+ }
7327
+ });
7328
+ return res
7329
+ });
7330
+
7331
+ // merge static and dynamic style data on the same vnode
7332
+ function normalizeStyleData (data) {
7333
+ var style = normalizeStyleBinding(data.style);
7334
+ // static style is pre-processed into an object during compilation
7335
+ // and is always a fresh object, so it's safe to merge into it
7336
+ return data.staticStyle
7337
+ ? extend(data.staticStyle, style)
7338
+ : style
7339
+ }
7340
+
7341
+ // normalize possible array / string values into Object
7342
+ function normalizeStyleBinding (bindingStyle) {
7343
+ if (Array.isArray(bindingStyle)) {
7344
+ return toObject(bindingStyle)
7345
+ }
7346
+ if (typeof bindingStyle === 'string') {
7347
+ return parseStyleText(bindingStyle)
7348
+ }
7349
+ return bindingStyle
7350
+ }
7351
+
7352
+ /**
7353
+ * parent component style should be after child's
7354
+ * so that parent component's style could override it
7355
+ */
7356
+ function getStyle (vnode, checkChild) {
7357
+ var res = {};
7358
+ var styleData;
7359
+
7360
+ if (checkChild) {
7361
+ var childNode = vnode;
7362
+ while (childNode.componentInstance) {
7363
+ childNode = childNode.componentInstance._vnode;
7364
+ if (
7365
+ childNode && childNode.data &&
7366
+ (styleData = normalizeStyleData(childNode.data))
7367
+ ) {
7368
+ extend(res, styleData);
7369
+ }
7370
+ }
7371
+ }
7372
+
7373
+ if ((styleData = normalizeStyleData(vnode.data))) {
7374
+ extend(res, styleData);
7375
+ }
7376
+
7377
+ var parentNode = vnode;
7378
+ while ((parentNode = parentNode.parent)) {
7379
+ if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {
7380
+ extend(res, styleData);
7381
+ }
7382
+ }
7383
+ return res
7384
+ }
7385
+
7386
+ /* */
7387
+
7388
+ var cssVarRE = /^--/;
7389
+ var importantRE = /\s*!important$/;
7390
+ var setProp = function (el, name, val) {
7391
+ /* istanbul ignore if */
7392
+ if (cssVarRE.test(name)) {
7393
+ el.style.setProperty(name, val);
7394
+ } else if (importantRE.test(val)) {
7395
+ el.style.setProperty(name, val.replace(importantRE, ''), 'important');
7396
+ } else {
7397
+ var normalizedName = normalize(name);
7398
+ if (Array.isArray(val)) {
7399
+ // Support values array created by autoprefixer, e.g.
7400
+ // {display: ["-webkit-box", "-ms-flexbox", "flex"]}
7401
+ // Set them one by one, and the browser will only set those it can recognize
7402
+ for (var i = 0, len = val.length; i < len; i++) {
7403
+ el.style[normalizedName] = val[i];
7404
+ }
7405
+ } else {
7406
+ el.style[normalizedName] = val;
7407
+ }
7408
+ }
7409
+ };
7410
+
7411
+ var vendorNames = ['Webkit', 'Moz', 'ms'];
7412
+
7413
+ var emptyStyle;
7414
+ var normalize = cached(function (prop) {
7415
+ emptyStyle = emptyStyle || document.createElement('div').style;
7416
+ prop = camelize(prop);
7417
+ if (prop !== 'filter' && (prop in emptyStyle)) {
7418
+ return prop
7419
+ }
7420
+ var capName = prop.charAt(0).toUpperCase() + prop.slice(1);
7421
+ for (var i = 0; i < vendorNames.length; i++) {
7422
+ var name = vendorNames[i] + capName;
7423
+ if (name in emptyStyle) {
7424
+ return name
7425
+ }
7426
+ }
7427
+ });
7428
+
7429
+ function updateStyle (oldVnode, vnode) {
7430
+ var data = vnode.data;
7431
+ var oldData = oldVnode.data;
7432
+
7433
+ if (isUndef(data.staticStyle) && isUndef(data.style) &&
7434
+ isUndef(oldData.staticStyle) && isUndef(oldData.style)
7435
+ ) {
7436
+ return
7437
+ }
7438
+
7439
+ var cur, name;
7440
+ var el = vnode.elm;
7441
+ var oldStaticStyle = oldData.staticStyle;
7442
+ var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};
7443
+
7444
+ // if static style exists, stylebinding already merged into it when doing normalizeStyleData
7445
+ var oldStyle = oldStaticStyle || oldStyleBinding;
7446
+
7447
+ var style = normalizeStyleBinding(vnode.data.style) || {};
7448
+
7449
+ // store normalized style under a different key for next diff
7450
+ // make sure to clone it if it's reactive, since the user likely wants
7451
+ // to mutate it.
7452
+ vnode.data.normalizedStyle = isDef(style.__ob__)
7453
+ ? extend({}, style)
7454
+ : style;
7455
+
7456
+ var newStyle = getStyle(vnode, true);
7457
+
7458
+ for (name in oldStyle) {
7459
+ if (isUndef(newStyle[name])) {
7460
+ setProp(el, name, '');
7461
+ }
7462
+ }
7463
+ for (name in newStyle) {
7464
+ cur = newStyle[name];
7465
+ if (cur !== oldStyle[name]) {
7466
+ // ie9 setting to null has no effect, must use empty string
7467
+ setProp(el, name, cur == null ? '' : cur);
7468
+ }
7469
+ }
7470
+ }
7471
+
7472
+ var style = {
7473
+ create: updateStyle,
7474
+ update: updateStyle
7475
+ };
7476
+
7477
+ /* */
7478
+
7479
+ /**
7480
+ * Add class with compatibility for SVG since classList is not supported on
7481
+ * SVG elements in IE
7482
+ */
7483
+ function addClass (el, cls) {
7484
+ /* istanbul ignore if */
7485
+ if (!cls || !(cls = cls.trim())) {
7486
+ return
7487
+ }
7488
+
7489
+ /* istanbul ignore else */
7490
+ if (el.classList) {
7491
+ if (cls.indexOf(' ') > -1) {
7492
+ cls.split(/\s+/).forEach(function (c) { return el.classList.add(c); });
7493
+ } else {
7494
+ el.classList.add(cls);
7495
+ }
7496
+ } else {
7497
+ var cur = " " + (el.getAttribute('class') || '') + " ";
7498
+ if (cur.indexOf(' ' + cls + ' ') < 0) {
7499
+ el.setAttribute('class', (cur + cls).trim());
7500
+ }
7501
+ }
7502
+ }
7503
+
7504
+ /**
7505
+ * Remove class with compatibility for SVG since classList is not supported on
7506
+ * SVG elements in IE
7507
+ */
7508
+ function removeClass (el, cls) {
7509
+ /* istanbul ignore if */
7510
+ if (!cls || !(cls = cls.trim())) {
7511
+ return
7512
+ }
7513
+
7514
+ /* istanbul ignore else */
7515
+ if (el.classList) {
7516
+ if (cls.indexOf(' ') > -1) {
7517
+ cls.split(/\s+/).forEach(function (c) { return el.classList.remove(c); });
7518
+ } else {
7519
+ el.classList.remove(cls);
7520
+ }
7521
+ if (!el.classList.length) {
7522
+ el.removeAttribute('class');
7523
+ }
7524
+ } else {
7525
+ var cur = " " + (el.getAttribute('class') || '') + " ";
7526
+ var tar = ' ' + cls + ' ';
7527
+ while (cur.indexOf(tar) >= 0) {
7528
+ cur = cur.replace(tar, ' ');
7529
+ }
7530
+ cur = cur.trim();
7531
+ if (cur) {
7532
+ el.setAttribute('class', cur);
7533
+ } else {
7534
+ el.removeAttribute('class');
7535
+ }
7536
+ }
7537
+ }
7538
+
7539
+ /* */
7540
+
7541
+ function resolveTransition (def) {
7542
+ if (!def) {
7543
+ return
7544
+ }
7545
+ /* istanbul ignore else */
7546
+ if (typeof def === 'object') {
7547
+ var res = {};
7548
+ if (def.css !== false) {
7549
+ extend(res, autoCssTransition(def.name || 'v'));
7550
+ }
7551
+ extend(res, def);
7552
+ return res
7553
+ } else if (typeof def === 'string') {
7554
+ return autoCssTransition(def)
7555
+ }
7556
+ }
7557
+
7558
+ var autoCssTransition = cached(function (name) {
7559
+ return {
7560
+ enterClass: (name + "-enter"),
7561
+ enterToClass: (name + "-enter-to"),
7562
+ enterActiveClass: (name + "-enter-active"),
7563
+ leaveClass: (name + "-leave"),
7564
+ leaveToClass: (name + "-leave-to"),
7565
+ leaveActiveClass: (name + "-leave-active")
7566
+ }
7567
+ });
7568
+
7569
+ var hasTransition = inBrowser && !isIE9;
7570
+ var TRANSITION = 'transition';
7571
+ var ANIMATION = 'animation';
7572
+
7573
+ // Transition property/event sniffing
7574
+ var transitionProp = 'transition';
7575
+ var transitionEndEvent = 'transitionend';
7576
+ var animationProp = 'animation';
7577
+ var animationEndEvent = 'animationend';
7578
+ if (hasTransition) {
7579
+ /* istanbul ignore if */
7580
+ if (window.ontransitionend === undefined &&
7581
+ window.onwebkittransitionend !== undefined
7582
+ ) {
7583
+ transitionProp = 'WebkitTransition';
7584
+ transitionEndEvent = 'webkitTransitionEnd';
7585
+ }
7586
+ if (window.onanimationend === undefined &&
7587
+ window.onwebkitanimationend !== undefined
7588
+ ) {
7589
+ animationProp = 'WebkitAnimation';
7590
+ animationEndEvent = 'webkitAnimationEnd';
7591
+ }
7592
+ }
7593
+
7594
+ // binding to window is necessary to make hot reload work in IE in strict mode
7595
+ var raf = inBrowser
7596
+ ? window.requestAnimationFrame
7597
+ ? window.requestAnimationFrame.bind(window)
7598
+ : setTimeout
7599
+ : /* istanbul ignore next */ function (fn) { return fn(); };
7600
+
7601
+ function nextFrame (fn) {
7602
+ raf(function () {
7603
+ raf(fn);
7604
+ });
7605
+ }
7606
+
7607
+ function addTransitionClass (el, cls) {
7608
+ var transitionClasses = el._transitionClasses || (el._transitionClasses = []);
7609
+ if (transitionClasses.indexOf(cls) < 0) {
7610
+ transitionClasses.push(cls);
7611
+ addClass(el, cls);
7612
+ }
7613
+ }
7614
+
7615
+ function removeTransitionClass (el, cls) {
7616
+ if (el._transitionClasses) {
7617
+ remove(el._transitionClasses, cls);
7618
+ }
7619
+ removeClass(el, cls);
7620
+ }
7621
+
7622
+ function whenTransitionEnds (
7623
+ el,
7624
+ expectedType,
7625
+ cb
7626
+ ) {
7627
+ var ref = getTransitionInfo(el, expectedType);
7628
+ var type = ref.type;
7629
+ var timeout = ref.timeout;
7630
+ var propCount = ref.propCount;
7631
+ if (!type) { return cb() }
7632
+ var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;
7633
+ var ended = 0;
7634
+ var end = function () {
7635
+ el.removeEventListener(event, onEnd);
7636
+ cb();
7637
+ };
7638
+ var onEnd = function (e) {
7639
+ if (e.target === el) {
7640
+ if (++ended >= propCount) {
7641
+ end();
7642
+ }
7643
+ }
7644
+ };
7645
+ setTimeout(function () {
7646
+ if (ended < propCount) {
7647
+ end();
7648
+ }
7649
+ }, timeout + 1);
7650
+ el.addEventListener(event, onEnd);
7651
+ }
7652
+
7653
+ var transformRE = /\b(transform|all)(,|$)/;
7654
+
7655
+ function getTransitionInfo (el, expectedType) {
7656
+ var styles = window.getComputedStyle(el);
7657
+ var transitionDelays = styles[transitionProp + 'Delay'].split(', ');
7658
+ var transitionDurations = styles[transitionProp + 'Duration'].split(', ');
7659
+ var transitionTimeout = getTimeout(transitionDelays, transitionDurations);
7660
+ var animationDelays = styles[animationProp + 'Delay'].split(', ');
7661
+ var animationDurations = styles[animationProp + 'Duration'].split(', ');
7662
+ var animationTimeout = getTimeout(animationDelays, animationDurations);
7663
+
7664
+ var type;
7665
+ var timeout = 0;
7666
+ var propCount = 0;
7667
+ /* istanbul ignore if */
7668
+ if (expectedType === TRANSITION) {
7669
+ if (transitionTimeout > 0) {
7670
+ type = TRANSITION;
7671
+ timeout = transitionTimeout;
7672
+ propCount = transitionDurations.length;
7673
+ }
7674
+ } else if (expectedType === ANIMATION) {
7675
+ if (animationTimeout > 0) {
7676
+ type = ANIMATION;
7677
+ timeout = animationTimeout;
7678
+ propCount = animationDurations.length;
7679
+ }
7680
+ } else {
7681
+ timeout = Math.max(transitionTimeout, animationTimeout);
7682
+ type = timeout > 0
7683
+ ? transitionTimeout > animationTimeout
7684
+ ? TRANSITION
7685
+ : ANIMATION
7686
+ : null;
7687
+ propCount = type
7688
+ ? type === TRANSITION
7689
+ ? transitionDurations.length
7690
+ : animationDurations.length
7691
+ : 0;
7692
+ }
7693
+ var hasTransform =
7694
+ type === TRANSITION &&
7695
+ transformRE.test(styles[transitionProp + 'Property']);
7696
+ return {
7697
+ type: type,
7698
+ timeout: timeout,
7699
+ propCount: propCount,
7700
+ hasTransform: hasTransform
7701
+ }
7702
+ }
7703
+
7704
+ function getTimeout (delays, durations) {
7705
+ /* istanbul ignore next */
7706
+ while (delays.length < durations.length) {
7707
+ delays = delays.concat(delays);
7708
+ }
7709
+
7710
+ return Math.max.apply(null, durations.map(function (d, i) {
7711
+ return toMs(d) + toMs(delays[i])
7712
+ }))
7713
+ }
7714
+
7715
+ function toMs (s) {
7716
+ return Number(s.slice(0, -1)) * 1000
7717
+ }
7718
+
7719
+ /* */
7720
+
7721
+ function enter (vnode, toggleDisplay) {
7722
+ var el = vnode.elm;
7723
+
7724
+ // call leave callback now
7725
+ if (isDef(el._leaveCb)) {
7726
+ el._leaveCb.cancelled = true;
7727
+ el._leaveCb();
7728
+ }
7729
+
7730
+ var data = resolveTransition(vnode.data.transition);
7731
+ if (isUndef(data)) {
7732
+ return
7733
+ }
7734
+
7735
+ /* istanbul ignore if */
7736
+ if (isDef(el._enterCb) || el.nodeType !== 1) {
7737
+ return
7738
+ }
7739
+
7740
+ var css = data.css;
7741
+ var type = data.type;
7742
+ var enterClass = data.enterClass;
7743
+ var enterToClass = data.enterToClass;
7744
+ var enterActiveClass = data.enterActiveClass;
7745
+ var appearClass = data.appearClass;
7746
+ var appearToClass = data.appearToClass;
7747
+ var appearActiveClass = data.appearActiveClass;
7748
+ var beforeEnter = data.beforeEnter;
7749
+ var enter = data.enter;
7750
+ var afterEnter = data.afterEnter;
7751
+ var enterCancelled = data.enterCancelled;
7752
+ var beforeAppear = data.beforeAppear;
7753
+ var appear = data.appear;
7754
+ var afterAppear = data.afterAppear;
7755
+ var appearCancelled = data.appearCancelled;
7756
+ var duration = data.duration;
7757
+
7758
+ // activeInstance will always be the <transition> component managing this
7759
+ // transition. One edge case to check is when the <transition> is placed
7760
+ // as the root node of a child component. In that case we need to check
7761
+ // <transition>'s parent for appear check.
7762
+ var context = activeInstance;
7763
+ var transitionNode = activeInstance.$vnode;
7764
+ while (transitionNode && transitionNode.parent) {
7765
+ transitionNode = transitionNode.parent;
7766
+ context = transitionNode.context;
7767
+ }
7768
+
7769
+ var isAppear = !context._isMounted || !vnode.isRootInsert;
7770
+
7771
+ if (isAppear && !appear && appear !== '') {
7772
+ return
7773
+ }
7774
+
7775
+ var startClass = isAppear && appearClass
7776
+ ? appearClass
7777
+ : enterClass;
7778
+ var activeClass = isAppear && appearActiveClass
7779
+ ? appearActiveClass
7780
+ : enterActiveClass;
7781
+ var toClass = isAppear && appearToClass
7782
+ ? appearToClass
7783
+ : enterToClass;
7784
+
7785
+ var beforeEnterHook = isAppear
7786
+ ? (beforeAppear || beforeEnter)
7787
+ : beforeEnter;
7788
+ var enterHook = isAppear
7789
+ ? (typeof appear === 'function' ? appear : enter)
7790
+ : enter;
7791
+ var afterEnterHook = isAppear
7792
+ ? (afterAppear || afterEnter)
7793
+ : afterEnter;
7794
+ var enterCancelledHook = isAppear
7795
+ ? (appearCancelled || enterCancelled)
7796
+ : enterCancelled;
7797
+
7798
+ var explicitEnterDuration = toNumber(
7799
+ isObject(duration)
7800
+ ? duration.enter
7801
+ : duration
7802
+ );
7803
+
7804
+ if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {
7805
+ checkDuration(explicitEnterDuration, 'enter', vnode);
7806
+ }
7807
+
7808
+ var expectsCSS = css !== false && !isIE9;
7809
+ var userWantsControl = getHookArgumentsLength(enterHook);
7810
+
7811
+ var cb = el._enterCb = once(function () {
7812
+ if (expectsCSS) {
7813
+ removeTransitionClass(el, toClass);
7814
+ removeTransitionClass(el, activeClass);
7815
+ }
7816
+ if (cb.cancelled) {
7817
+ if (expectsCSS) {
7818
+ removeTransitionClass(el, startClass);
7819
+ }
7820
+ enterCancelledHook && enterCancelledHook(el);
7821
+ } else {
7822
+ afterEnterHook && afterEnterHook(el);
7823
+ }
7824
+ el._enterCb = null;
7825
+ });
7826
+
7827
+ if (!vnode.data.show) {
7828
+ // remove pending leave element on enter by injecting an insert hook
7829
+ mergeVNodeHook(vnode, 'insert', function () {
7830
+ var parent = el.parentNode;
7831
+ var pendingNode = parent && parent._pending && parent._pending[vnode.key];
7832
+ if (pendingNode &&
7833
+ pendingNode.tag === vnode.tag &&
7834
+ pendingNode.elm._leaveCb
7835
+ ) {
7836
+ pendingNode.elm._leaveCb();
7837
+ }
7838
+ enterHook && enterHook(el, cb);
7839
+ });
7840
+ }
7841
+
7842
+ // start enter transition
7843
+ beforeEnterHook && beforeEnterHook(el);
7844
+ if (expectsCSS) {
7845
+ addTransitionClass(el, startClass);
7846
+ addTransitionClass(el, activeClass);
7847
+ nextFrame(function () {
7848
+ addTransitionClass(el, toClass);
7849
+ removeTransitionClass(el, startClass);
7850
+ if (!cb.cancelled && !userWantsControl) {
7851
+ if (isValidDuration(explicitEnterDuration)) {
7852
+ setTimeout(cb, explicitEnterDuration);
7853
+ } else {
7854
+ whenTransitionEnds(el, type, cb);
7855
+ }
7856
+ }
7857
+ });
7858
+ }
7859
+
7860
+ if (vnode.data.show) {
7861
+ toggleDisplay && toggleDisplay();
7862
+ enterHook && enterHook(el, cb);
7863
+ }
7864
+
7865
+ if (!expectsCSS && !userWantsControl) {
7866
+ cb();
7867
+ }
7868
+ }
7869
+
7870
+ function leave (vnode, rm) {
7871
+ var el = vnode.elm;
7872
+
7873
+ // call enter callback now
7874
+ if (isDef(el._enterCb)) {
7875
+ el._enterCb.cancelled = true;
7876
+ el._enterCb();
7877
+ }
7878
+
7879
+ var data = resolveTransition(vnode.data.transition);
7880
+ if (isUndef(data) || el.nodeType !== 1) {
7881
+ return rm()
7882
+ }
7883
+
7884
+ /* istanbul ignore if */
7885
+ if (isDef(el._leaveCb)) {
7886
+ return
7887
+ }
7888
+
7889
+ var css = data.css;
7890
+ var type = data.type;
7891
+ var leaveClass = data.leaveClass;
7892
+ var leaveToClass = data.leaveToClass;
7893
+ var leaveActiveClass = data.leaveActiveClass;
7894
+ var beforeLeave = data.beforeLeave;
7895
+ var leave = data.leave;
7896
+ var afterLeave = data.afterLeave;
7897
+ var leaveCancelled = data.leaveCancelled;
7898
+ var delayLeave = data.delayLeave;
7899
+ var duration = data.duration;
7900
+
7901
+ var expectsCSS = css !== false && !isIE9;
7902
+ var userWantsControl = getHookArgumentsLength(leave);
7903
+
7904
+ var explicitLeaveDuration = toNumber(
7905
+ isObject(duration)
7906
+ ? duration.leave
7907
+ : duration
7908
+ );
7909
+
7910
+ if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {
7911
+ checkDuration(explicitLeaveDuration, 'leave', vnode);
7912
+ }
7913
+
7914
+ var cb = el._leaveCb = once(function () {
7915
+ if (el.parentNode && el.parentNode._pending) {
7916
+ el.parentNode._pending[vnode.key] = null;
7917
+ }
7918
+ if (expectsCSS) {
7919
+ removeTransitionClass(el, leaveToClass);
7920
+ removeTransitionClass(el, leaveActiveClass);
7921
+ }
7922
+ if (cb.cancelled) {
7923
+ if (expectsCSS) {
7924
+ removeTransitionClass(el, leaveClass);
7925
+ }
7926
+ leaveCancelled && leaveCancelled(el);
7927
+ } else {
7928
+ rm();
7929
+ afterLeave && afterLeave(el);
7930
+ }
7931
+ el._leaveCb = null;
7932
+ });
7933
+
7934
+ if (delayLeave) {
7935
+ delayLeave(performLeave);
7936
+ } else {
7937
+ performLeave();
7938
+ }
7939
+
7940
+ function performLeave () {
7941
+ // the delayed leave may have already been cancelled
7942
+ if (cb.cancelled) {
7943
+ return
7944
+ }
7945
+ // record leaving element
7946
+ if (!vnode.data.show) {
7947
+ (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;
7948
+ }
7949
+ beforeLeave && beforeLeave(el);
7950
+ if (expectsCSS) {
7951
+ addTransitionClass(el, leaveClass);
7952
+ addTransitionClass(el, leaveActiveClass);
7953
+ nextFrame(function () {
7954
+ addTransitionClass(el, leaveToClass);
7955
+ removeTransitionClass(el, leaveClass);
7956
+ if (!cb.cancelled && !userWantsControl) {
7957
+ if (isValidDuration(explicitLeaveDuration)) {
7958
+ setTimeout(cb, explicitLeaveDuration);
7959
+ } else {
7960
+ whenTransitionEnds(el, type, cb);
7961
+ }
7962
+ }
7963
+ });
7964
+ }
7965
+ leave && leave(el, cb);
7966
+ if (!expectsCSS && !userWantsControl) {
7967
+ cb();
7968
+ }
7969
+ }
7970
+ }
7971
+
7972
+ // only used in dev mode
7973
+ function checkDuration (val, name, vnode) {
7974
+ if (typeof val !== 'number') {
7975
+ warn(
7976
+ "<transition> explicit " + name + " duration is not a valid number - " +
7977
+ "got " + (JSON.stringify(val)) + ".",
7978
+ vnode.context
7979
+ );
7980
+ } else if (isNaN(val)) {
7981
+ warn(
7982
+ "<transition> explicit " + name + " duration is NaN - " +
7983
+ 'the duration expression might be incorrect.',
7984
+ vnode.context
7985
+ );
7986
+ }
7987
+ }
7988
+
7989
+ function isValidDuration (val) {
7990
+ return typeof val === 'number' && !isNaN(val)
7991
+ }
7992
+
7993
+ /**
7994
+ * Normalize a transition hook's argument length. The hook may be:
7995
+ * - a merged hook (invoker) with the original in .fns
7996
+ * - a wrapped component method (check ._length)
7997
+ * - a plain function (.length)
7998
+ */
7999
+ function getHookArgumentsLength (fn) {
8000
+ if (isUndef(fn)) {
8001
+ return false
8002
+ }
8003
+ var invokerFns = fn.fns;
8004
+ if (isDef(invokerFns)) {
8005
+ // invoker
8006
+ return getHookArgumentsLength(
8007
+ Array.isArray(invokerFns)
8008
+ ? invokerFns[0]
8009
+ : invokerFns
8010
+ )
8011
+ } else {
8012
+ return (fn._length || fn.length) > 1
8013
+ }
8014
+ }
8015
+
8016
+ function _enter (_, vnode) {
8017
+ if (vnode.data.show !== true) {
8018
+ enter(vnode);
8019
+ }
8020
+ }
8021
+
8022
+ var transition = inBrowser ? {
8023
+ create: _enter,
8024
+ activate: _enter,
8025
+ remove: function remove$$1 (vnode, rm) {
8026
+ /* istanbul ignore else */
8027
+ if (vnode.data.show !== true) {
8028
+ leave(vnode, rm);
8029
+ } else {
8030
+ rm();
8031
+ }
8032
+ }
8033
+ } : {};
8034
+
8035
+ var platformModules = [
8036
+ attrs,
8037
+ klass,
8038
+ events,
8039
+ domProps,
8040
+ style,
8041
+ transition
8042
+ ];
8043
+
8044
+ /* */
8045
+
8046
+ // the directive module should be applied last, after all
8047
+ // built-in modules have been applied.
8048
+ var modules = platformModules.concat(baseModules);
8049
+
8050
+ var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });
8051
+
8052
+ /**
8053
+ * Not type checking this file because flow doesn't like attaching
8054
+ * properties to Elements.
8055
+ */
8056
+
8057
+ /* istanbul ignore if */
8058
+ if (isIE9) {
8059
+ // http://www.matts411.com/post/internet-explorer-9-oninput/
8060
+ document.addEventListener('selectionchange', function () {
8061
+ var el = document.activeElement;
8062
+ if (el && el.vmodel) {
8063
+ trigger(el, 'input');
8064
+ }
8065
+ });
8066
+ }
8067
+
8068
+ var directive = {
8069
+ inserted: function inserted (el, binding, vnode, oldVnode) {
8070
+ if (vnode.tag === 'select') {
8071
+ // #6903
8072
+ if (oldVnode.elm && !oldVnode.elm._vOptions) {
8073
+ mergeVNodeHook(vnode, 'postpatch', function () {
8074
+ directive.componentUpdated(el, binding, vnode);
8075
+ });
8076
+ } else {
8077
+ setSelected(el, binding, vnode.context);
8078
+ }
8079
+ el._vOptions = [].map.call(el.options, getValue);
8080
+ } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {
8081
+ el._vModifiers = binding.modifiers;
8082
+ if (!binding.modifiers.lazy) {
8083
+ // Safari < 10.2 & UIWebView doesn't fire compositionend when
8084
+ // switching focus before confirming composition choice
8085
+ // this also fixes the issue where some browsers e.g. iOS Chrome
8086
+ // fires "change" instead of "input" on autocomplete.
8087
+ el.addEventListener('change', onCompositionEnd);
8088
+ if (!isAndroid) {
8089
+ el.addEventListener('compositionstart', onCompositionStart);
8090
+ el.addEventListener('compositionend', onCompositionEnd);
8091
+ }
8092
+ /* istanbul ignore if */
8093
+ if (isIE9) {
8094
+ el.vmodel = true;
8095
+ }
8096
+ }
8097
+ }
8098
+ },
8099
+
8100
+ componentUpdated: function componentUpdated (el, binding, vnode) {
8101
+ if (vnode.tag === 'select') {
8102
+ setSelected(el, binding, vnode.context);
8103
+ // in case the options rendered by v-for have changed,
8104
+ // it's possible that the value is out-of-sync with the rendered options.
8105
+ // detect such cases and filter out values that no longer has a matching
8106
+ // option in the DOM.
8107
+ var prevOptions = el._vOptions;
8108
+ var curOptions = el._vOptions = [].map.call(el.options, getValue);
8109
+ if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {
8110
+ // trigger change event if
8111
+ // no matching option found for at least one value
8112
+ var needReset = el.multiple
8113
+ ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })
8114
+ : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);
8115
+ if (needReset) {
8116
+ trigger(el, 'change');
8117
+ }
8118
+ }
8119
+ }
8120
+ }
8121
+ };
8122
+
8123
+ function setSelected (el, binding, vm) {
8124
+ actuallySetSelected(el, binding, vm);
8125
+ /* istanbul ignore if */
8126
+ if (isIE || isEdge) {
8127
+ setTimeout(function () {
8128
+ actuallySetSelected(el, binding, vm);
8129
+ }, 0);
8130
+ }
8131
+ }
8132
+
8133
+ function actuallySetSelected (el, binding, vm) {
8134
+ var value = binding.value;
8135
+ var isMultiple = el.multiple;
8136
+ if (isMultiple && !Array.isArray(value)) {
8137
+ process.env.NODE_ENV !== 'production' && warn(
8138
+ "<select multiple v-model=\"" + (binding.expression) + "\"> " +
8139
+ "expects an Array value for its binding, but got " + (Object.prototype.toString.call(value).slice(8, -1)),
8140
+ vm
8141
+ );
8142
+ return
8143
+ }
8144
+ var selected, option;
8145
+ for (var i = 0, l = el.options.length; i < l; i++) {
8146
+ option = el.options[i];
8147
+ if (isMultiple) {
8148
+ selected = looseIndexOf(value, getValue(option)) > -1;
8149
+ if (option.selected !== selected) {
8150
+ option.selected = selected;
8151
+ }
8152
+ } else {
8153
+ if (looseEqual(getValue(option), value)) {
8154
+ if (el.selectedIndex !== i) {
8155
+ el.selectedIndex = i;
8156
+ }
8157
+ return
8158
+ }
8159
+ }
8160
+ }
8161
+ if (!isMultiple) {
8162
+ el.selectedIndex = -1;
8163
+ }
8164
+ }
8165
+
8166
+ function hasNoMatchingOption (value, options) {
8167
+ return options.every(function (o) { return !looseEqual(o, value); })
8168
+ }
8169
+
8170
+ function getValue (option) {
8171
+ return '_value' in option
8172
+ ? option._value
8173
+ : option.value
8174
+ }
8175
+
8176
+ function onCompositionStart (e) {
8177
+ e.target.composing = true;
8178
+ }
8179
+
8180
+ function onCompositionEnd (e) {
8181
+ // prevent triggering an input event for no reason
8182
+ if (!e.target.composing) { return }
8183
+ e.target.composing = false;
8184
+ trigger(e.target, 'input');
8185
+ }
8186
+
8187
+ function trigger (el, type) {
8188
+ var e = document.createEvent('HTMLEvents');
8189
+ e.initEvent(type, true, true);
8190
+ el.dispatchEvent(e);
8191
+ }
8192
+
8193
+ /* */
8194
+
8195
+ // recursively search for possible transition defined inside the component root
8196
+ function locateNode (vnode) {
8197
+ return vnode.componentInstance && (!vnode.data || !vnode.data.transition)
8198
+ ? locateNode(vnode.componentInstance._vnode)
8199
+ : vnode
8200
+ }
8201
+
8202
+ var show = {
8203
+ bind: function bind (el, ref, vnode) {
8204
+ var value = ref.value;
8205
+
8206
+ vnode = locateNode(vnode);
8207
+ var transition$$1 = vnode.data && vnode.data.transition;
8208
+ var originalDisplay = el.__vOriginalDisplay =
8209
+ el.style.display === 'none' ? '' : el.style.display;
8210
+ if (value && transition$$1) {
8211
+ vnode.data.show = true;
8212
+ enter(vnode, function () {
8213
+ el.style.display = originalDisplay;
8214
+ });
8215
+ } else {
8216
+ el.style.display = value ? originalDisplay : 'none';
8217
+ }
8218
+ },
8219
+
8220
+ update: function update (el, ref, vnode) {
8221
+ var value = ref.value;
8222
+ var oldValue = ref.oldValue;
8223
+
8224
+ /* istanbul ignore if */
8225
+ if (value === oldValue) { return }
8226
+ vnode = locateNode(vnode);
8227
+ var transition$$1 = vnode.data && vnode.data.transition;
8228
+ if (transition$$1) {
8229
+ vnode.data.show = true;
8230
+ if (value) {
8231
+ enter(vnode, function () {
8232
+ el.style.display = el.__vOriginalDisplay;
8233
+ });
8234
+ } else {
8235
+ leave(vnode, function () {
8236
+ el.style.display = 'none';
8237
+ });
8238
+ }
8239
+ } else {
8240
+ el.style.display = value ? el.__vOriginalDisplay : 'none';
8241
+ }
8242
+ },
8243
+
8244
+ unbind: function unbind (
8245
+ el,
8246
+ binding,
8247
+ vnode,
8248
+ oldVnode,
8249
+ isDestroy
8250
+ ) {
8251
+ if (!isDestroy) {
8252
+ el.style.display = el.__vOriginalDisplay;
8253
+ }
8254
+ }
8255
+ };
8256
+
8257
+ var platformDirectives = {
8258
+ model: directive,
8259
+ show: show
8260
+ };
8261
+
8262
+ /* */
8263
+
8264
+ // Provides transition support for a single element/component.
8265
+ // supports transition mode (out-in / in-out)
8266
+
8267
+ var transitionProps = {
8268
+ name: String,
8269
+ appear: Boolean,
8270
+ css: Boolean,
8271
+ mode: String,
8272
+ type: String,
8273
+ enterClass: String,
8274
+ leaveClass: String,
8275
+ enterToClass: String,
8276
+ leaveToClass: String,
8277
+ enterActiveClass: String,
8278
+ leaveActiveClass: String,
8279
+ appearClass: String,
8280
+ appearActiveClass: String,
8281
+ appearToClass: String,
8282
+ duration: [Number, String, Object]
8283
+ };
8284
+
8285
+ // in case the child is also an abstract component, e.g. <keep-alive>
8286
+ // we want to recursively retrieve the real component to be rendered
8287
+ function getRealChild (vnode) {
8288
+ var compOptions = vnode && vnode.componentOptions;
8289
+ if (compOptions && compOptions.Ctor.options.abstract) {
8290
+ return getRealChild(getFirstComponentChild(compOptions.children))
8291
+ } else {
8292
+ return vnode
8293
+ }
8294
+ }
8295
+
8296
+ function extractTransitionData (comp) {
8297
+ var data = {};
8298
+ var options = comp.$options;
8299
+ // props
8300
+ for (var key in options.propsData) {
8301
+ data[key] = comp[key];
8302
+ }
8303
+ // events.
8304
+ // extract listeners and pass them directly to the transition methods
8305
+ var listeners = options._parentListeners;
8306
+ for (var key$1 in listeners) {
8307
+ data[camelize(key$1)] = listeners[key$1];
8308
+ }
8309
+ return data
8310
+ }
8311
+
8312
+ function placeholder (h, rawChild) {
8313
+ if (/\d-keep-alive$/.test(rawChild.tag)) {
8314
+ return h('keep-alive', {
8315
+ props: rawChild.componentOptions.propsData
8316
+ })
8317
+ }
8318
+ }
8319
+
8320
+ function hasParentTransition (vnode) {
8321
+ while ((vnode = vnode.parent)) {
8322
+ if (vnode.data.transition) {
8323
+ return true
8324
+ }
8325
+ }
8326
+ }
8327
+
8328
+ function isSameChild (child, oldChild) {
8329
+ return oldChild.key === child.key && oldChild.tag === child.tag
8330
+ }
8331
+
8332
+ var Transition = {
8333
+ name: 'transition',
8334
+ props: transitionProps,
8335
+ abstract: true,
8336
+
8337
+ render: function render (h) {
8338
+ var this$1 = this;
8339
+
8340
+ var children = this.$slots.default;
8341
+ if (!children) {
8342
+ return
8343
+ }
8344
+
8345
+ // filter out text nodes (possible whitespaces)
8346
+ children = children.filter(function (c) { return c.tag || isAsyncPlaceholder(c); });
8347
+ /* istanbul ignore if */
8348
+ if (!children.length) {
8349
+ return
8350
+ }
8351
+
8352
+ // warn multiple elements
8353
+ if (process.env.NODE_ENV !== 'production' && children.length > 1) {
8354
+ warn(
8355
+ '<transition> can only be used on a single element. Use ' +
8356
+ '<transition-group> for lists.',
8357
+ this.$parent
8358
+ );
8359
+ }
8360
+
8361
+ var mode = this.mode;
8362
+
8363
+ // warn invalid mode
8364
+ if (process.env.NODE_ENV !== 'production' &&
8365
+ mode && mode !== 'in-out' && mode !== 'out-in'
8366
+ ) {
8367
+ warn(
8368
+ 'invalid <transition> mode: ' + mode,
8369
+ this.$parent
8370
+ );
8371
+ }
8372
+
8373
+ var rawChild = children[0];
8374
+
8375
+ // if this is a component root node and the component's
8376
+ // parent container node also has transition, skip.
8377
+ if (hasParentTransition(this.$vnode)) {
8378
+ return rawChild
8379
+ }
8380
+
8381
+ // apply transition data to child
8382
+ // use getRealChild() to ignore abstract components e.g. keep-alive
8383
+ var child = getRealChild(rawChild);
8384
+ /* istanbul ignore if */
8385
+ if (!child) {
8386
+ return rawChild
8387
+ }
8388
+
8389
+ if (this._leaving) {
8390
+ return placeholder(h, rawChild)
8391
+ }
8392
+
8393
+ // ensure a key that is unique to the vnode type and to this transition
8394
+ // component instance. This key will be used to remove pending leaving nodes
8395
+ // during entering.
8396
+ var id = "__transition-" + (this._uid) + "-";
8397
+ child.key = child.key == null
8398
+ ? child.isComment
8399
+ ? id + 'comment'
8400
+ : id + child.tag
8401
+ : isPrimitive(child.key)
8402
+ ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)
8403
+ : child.key;
8404
+
8405
+ var data = (child.data || (child.data = {})).transition = extractTransitionData(this);
8406
+ var oldRawChild = this._vnode;
8407
+ var oldChild = getRealChild(oldRawChild);
8408
+
8409
+ // mark v-show
8410
+ // so that the transition module can hand over the control to the directive
8411
+ if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {
8412
+ child.data.show = true;
8413
+ }
8414
+
8415
+ if (
8416
+ oldChild &&
8417
+ oldChild.data &&
8418
+ !isSameChild(child, oldChild) &&
8419
+ !isAsyncPlaceholder(oldChild) &&
8420
+ // #6687 component root is a comment node
8421
+ !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)
8422
+ ) {
8423
+ // replace old child transition data with fresh one
8424
+ // important for dynamic transitions!
8425
+ var oldData = oldChild.data.transition = extend({}, data);
8426
+ // handle transition mode
8427
+ if (mode === 'out-in') {
8428
+ // return placeholder node and queue update when leave finishes
8429
+ this._leaving = true;
8430
+ mergeVNodeHook(oldData, 'afterLeave', function () {
8431
+ this$1._leaving = false;
8432
+ this$1.$forceUpdate();
8433
+ });
8434
+ return placeholder(h, rawChild)
8435
+ } else if (mode === 'in-out') {
8436
+ if (isAsyncPlaceholder(child)) {
8437
+ return oldRawChild
8438
+ }
8439
+ var delayedLeave;
8440
+ var performLeave = function () { delayedLeave(); };
8441
+ mergeVNodeHook(data, 'afterEnter', performLeave);
8442
+ mergeVNodeHook(data, 'enterCancelled', performLeave);
8443
+ mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });
8444
+ }
8445
+ }
8446
+
8447
+ return rawChild
8448
+ }
8449
+ };
8450
+
8451
+ /* */
8452
+
8453
+ // Provides transition support for list items.
8454
+ // supports move transitions using the FLIP technique.
8455
+
8456
+ // Because the vdom's children update algorithm is "unstable" - i.e.
8457
+ // it doesn't guarantee the relative positioning of removed elements,
8458
+ // we force transition-group to update its children into two passes:
8459
+ // in the first pass, we remove all nodes that need to be removed,
8460
+ // triggering their leaving transition; in the second pass, we insert/move
8461
+ // into the final desired state. This way in the second pass removed
8462
+ // nodes will remain where they should be.
8463
+
8464
+ var props = extend({
8465
+ tag: String,
8466
+ moveClass: String
8467
+ }, transitionProps);
8468
+
8469
+ delete props.mode;
8470
+
8471
+ var TransitionGroup = {
8472
+ props: props,
8473
+
8474
+ render: function render (h) {
8475
+ var tag = this.tag || this.$vnode.data.tag || 'span';
8476
+ var map = Object.create(null);
8477
+ var prevChildren = this.prevChildren = this.children;
8478
+ var rawChildren = this.$slots.default || [];
8479
+ var children = this.children = [];
8480
+ var transitionData = extractTransitionData(this);
8481
+
8482
+ for (var i = 0; i < rawChildren.length; i++) {
8483
+ var c = rawChildren[i];
8484
+ if (c.tag) {
8485
+ if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {
8486
+ children.push(c);
8487
+ map[c.key] = c
8488
+ ;(c.data || (c.data = {})).transition = transitionData;
8489
+ } else if (process.env.NODE_ENV !== 'production') {
8490
+ var opts = c.componentOptions;
8491
+ var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;
8492
+ warn(("<transition-group> children must be keyed: <" + name + ">"));
8493
+ }
8494
+ }
8495
+ }
8496
+
8497
+ if (prevChildren) {
8498
+ var kept = [];
8499
+ var removed = [];
8500
+ for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {
8501
+ var c$1 = prevChildren[i$1];
8502
+ c$1.data.transition = transitionData;
8503
+ c$1.data.pos = c$1.elm.getBoundingClientRect();
8504
+ if (map[c$1.key]) {
8505
+ kept.push(c$1);
8506
+ } else {
8507
+ removed.push(c$1);
8508
+ }
8509
+ }
8510
+ this.kept = h(tag, null, kept);
8511
+ this.removed = removed;
8512
+ }
8513
+
8514
+ return h(tag, null, children)
8515
+ },
8516
+
8517
+ beforeUpdate: function beforeUpdate () {
8518
+ // force removing pass
8519
+ this.__patch__(
8520
+ this._vnode,
8521
+ this.kept,
8522
+ false, // hydrating
8523
+ true // removeOnly (!important avoids unnecessary moves)
8524
+ );
8525
+ this._vnode = this.kept;
8526
+ },
8527
+
8528
+ updated: function updated () {
8529
+ var children = this.prevChildren;
8530
+ var moveClass = this.moveClass || ((this.name || 'v') + '-move');
8531
+ if (!children.length || !this.hasMove(children[0].elm, moveClass)) {
8532
+ return
8533
+ }
8534
+
8535
+ // we divide the work into three loops to avoid mixing DOM reads and writes
8536
+ // in each iteration - which helps prevent layout thrashing.
8537
+ children.forEach(callPendingCbs);
8538
+ children.forEach(recordPosition);
8539
+ children.forEach(applyTranslation);
8540
+
8541
+ // force reflow to put everything in position
8542
+ // assign to this to avoid being removed in tree-shaking
8543
+ // $flow-disable-line
8544
+ this._reflow = document.body.offsetHeight;
8545
+
8546
+ children.forEach(function (c) {
8547
+ if (c.data.moved) {
8548
+ var el = c.elm;
8549
+ var s = el.style;
8550
+ addTransitionClass(el, moveClass);
8551
+ s.transform = s.WebkitTransform = s.transitionDuration = '';
8552
+ el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {
8553
+ if (!e || /transform$/.test(e.propertyName)) {
8554
+ el.removeEventListener(transitionEndEvent, cb);
8555
+ el._moveCb = null;
8556
+ removeTransitionClass(el, moveClass);
8557
+ }
8558
+ });
8559
+ }
8560
+ });
8561
+ },
8562
+
8563
+ methods: {
8564
+ hasMove: function hasMove (el, moveClass) {
8565
+ /* istanbul ignore if */
8566
+ if (!hasTransition) {
8567
+ return false
8568
+ }
8569
+ /* istanbul ignore if */
8570
+ if (this._hasMove) {
8571
+ return this._hasMove
8572
+ }
8573
+ // Detect whether an element with the move class applied has
8574
+ // CSS transitions. Since the element may be inside an entering
8575
+ // transition at this very moment, we make a clone of it and remove
8576
+ // all other transition classes applied to ensure only the move class
8577
+ // is applied.
8578
+ var clone = el.cloneNode();
8579
+ if (el._transitionClasses) {
8580
+ el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });
8581
+ }
8582
+ addClass(clone, moveClass);
8583
+ clone.style.display = 'none';
8584
+ this.$el.appendChild(clone);
8585
+ var info = getTransitionInfo(clone);
8586
+ this.$el.removeChild(clone);
8587
+ return (this._hasMove = info.hasTransform)
8588
+ }
8589
+ }
8590
+ };
8591
+
8592
+ function callPendingCbs (c) {
8593
+ /* istanbul ignore if */
8594
+ if (c.elm._moveCb) {
8595
+ c.elm._moveCb();
8596
+ }
8597
+ /* istanbul ignore if */
8598
+ if (c.elm._enterCb) {
8599
+ c.elm._enterCb();
8600
+ }
8601
+ }
8602
+
8603
+ function recordPosition (c) {
8604
+ c.data.newPos = c.elm.getBoundingClientRect();
8605
+ }
8606
+
8607
+ function applyTranslation (c) {
8608
+ var oldPos = c.data.pos;
8609
+ var newPos = c.data.newPos;
8610
+ var dx = oldPos.left - newPos.left;
8611
+ var dy = oldPos.top - newPos.top;
8612
+ if (dx || dy) {
8613
+ c.data.moved = true;
8614
+ var s = c.elm.style;
8615
+ s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)";
8616
+ s.transitionDuration = '0s';
8617
+ }
8618
+ }
8619
+
8620
+ var platformComponents = {
8621
+ Transition: Transition,
8622
+ TransitionGroup: TransitionGroup
8623
+ };
8624
+
8625
+ /* */
8626
+
8627
+ // install platform specific utils
8628
+ Vue$3.config.mustUseProp = mustUseProp;
8629
+ Vue$3.config.isReservedTag = isReservedTag;
8630
+ Vue$3.config.isReservedAttr = isReservedAttr;
8631
+ Vue$3.config.getTagNamespace = getTagNamespace;
8632
+ Vue$3.config.isUnknownElement = isUnknownElement;
8633
+
8634
+ // install platform runtime directives & components
8635
+ extend(Vue$3.options.directives, platformDirectives);
8636
+ extend(Vue$3.options.components, platformComponents);
8637
+
8638
+ // install platform patch function
8639
+ Vue$3.prototype.__patch__ = inBrowser ? patch : noop;
8640
+
8641
+ // public mount method
8642
+ Vue$3.prototype.$mount = function (
8643
+ el,
8644
+ hydrating
8645
+ ) {
8646
+ el = el && inBrowser ? query(el) : undefined;
8647
+ return mountComponent(this, el, hydrating)
8648
+ };
8649
+
8650
+ // devtools global hook
8651
+ /* istanbul ignore next */
8652
+ Vue$3.nextTick(function () {
8653
+ if (config.devtools) {
8654
+ if (devtools) {
8655
+ devtools.emit('init', Vue$3);
8656
+ } else if (process.env.NODE_ENV !== 'production' && isChrome) {
8657
+ console[console.info ? 'info' : 'log'](
8658
+ 'Download the Vue Devtools extension for a better development experience:\n' +
8659
+ 'https://github.com/vuejs/vue-devtools'
8660
+ );
8661
+ }
8662
+ }
8663
+ if (process.env.NODE_ENV !== 'production' &&
8664
+ config.productionTip !== false &&
8665
+ inBrowser && typeof console !== 'undefined'
8666
+ ) {
8667
+ console[console.info ? 'info' : 'log'](
8668
+ "You are running Vue in development mode.\n" +
8669
+ "Make sure to turn on production mode when deploying for production.\n" +
8670
+ "See more tips at https://vuejs.org/guide/deployment.html"
8671
+ );
8672
+ }
8673
+ }, 0);
8674
+
8675
+ /* */
8676
+
8677
+ var defaultTagRE = /\{\{((?:.|\n)+?)\}\}/g;
8678
+ var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g;
8679
+
8680
+ var buildRegex = cached(function (delimiters) {
8681
+ var open = delimiters[0].replace(regexEscapeRE, '\\$&');
8682
+ var close = delimiters[1].replace(regexEscapeRE, '\\$&');
8683
+ return new RegExp(open + '((?:.|\\n)+?)' + close, 'g')
8684
+ });
8685
+
8686
+
8687
+
8688
+ function parseText (
8689
+ text,
8690
+ delimiters
8691
+ ) {
8692
+ var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
8693
+ if (!tagRE.test(text)) {
8694
+ return
8695
+ }
8696
+ var tokens = [];
8697
+ var rawTokens = [];
8698
+ var lastIndex = tagRE.lastIndex = 0;
8699
+ var match, index, tokenValue;
8700
+ while ((match = tagRE.exec(text))) {
8701
+ index = match.index;
8702
+ // push text token
8703
+ if (index > lastIndex) {
8704
+ rawTokens.push(tokenValue = text.slice(lastIndex, index));
8705
+ tokens.push(JSON.stringify(tokenValue));
8706
+ }
8707
+ // tag token
8708
+ var exp = parseFilters(match[1].trim());
8709
+ tokens.push(("_s(" + exp + ")"));
8710
+ rawTokens.push({ '@binding': exp });
8711
+ lastIndex = index + match[0].length;
8712
+ }
8713
+ if (lastIndex < text.length) {
8714
+ rawTokens.push(tokenValue = text.slice(lastIndex));
8715
+ tokens.push(JSON.stringify(tokenValue));
8716
+ }
8717
+ return {
8718
+ expression: tokens.join('+'),
8719
+ tokens: rawTokens
8720
+ }
8721
+ }
8722
+
8723
+ /* */
8724
+
8725
+ function transformNode (el, options) {
8726
+ var warn = options.warn || baseWarn;
8727
+ var staticClass = getAndRemoveAttr(el, 'class');
8728
+ if (process.env.NODE_ENV !== 'production' && staticClass) {
8729
+ var res = parseText(staticClass, options.delimiters);
8730
+ if (res) {
8731
+ warn(
8732
+ "class=\"" + staticClass + "\": " +
8733
+ 'Interpolation inside attributes has been removed. ' +
8734
+ 'Use v-bind or the colon shorthand instead. For example, ' +
8735
+ 'instead of <div class="{{ val }}">, use <div :class="val">.'
8736
+ );
8737
+ }
8738
+ }
8739
+ if (staticClass) {
8740
+ el.staticClass = JSON.stringify(staticClass);
8741
+ }
8742
+ var classBinding = getBindingAttr(el, 'class', false /* getStatic */);
8743
+ if (classBinding) {
8744
+ el.classBinding = classBinding;
8745
+ }
8746
+ }
8747
+
8748
+ function genData (el) {
8749
+ var data = '';
8750
+ if (el.staticClass) {
8751
+ data += "staticClass:" + (el.staticClass) + ",";
8752
+ }
8753
+ if (el.classBinding) {
8754
+ data += "class:" + (el.classBinding) + ",";
8755
+ }
8756
+ return data
8757
+ }
8758
+
8759
+ var klass$1 = {
8760
+ staticKeys: ['staticClass'],
8761
+ transformNode: transformNode,
8762
+ genData: genData
8763
+ };
8764
+
8765
+ /* */
8766
+
8767
+ function transformNode$1 (el, options) {
8768
+ var warn = options.warn || baseWarn;
8769
+ var staticStyle = getAndRemoveAttr(el, 'style');
8770
+ if (staticStyle) {
8771
+ /* istanbul ignore if */
8772
+ if (process.env.NODE_ENV !== 'production') {
8773
+ var res = parseText(staticStyle, options.delimiters);
8774
+ if (res) {
8775
+ warn(
8776
+ "style=\"" + staticStyle + "\": " +
8777
+ 'Interpolation inside attributes has been removed. ' +
8778
+ 'Use v-bind or the colon shorthand instead. For example, ' +
8779
+ 'instead of <div style="{{ val }}">, use <div :style="val">.'
8780
+ );
8781
+ }
8782
+ }
8783
+ el.staticStyle = JSON.stringify(parseStyleText(staticStyle));
8784
+ }
8785
+
8786
+ var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);
8787
+ if (styleBinding) {
8788
+ el.styleBinding = styleBinding;
8789
+ }
8790
+ }
8791
+
8792
+ function genData$1 (el) {
8793
+ var data = '';
8794
+ if (el.staticStyle) {
8795
+ data += "staticStyle:" + (el.staticStyle) + ",";
8796
+ }
8797
+ if (el.styleBinding) {
8798
+ data += "style:(" + (el.styleBinding) + "),";
8799
+ }
8800
+ return data
8801
+ }
8802
+
8803
+ var style$1 = {
8804
+ staticKeys: ['staticStyle'],
8805
+ transformNode: transformNode$1,
8806
+ genData: genData$1
8807
+ };
8808
+
8809
+ /* */
8810
+
8811
+ var decoder;
8812
+
8813
+ var he = {
8814
+ decode: function decode (html) {
8815
+ decoder = decoder || document.createElement('div');
8816
+ decoder.innerHTML = html;
8817
+ return decoder.textContent
8818
+ }
8819
+ };
8820
+
8821
+ /* */
8822
+
8823
+ var isUnaryTag = makeMap(
8824
+ 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
8825
+ 'link,meta,param,source,track,wbr'
8826
+ );
8827
+
8828
+ // Elements that you can, intentionally, leave open
8829
+ // (and which close themselves)
8830
+ var canBeLeftOpenTag = makeMap(
8831
+ 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'
8832
+ );
8833
+
8834
+ // HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
8835
+ // Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
8836
+ var isNonPhrasingTag = makeMap(
8837
+ 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +
8838
+ 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +
8839
+ 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +
8840
+ 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +
8841
+ 'title,tr,track'
8842
+ );
8843
+
8844
+ /**
8845
+ * Not type-checking this file because it's mostly vendor code.
8846
+ */
8847
+
8848
+ /*!
8849
+ * HTML Parser By John Resig (ejohn.org)
8850
+ * Modified by Juriy "kangax" Zaytsev
8851
+ * Original code by Erik Arvidsson, Mozilla Public License
8852
+ * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
8853
+ */
8854
+
8855
+ // Regular Expressions for parsing tags and attributes
8856
+ var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/;
8857
+ // could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName
8858
+ // but for Vue templates we can enforce a simple charset
8859
+ var ncname = '[a-zA-Z_][\\w\\-\\.]*';
8860
+ var qnameCapture = "((?:" + ncname + "\\:)?" + ncname + ")";
8861
+ var startTagOpen = new RegExp(("^<" + qnameCapture));
8862
+ var startTagClose = /^\s*(\/?)>/;
8863
+ var endTag = new RegExp(("^<\\/" + qnameCapture + "[^>]*>"));
8864
+ var doctype = /^<!DOCTYPE [^>]+>/i;
8865
+ var comment = /^<!--/;
8866
+ var conditionalComment = /^<!\[/;
8867
+
8868
+ var IS_REGEX_CAPTURING_BROKEN = false;
8869
+ 'x'.replace(/x(.)?/g, function (m, g) {
8870
+ IS_REGEX_CAPTURING_BROKEN = g === '';
8871
+ });
8872
+
8873
+ // Special Elements (can contain anything)
8874
+ var isPlainTextElement = makeMap('script,style,textarea', true);
8875
+ var reCache = {};
8876
+
8877
+ var decodingMap = {
8878
+ '&lt;': '<',
8879
+ '&gt;': '>',
8880
+ '&quot;': '"',
8881
+ '&amp;': '&',
8882
+ '&#10;': '\n',
8883
+ '&#9;': '\t'
8884
+ };
8885
+ var encodedAttr = /&(?:lt|gt|quot|amp);/g;
8886
+ var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10|#9);/g;
8887
+
8888
+ // #5992
8889
+ var isIgnoreNewlineTag = makeMap('pre,textarea', true);
8890
+ var shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; };
8891
+
8892
+ function decodeAttr (value, shouldDecodeNewlines) {
8893
+ var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;
8894
+ return value.replace(re, function (match) { return decodingMap[match]; })
8895
+ }
8896
+
8897
+ function parseHTML (html, options) {
8898
+ var stack = [];
8899
+ var expectHTML = options.expectHTML;
8900
+ var isUnaryTag$$1 = options.isUnaryTag || no;
8901
+ var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;
8902
+ var index = 0;
8903
+ var last, lastTag;
8904
+ while (html) {
8905
+ last = html;
8906
+ // Make sure we're not in a plaintext content element like script/style
8907
+ if (!lastTag || !isPlainTextElement(lastTag)) {
8908
+ var textEnd = html.indexOf('<');
8909
+ if (textEnd === 0) {
8910
+ // Comment:
8911
+ if (comment.test(html)) {
8912
+ var commentEnd = html.indexOf('-->');
8913
+
8914
+ if (commentEnd >= 0) {
8915
+ if (options.shouldKeepComment) {
8916
+ options.comment(html.substring(4, commentEnd));
8917
+ }
8918
+ advance(commentEnd + 3);
8919
+ continue
8920
+ }
8921
+ }
8922
+
8923
+ // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
8924
+ if (conditionalComment.test(html)) {
8925
+ var conditionalEnd = html.indexOf(']>');
8926
+
8927
+ if (conditionalEnd >= 0) {
8928
+ advance(conditionalEnd + 2);
8929
+ continue
8930
+ }
8931
+ }
8932
+
8933
+ // Doctype:
8934
+ var doctypeMatch = html.match(doctype);
8935
+ if (doctypeMatch) {
8936
+ advance(doctypeMatch[0].length);
8937
+ continue
8938
+ }
8939
+
8940
+ // End tag:
8941
+ var endTagMatch = html.match(endTag);
8942
+ if (endTagMatch) {
8943
+ var curIndex = index;
8944
+ advance(endTagMatch[0].length);
8945
+ parseEndTag(endTagMatch[1], curIndex, index);
8946
+ continue
8947
+ }
8948
+
8949
+ // Start tag:
8950
+ var startTagMatch = parseStartTag();
8951
+ if (startTagMatch) {
8952
+ handleStartTag(startTagMatch);
8953
+ if (shouldIgnoreFirstNewline(lastTag, html)) {
8954
+ advance(1);
8955
+ }
8956
+ continue
8957
+ }
8958
+ }
8959
+
8960
+ var text = (void 0), rest = (void 0), next = (void 0);
8961
+ if (textEnd >= 0) {
8962
+ rest = html.slice(textEnd);
8963
+ while (
8964
+ !endTag.test(rest) &&
8965
+ !startTagOpen.test(rest) &&
8966
+ !comment.test(rest) &&
8967
+ !conditionalComment.test(rest)
8968
+ ) {
8969
+ // < in plain text, be forgiving and treat it as text
8970
+ next = rest.indexOf('<', 1);
8971
+ if (next < 0) { break }
8972
+ textEnd += next;
8973
+ rest = html.slice(textEnd);
8974
+ }
8975
+ text = html.substring(0, textEnd);
8976
+ advance(textEnd);
8977
+ }
8978
+
8979
+ if (textEnd < 0) {
8980
+ text = html;
8981
+ html = '';
8982
+ }
8983
+
8984
+ if (options.chars && text) {
8985
+ options.chars(text);
8986
+ }
8987
+ } else {
8988
+ var endTagLength = 0;
8989
+ var stackedTag = lastTag.toLowerCase();
8990
+ var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));
8991
+ var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {
8992
+ endTagLength = endTag.length;
8993
+ if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {
8994
+ text = text
8995
+ .replace(/<!--([\s\S]*?)-->/g, '$1')
8996
+ .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1');
8997
+ }
8998
+ if (shouldIgnoreFirstNewline(stackedTag, text)) {
8999
+ text = text.slice(1);
9000
+ }
9001
+ if (options.chars) {
9002
+ options.chars(text);
9003
+ }
9004
+ return ''
9005
+ });
9006
+ index += html.length - rest$1.length;
9007
+ html = rest$1;
9008
+ parseEndTag(stackedTag, index - endTagLength, index);
9009
+ }
9010
+
9011
+ if (html === last) {
9012
+ options.chars && options.chars(html);
9013
+ if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {
9014
+ options.warn(("Mal-formatted tag at end of template: \"" + html + "\""));
9015
+ }
9016
+ break
9017
+ }
9018
+ }
9019
+
9020
+ // Clean up any remaining tags
9021
+ parseEndTag();
9022
+
9023
+ function advance (n) {
9024
+ index += n;
9025
+ html = html.substring(n);
9026
+ }
9027
+
9028
+ function parseStartTag () {
9029
+ var start = html.match(startTagOpen);
9030
+ if (start) {
9031
+ var match = {
9032
+ tagName: start[1],
9033
+ attrs: [],
9034
+ start: index
9035
+ };
9036
+ advance(start[0].length);
9037
+ var end, attr;
9038
+ while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {
9039
+ advance(attr[0].length);
9040
+ match.attrs.push(attr);
9041
+ }
9042
+ if (end) {
9043
+ match.unarySlash = end[1];
9044
+ advance(end[0].length);
9045
+ match.end = index;
9046
+ return match
9047
+ }
9048
+ }
9049
+ }
9050
+
9051
+ function handleStartTag (match) {
9052
+ var tagName = match.tagName;
9053
+ var unarySlash = match.unarySlash;
9054
+
9055
+ if (expectHTML) {
9056
+ if (lastTag === 'p' && isNonPhrasingTag(tagName)) {
9057
+ parseEndTag(lastTag);
9058
+ }
9059
+ if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {
9060
+ parseEndTag(tagName);
9061
+ }
9062
+ }
9063
+
9064
+ var unary = isUnaryTag$$1(tagName) || !!unarySlash;
9065
+
9066
+ var l = match.attrs.length;
9067
+ var attrs = new Array(l);
9068
+ for (var i = 0; i < l; i++) {
9069
+ var args = match.attrs[i];
9070
+ // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778
9071
+ if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('""') === -1) {
9072
+ if (args[3] === '') { delete args[3]; }
9073
+ if (args[4] === '') { delete args[4]; }
9074
+ if (args[5] === '') { delete args[5]; }
9075
+ }
9076
+ var value = args[3] || args[4] || args[5] || '';
9077
+ var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'
9078
+ ? options.shouldDecodeNewlinesForHref
9079
+ : options.shouldDecodeNewlines;
9080
+ attrs[i] = {
9081
+ name: args[1],
9082
+ value: decodeAttr(value, shouldDecodeNewlines)
9083
+ };
9084
+ }
9085
+
9086
+ if (!unary) {
9087
+ stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });
9088
+ lastTag = tagName;
9089
+ }
9090
+
9091
+ if (options.start) {
9092
+ options.start(tagName, attrs, unary, match.start, match.end);
9093
+ }
9094
+ }
9095
+
9096
+ function parseEndTag (tagName, start, end) {
9097
+ var pos, lowerCasedTagName;
9098
+ if (start == null) { start = index; }
9099
+ if (end == null) { end = index; }
9100
+
9101
+ if (tagName) {
9102
+ lowerCasedTagName = tagName.toLowerCase();
9103
+ }
9104
+
9105
+ // Find the closest opened tag of the same type
9106
+ if (tagName) {
9107
+ for (pos = stack.length - 1; pos >= 0; pos--) {
9108
+ if (stack[pos].lowerCasedTag === lowerCasedTagName) {
9109
+ break
9110
+ }
9111
+ }
9112
+ } else {
9113
+ // If no tag name is provided, clean shop
9114
+ pos = 0;
9115
+ }
9116
+
9117
+ if (pos >= 0) {
9118
+ // Close all the open elements, up the stack
9119
+ for (var i = stack.length - 1; i >= pos; i--) {
9120
+ if (process.env.NODE_ENV !== 'production' &&
9121
+ (i > pos || !tagName) &&
9122
+ options.warn
9123
+ ) {
9124
+ options.warn(
9125
+ ("tag <" + (stack[i].tag) + "> has no matching end tag.")
9126
+ );
9127
+ }
9128
+ if (options.end) {
9129
+ options.end(stack[i].tag, start, end);
9130
+ }
9131
+ }
9132
+
9133
+ // Remove the open elements from the stack
9134
+ stack.length = pos;
9135
+ lastTag = pos && stack[pos - 1].tag;
9136
+ } else if (lowerCasedTagName === 'br') {
9137
+ if (options.start) {
9138
+ options.start(tagName, [], true, start, end);
9139
+ }
9140
+ } else if (lowerCasedTagName === 'p') {
9141
+ if (options.start) {
9142
+ options.start(tagName, [], false, start, end);
9143
+ }
9144
+ if (options.end) {
9145
+ options.end(tagName, start, end);
9146
+ }
9147
+ }
9148
+ }
9149
+ }
9150
+
9151
+ /* */
9152
+
9153
+ var onRE = /^@|^v-on:/;
9154
+ var dirRE = /^v-|^@|^:/;
9155
+ var forAliasRE = /(.*?)\s+(?:in|of)\s+(.*)/;
9156
+ var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
9157
+ var stripParensRE = /^\(|\)$/g;
9158
+
9159
+ var argRE = /:(.*)$/;
9160
+ var bindRE = /^:|^v-bind:/;
9161
+ var modifierRE = /\.[^.]+/g;
9162
+
9163
+ var decodeHTMLCached = cached(he.decode);
9164
+
9165
+ // configurable state
9166
+ var warn$2;
9167
+ var delimiters;
9168
+ var transforms;
9169
+ var preTransforms;
9170
+ var postTransforms;
9171
+ var platformIsPreTag;
9172
+ var platformMustUseProp;
9173
+ var platformGetTagNamespace;
9174
+
9175
+
9176
+
9177
+ function createASTElement (
9178
+ tag,
9179
+ attrs,
9180
+ parent
9181
+ ) {
9182
+ return {
9183
+ type: 1,
9184
+ tag: tag,
9185
+ attrsList: attrs,
9186
+ attrsMap: makeAttrsMap(attrs),
9187
+ parent: parent,
9188
+ children: []
9189
+ }
9190
+ }
9191
+
9192
+ /**
9193
+ * Convert HTML string to AST.
9194
+ */
9195
+ function parse (
9196
+ template,
9197
+ options
9198
+ ) {
9199
+ warn$2 = options.warn || baseWarn;
9200
+
9201
+ platformIsPreTag = options.isPreTag || no;
9202
+ platformMustUseProp = options.mustUseProp || no;
9203
+ platformGetTagNamespace = options.getTagNamespace || no;
9204
+
9205
+ transforms = pluckModuleFunction(options.modules, 'transformNode');
9206
+ preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
9207
+ postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');
9208
+
9209
+ delimiters = options.delimiters;
9210
+
9211
+ var stack = [];
9212
+ var preserveWhitespace = options.preserveWhitespace !== false;
9213
+ var root;
9214
+ var currentParent;
9215
+ var inVPre = false;
9216
+ var inPre = false;
9217
+ var warned = false;
9218
+
9219
+ function warnOnce (msg) {
9220
+ if (!warned) {
9221
+ warned = true;
9222
+ warn$2(msg);
9223
+ }
9224
+ }
9225
+
9226
+ function closeElement (element) {
9227
+ // check pre state
9228
+ if (element.pre) {
9229
+ inVPre = false;
9230
+ }
9231
+ if (platformIsPreTag(element.tag)) {
9232
+ inPre = false;
9233
+ }
9234
+ // apply post-transforms
9235
+ for (var i = 0; i < postTransforms.length; i++) {
9236
+ postTransforms[i](element, options);
9237
+ }
9238
+ }
9239
+
9240
+ parseHTML(template, {
9241
+ warn: warn$2,
9242
+ expectHTML: options.expectHTML,
9243
+ isUnaryTag: options.isUnaryTag,
9244
+ canBeLeftOpenTag: options.canBeLeftOpenTag,
9245
+ shouldDecodeNewlines: options.shouldDecodeNewlines,
9246
+ shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,
9247
+ shouldKeepComment: options.comments,
9248
+ start: function start (tag, attrs, unary) {
9249
+ // check namespace.
9250
+ // inherit parent ns if there is one
9251
+ var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
9252
+
9253
+ // handle IE svg bug
9254
+ /* istanbul ignore if */
9255
+ if (isIE && ns === 'svg') {
9256
+ attrs = guardIESVGBug(attrs);
9257
+ }
9258
+
9259
+ var element = createASTElement(tag, attrs, currentParent);
9260
+ if (ns) {
9261
+ element.ns = ns;
9262
+ }
9263
+
9264
+ if (isForbiddenTag(element) && !isServerRendering()) {
9265
+ element.forbidden = true;
9266
+ process.env.NODE_ENV !== 'production' && warn$2(
9267
+ 'Templates should only be responsible for mapping the state to the ' +
9268
+ 'UI. Avoid placing tags with side-effects in your templates, such as ' +
9269
+ "<" + tag + ">" + ', as they will not be parsed.'
9270
+ );
9271
+ }
9272
+
9273
+ // apply pre-transforms
9274
+ for (var i = 0; i < preTransforms.length; i++) {
9275
+ element = preTransforms[i](element, options) || element;
9276
+ }
9277
+
9278
+ if (!inVPre) {
9279
+ processPre(element);
9280
+ if (element.pre) {
9281
+ inVPre = true;
9282
+ }
9283
+ }
9284
+ if (platformIsPreTag(element.tag)) {
9285
+ inPre = true;
9286
+ }
9287
+ if (inVPre) {
9288
+ processRawAttrs(element);
9289
+ } else if (!element.processed) {
9290
+ // structural directives
9291
+ processFor(element);
9292
+ processIf(element);
9293
+ processOnce(element);
9294
+ // element-scope stuff
9295
+ processElement(element, options);
9296
+ }
9297
+
9298
+ function checkRootConstraints (el) {
9299
+ if (process.env.NODE_ENV !== 'production') {
9300
+ if (el.tag === 'slot' || el.tag === 'template') {
9301
+ warnOnce(
9302
+ "Cannot use <" + (el.tag) + "> as component root element because it may " +
9303
+ 'contain multiple nodes.'
9304
+ );
9305
+ }
9306
+ if (el.attrsMap.hasOwnProperty('v-for')) {
9307
+ warnOnce(
9308
+ 'Cannot use v-for on stateful component root element because ' +
9309
+ 'it renders multiple elements.'
9310
+ );
9311
+ }
9312
+ }
9313
+ }
9314
+
9315
+ // tree management
9316
+ if (!root) {
9317
+ root = element;
9318
+ checkRootConstraints(root);
9319
+ } else if (!stack.length) {
9320
+ // allow root elements with v-if, v-else-if and v-else
9321
+ if (root.if && (element.elseif || element.else)) {
9322
+ checkRootConstraints(element);
9323
+ addIfCondition(root, {
9324
+ exp: element.elseif,
9325
+ block: element
9326
+ });
9327
+ } else if (process.env.NODE_ENV !== 'production') {
9328
+ warnOnce(
9329
+ "Component template should contain exactly one root element. " +
9330
+ "If you are using v-if on multiple elements, " +
9331
+ "use v-else-if to chain them instead."
9332
+ );
9333
+ }
9334
+ }
9335
+ if (currentParent && !element.forbidden) {
9336
+ if (element.elseif || element.else) {
9337
+ processIfConditions(element, currentParent);
9338
+ } else if (element.slotScope) { // scoped slot
9339
+ currentParent.plain = false;
9340
+ var name = element.slotTarget || '"default"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;
9341
+ } else {
9342
+ currentParent.children.push(element);
9343
+ element.parent = currentParent;
9344
+ }
9345
+ }
9346
+ if (!unary) {
9347
+ currentParent = element;
9348
+ stack.push(element);
9349
+ } else {
9350
+ closeElement(element);
9351
+ }
9352
+ },
9353
+
9354
+ end: function end () {
9355
+ // remove trailing whitespace
9356
+ var element = stack[stack.length - 1];
9357
+ var lastNode = element.children[element.children.length - 1];
9358
+ if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {
9359
+ element.children.pop();
9360
+ }
9361
+ // pop stack
9362
+ stack.length -= 1;
9363
+ currentParent = stack[stack.length - 1];
9364
+ closeElement(element);
9365
+ },
9366
+
9367
+ chars: function chars (text) {
9368
+ if (!currentParent) {
9369
+ if (process.env.NODE_ENV !== 'production') {
9370
+ if (text === template) {
9371
+ warnOnce(
9372
+ 'Component template requires a root element, rather than just text.'
9373
+ );
9374
+ } else if ((text = text.trim())) {
9375
+ warnOnce(
9376
+ ("text \"" + text + "\" outside root element will be ignored.")
9377
+ );
9378
+ }
9379
+ }
9380
+ return
9381
+ }
9382
+ // IE textarea placeholder bug
9383
+ /* istanbul ignore if */
9384
+ if (isIE &&
9385
+ currentParent.tag === 'textarea' &&
9386
+ currentParent.attrsMap.placeholder === text
9387
+ ) {
9388
+ return
9389
+ }
9390
+ var children = currentParent.children;
9391
+ text = inPre || text.trim()
9392
+ ? isTextTag(currentParent) ? text : decodeHTMLCached(text)
9393
+ // only preserve whitespace if its not right after a starting tag
9394
+ : preserveWhitespace && children.length ? ' ' : '';
9395
+ if (text) {
9396
+ var res;
9397
+ if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {
9398
+ children.push({
9399
+ type: 2,
9400
+ expression: res.expression,
9401
+ tokens: res.tokens,
9402
+ text: text
9403
+ });
9404
+ } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {
9405
+ children.push({
9406
+ type: 3,
9407
+ text: text
9408
+ });
9409
+ }
9410
+ }
9411
+ },
9412
+ comment: function comment (text) {
9413
+ currentParent.children.push({
9414
+ type: 3,
9415
+ text: text,
9416
+ isComment: true
9417
+ });
9418
+ }
9419
+ });
9420
+ return root
9421
+ }
9422
+
9423
+ function processPre (el) {
9424
+ if (getAndRemoveAttr(el, 'v-pre') != null) {
9425
+ el.pre = true;
9426
+ }
9427
+ }
9428
+
9429
+ function processRawAttrs (el) {
9430
+ var l = el.attrsList.length;
9431
+ if (l) {
9432
+ var attrs = el.attrs = new Array(l);
9433
+ for (var i = 0; i < l; i++) {
9434
+ attrs[i] = {
9435
+ name: el.attrsList[i].name,
9436
+ value: JSON.stringify(el.attrsList[i].value)
9437
+ };
9438
+ }
9439
+ } else if (!el.pre) {
9440
+ // non root node in pre blocks with no attributes
9441
+ el.plain = true;
9442
+ }
9443
+ }
9444
+
9445
+ function processElement (element, options) {
9446
+ processKey(element);
9447
+
9448
+ // determine whether this is a plain element after
9449
+ // removing structural attributes
9450
+ element.plain = !element.key && !element.attrsList.length;
9451
+
9452
+ processRef(element);
9453
+ processSlot(element);
9454
+ processComponent(element);
9455
+ for (var i = 0; i < transforms.length; i++) {
9456
+ element = transforms[i](element, options) || element;
9457
+ }
9458
+ processAttrs(element);
9459
+ }
9460
+
9461
+ function processKey (el) {
9462
+ var exp = getBindingAttr(el, 'key');
9463
+ if (exp) {
9464
+ if (process.env.NODE_ENV !== 'production' && el.tag === 'template') {
9465
+ warn$2("<template> cannot be keyed. Place the key on real elements instead.");
9466
+ }
9467
+ el.key = exp;
9468
+ }
9469
+ }
9470
+
9471
+ function processRef (el) {
9472
+ var ref = getBindingAttr(el, 'ref');
9473
+ if (ref) {
9474
+ el.ref = ref;
9475
+ el.refInFor = checkInFor(el);
9476
+ }
9477
+ }
9478
+
9479
+ function processFor (el) {
9480
+ var exp;
9481
+ if ((exp = getAndRemoveAttr(el, 'v-for'))) {
9482
+ var res = parseFor(exp);
9483
+ if (res) {
9484
+ extend(el, res);
9485
+ } else if (process.env.NODE_ENV !== 'production') {
9486
+ warn$2(
9487
+ ("Invalid v-for expression: " + exp)
9488
+ );
9489
+ }
9490
+ }
9491
+ }
9492
+
9493
+ function parseFor (exp) {
9494
+ var inMatch = exp.match(forAliasRE);
9495
+ if (!inMatch) { return }
9496
+ var res = {};
9497
+ res.for = inMatch[2].trim();
9498
+ var alias = inMatch[1].trim().replace(stripParensRE, '');
9499
+ var iteratorMatch = alias.match(forIteratorRE);
9500
+ if (iteratorMatch) {
9501
+ res.alias = alias.replace(forIteratorRE, '');
9502
+ res.iterator1 = iteratorMatch[1].trim();
9503
+ if (iteratorMatch[2]) {
9504
+ res.iterator2 = iteratorMatch[2].trim();
9505
+ }
9506
+ } else {
9507
+ res.alias = alias;
9508
+ }
9509
+ return res
9510
+ }
9511
+
9512
+ function processIf (el) {
9513
+ var exp = getAndRemoveAttr(el, 'v-if');
9514
+ if (exp) {
9515
+ el.if = exp;
9516
+ addIfCondition(el, {
9517
+ exp: exp,
9518
+ block: el
9519
+ });
9520
+ } else {
9521
+ if (getAndRemoveAttr(el, 'v-else') != null) {
9522
+ el.else = true;
9523
+ }
9524
+ var elseif = getAndRemoveAttr(el, 'v-else-if');
9525
+ if (elseif) {
9526
+ el.elseif = elseif;
9527
+ }
9528
+ }
9529
+ }
9530
+
9531
+ function processIfConditions (el, parent) {
9532
+ var prev = findPrevElement(parent.children);
9533
+ if (prev && prev.if) {
9534
+ addIfCondition(prev, {
9535
+ exp: el.elseif,
9536
+ block: el
9537
+ });
9538
+ } else if (process.env.NODE_ENV !== 'production') {
9539
+ warn$2(
9540
+ "v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " +
9541
+ "used on element <" + (el.tag) + "> without corresponding v-if."
9542
+ );
9543
+ }
9544
+ }
9545
+
9546
+ function findPrevElement (children) {
9547
+ var i = children.length;
9548
+ while (i--) {
9549
+ if (children[i].type === 1) {
9550
+ return children[i]
9551
+ } else {
9552
+ if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {
9553
+ warn$2(
9554
+ "text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " +
9555
+ "will be ignored."
9556
+ );
9557
+ }
9558
+ children.pop();
9559
+ }
9560
+ }
9561
+ }
9562
+
9563
+ function addIfCondition (el, condition) {
9564
+ if (!el.ifConditions) {
9565
+ el.ifConditions = [];
9566
+ }
9567
+ el.ifConditions.push(condition);
9568
+ }
9569
+
9570
+ function processOnce (el) {
9571
+ var once$$1 = getAndRemoveAttr(el, 'v-once');
9572
+ if (once$$1 != null) {
9573
+ el.once = true;
9574
+ }
9575
+ }
9576
+
9577
+ function processSlot (el) {
9578
+ if (el.tag === 'slot') {
9579
+ el.slotName = getBindingAttr(el, 'name');
9580
+ if (process.env.NODE_ENV !== 'production' && el.key) {
9581
+ warn$2(
9582
+ "`key` does not work on <slot> because slots are abstract outlets " +
9583
+ "and can possibly expand into multiple elements. " +
9584
+ "Use the key on a wrapping element instead."
9585
+ );
9586
+ }
9587
+ } else {
9588
+ var slotScope;
9589
+ if (el.tag === 'template') {
9590
+ slotScope = getAndRemoveAttr(el, 'scope');
9591
+ /* istanbul ignore if */
9592
+ if (process.env.NODE_ENV !== 'production' && slotScope) {
9593
+ warn$2(
9594
+ "the \"scope\" attribute for scoped slots have been deprecated and " +
9595
+ "replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " +
9596
+ "can also be used on plain elements in addition to <template> to " +
9597
+ "denote scoped slots.",
9598
+ true
9599
+ );
9600
+ }
9601
+ el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');
9602
+ } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {
9603
+ /* istanbul ignore if */
9604
+ if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {
9605
+ warn$2(
9606
+ "Ambiguous combined usage of slot-scope and v-for on <" + (el.tag) + "> " +
9607
+ "(v-for takes higher priority). Use a wrapper <template> for the " +
9608
+ "scoped slot to make it clearer.",
9609
+ true
9610
+ );
9611
+ }
9612
+ el.slotScope = slotScope;
9613
+ }
9614
+ var slotTarget = getBindingAttr(el, 'slot');
9615
+ if (slotTarget) {
9616
+ el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget;
9617
+ // preserve slot as an attribute for native shadow DOM compat
9618
+ // only for non-scoped slots.
9619
+ if (el.tag !== 'template' && !el.slotScope) {
9620
+ addAttr(el, 'slot', slotTarget);
9621
+ }
9622
+ }
9623
+ }
9624
+ }
9625
+
9626
+ function processComponent (el) {
9627
+ var binding;
9628
+ if ((binding = getBindingAttr(el, 'is'))) {
9629
+ el.component = binding;
9630
+ }
9631
+ if (getAndRemoveAttr(el, 'inline-template') != null) {
9632
+ el.inlineTemplate = true;
9633
+ }
9634
+ }
9635
+
9636
+ function processAttrs (el) {
9637
+ var list = el.attrsList;
9638
+ var i, l, name, rawName, value, modifiers, isProp;
9639
+ for (i = 0, l = list.length; i < l; i++) {
9640
+ name = rawName = list[i].name;
9641
+ value = list[i].value;
9642
+ if (dirRE.test(name)) {
9643
+ // mark element as dynamic
9644
+ el.hasBindings = true;
9645
+ // modifiers
9646
+ modifiers = parseModifiers(name);
9647
+ if (modifiers) {
9648
+ name = name.replace(modifierRE, '');
9649
+ }
9650
+ if (bindRE.test(name)) { // v-bind
9651
+ name = name.replace(bindRE, '');
9652
+ value = parseFilters(value);
9653
+ isProp = false;
9654
+ if (modifiers) {
9655
+ if (modifiers.prop) {
9656
+ isProp = true;
9657
+ name = camelize(name);
9658
+ if (name === 'innerHtml') { name = 'innerHTML'; }
9659
+ }
9660
+ if (modifiers.camel) {
9661
+ name = camelize(name);
9662
+ }
9663
+ if (modifiers.sync) {
9664
+ addHandler(
9665
+ el,
9666
+ ("update:" + (camelize(name))),
9667
+ genAssignmentCode(value, "$event")
9668
+ );
9669
+ }
9670
+ }
9671
+ if (isProp || (
9672
+ !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
9673
+ )) {
9674
+ addProp(el, name, value);
9675
+ } else {
9676
+ addAttr(el, name, value);
9677
+ }
9678
+ } else if (onRE.test(name)) { // v-on
9679
+ name = name.replace(onRE, '');
9680
+ addHandler(el, name, value, modifiers, false, warn$2);
9681
+ } else { // normal directives
9682
+ name = name.replace(dirRE, '');
9683
+ // parse arg
9684
+ var argMatch = name.match(argRE);
9685
+ var arg = argMatch && argMatch[1];
9686
+ if (arg) {
9687
+ name = name.slice(0, -(arg.length + 1));
9688
+ }
9689
+ addDirective(el, name, rawName, value, arg, modifiers);
9690
+ if (process.env.NODE_ENV !== 'production' && name === 'model') {
9691
+ checkForAliasModel(el, value);
9692
+ }
9693
+ }
9694
+ } else {
9695
+ // literal attribute
9696
+ if (process.env.NODE_ENV !== 'production') {
9697
+ var res = parseText(value, delimiters);
9698
+ if (res) {
9699
+ warn$2(
9700
+ name + "=\"" + value + "\": " +
9701
+ 'Interpolation inside attributes has been removed. ' +
9702
+ 'Use v-bind or the colon shorthand instead. For example, ' +
9703
+ 'instead of <div id="{{ val }}">, use <div :id="val">.'
9704
+ );
9705
+ }
9706
+ }
9707
+ addAttr(el, name, JSON.stringify(value));
9708
+ // #6887 firefox doesn't update muted state if set via attribute
9709
+ // even immediately after element creation
9710
+ if (!el.component &&
9711
+ name === 'muted' &&
9712
+ platformMustUseProp(el.tag, el.attrsMap.type, name)) {
9713
+ addProp(el, name, 'true');
9714
+ }
9715
+ }
9716
+ }
9717
+ }
9718
+
9719
+ function checkInFor (el) {
9720
+ var parent = el;
9721
+ while (parent) {
9722
+ if (parent.for !== undefined) {
9723
+ return true
9724
+ }
9725
+ parent = parent.parent;
9726
+ }
9727
+ return false
9728
+ }
9729
+
9730
+ function parseModifiers (name) {
9731
+ var match = name.match(modifierRE);
9732
+ if (match) {
9733
+ var ret = {};
9734
+ match.forEach(function (m) { ret[m.slice(1)] = true; });
9735
+ return ret
9736
+ }
9737
+ }
9738
+
9739
+ function makeAttrsMap (attrs) {
9740
+ var map = {};
9741
+ for (var i = 0, l = attrs.length; i < l; i++) {
9742
+ if (
9743
+ process.env.NODE_ENV !== 'production' &&
9744
+ map[attrs[i].name] && !isIE && !isEdge
9745
+ ) {
9746
+ warn$2('duplicate attribute: ' + attrs[i].name);
9747
+ }
9748
+ map[attrs[i].name] = attrs[i].value;
9749
+ }
9750
+ return map
9751
+ }
9752
+
9753
+ // for script (e.g. type="x/template") or style, do not decode content
9754
+ function isTextTag (el) {
9755
+ return el.tag === 'script' || el.tag === 'style'
9756
+ }
9757
+
9758
+ function isForbiddenTag (el) {
9759
+ return (
9760
+ el.tag === 'style' ||
9761
+ (el.tag === 'script' && (
9762
+ !el.attrsMap.type ||
9763
+ el.attrsMap.type === 'text/javascript'
9764
+ ))
9765
+ )
9766
+ }
9767
+
9768
+ var ieNSBug = /^xmlns:NS\d+/;
9769
+ var ieNSPrefix = /^NS\d+:/;
9770
+
9771
+ /* istanbul ignore next */
9772
+ function guardIESVGBug (attrs) {
9773
+ var res = [];
9774
+ for (var i = 0; i < attrs.length; i++) {
9775
+ var attr = attrs[i];
9776
+ if (!ieNSBug.test(attr.name)) {
9777
+ attr.name = attr.name.replace(ieNSPrefix, '');
9778
+ res.push(attr);
9779
+ }
9780
+ }
9781
+ return res
9782
+ }
9783
+
9784
+ function checkForAliasModel (el, value) {
9785
+ var _el = el;
9786
+ while (_el) {
9787
+ if (_el.for && _el.alias === value) {
9788
+ warn$2(
9789
+ "<" + (el.tag) + " v-model=\"" + value + "\">: " +
9790
+ "You are binding v-model directly to a v-for iteration alias. " +
9791
+ "This will not be able to modify the v-for source array because " +
9792
+ "writing to the alias is like modifying a function local variable. " +
9793
+ "Consider using an array of objects and use v-model on an object property instead."
9794
+ );
9795
+ }
9796
+ _el = _el.parent;
9797
+ }
9798
+ }
9799
+
9800
+ /* */
9801
+
9802
+ /**
9803
+ * Expand input[v-model] with dyanmic type bindings into v-if-else chains
9804
+ * Turn this:
9805
+ * <input v-model="data[type]" :type="type">
9806
+ * into this:
9807
+ * <input v-if="type === 'checkbox'" type="checkbox" v-model="data[type]">
9808
+ * <input v-else-if="type === 'radio'" type="radio" v-model="data[type]">
9809
+ * <input v-else :type="type" v-model="data[type]">
9810
+ */
9811
+
9812
+ function preTransformNode (el, options) {
9813
+ if (el.tag === 'input') {
9814
+ var map = el.attrsMap;
9815
+ if (map['v-model'] && (map['v-bind:type'] || map[':type'])) {
9816
+ var typeBinding = getBindingAttr(el, 'type');
9817
+ var ifCondition = getAndRemoveAttr(el, 'v-if', true);
9818
+ var ifConditionExtra = ifCondition ? ("&&(" + ifCondition + ")") : "";
9819
+ var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;
9820
+ var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);
9821
+ // 1. checkbox
9822
+ var branch0 = cloneASTElement(el);
9823
+ // process for on the main node
9824
+ processFor(branch0);
9825
+ addRawAttr(branch0, 'type', 'checkbox');
9826
+ processElement(branch0, options);
9827
+ branch0.processed = true; // prevent it from double-processed
9828
+ branch0.if = "(" + typeBinding + ")==='checkbox'" + ifConditionExtra;
9829
+ addIfCondition(branch0, {
9830
+ exp: branch0.if,
9831
+ block: branch0
9832
+ });
9833
+ // 2. add radio else-if condition
9834
+ var branch1 = cloneASTElement(el);
9835
+ getAndRemoveAttr(branch1, 'v-for', true);
9836
+ addRawAttr(branch1, 'type', 'radio');
9837
+ processElement(branch1, options);
9838
+ addIfCondition(branch0, {
9839
+ exp: "(" + typeBinding + ")==='radio'" + ifConditionExtra,
9840
+ block: branch1
9841
+ });
9842
+ // 3. other
9843
+ var branch2 = cloneASTElement(el);
9844
+ getAndRemoveAttr(branch2, 'v-for', true);
9845
+ addRawAttr(branch2, ':type', typeBinding);
9846
+ processElement(branch2, options);
9847
+ addIfCondition(branch0, {
9848
+ exp: ifCondition,
9849
+ block: branch2
9850
+ });
9851
+
9852
+ if (hasElse) {
9853
+ branch0.else = true;
9854
+ } else if (elseIfCondition) {
9855
+ branch0.elseif = elseIfCondition;
9856
+ }
9857
+
9858
+ return branch0
9859
+ }
9860
+ }
9861
+ }
9862
+
9863
+ function cloneASTElement (el) {
9864
+ return createASTElement(el.tag, el.attrsList.slice(), el.parent)
9865
+ }
9866
+
9867
+ var model$2 = {
9868
+ preTransformNode: preTransformNode
9869
+ };
9870
+
9871
+ var modules$1 = [
9872
+ klass$1,
9873
+ style$1,
9874
+ model$2
9875
+ ];
9876
+
9877
+ /* */
9878
+
9879
+ function text (el, dir) {
9880
+ if (dir.value) {
9881
+ addProp(el, 'textContent', ("_s(" + (dir.value) + ")"));
9882
+ }
9883
+ }
9884
+
9885
+ /* */
9886
+
9887
+ function html (el, dir) {
9888
+ if (dir.value) {
9889
+ addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"));
9890
+ }
9891
+ }
9892
+
9893
+ var directives$1 = {
9894
+ model: model,
9895
+ text: text,
9896
+ html: html
9897
+ };
9898
+
9899
+ /* */
9900
+
9901
+ var baseOptions = {
9902
+ expectHTML: true,
9903
+ modules: modules$1,
9904
+ directives: directives$1,
9905
+ isPreTag: isPreTag,
9906
+ isUnaryTag: isUnaryTag,
9907
+ mustUseProp: mustUseProp,
9908
+ canBeLeftOpenTag: canBeLeftOpenTag,
9909
+ isReservedTag: isReservedTag,
9910
+ getTagNamespace: getTagNamespace,
9911
+ staticKeys: genStaticKeys(modules$1)
9912
+ };
9913
+
9914
+ /* */
9915
+
9916
+ var isStaticKey;
9917
+ var isPlatformReservedTag;
9918
+
9919
+ var genStaticKeysCached = cached(genStaticKeys$1);
9920
+
9921
+ /**
9922
+ * Goal of the optimizer: walk the generated template AST tree
9923
+ * and detect sub-trees that are purely static, i.e. parts of
9924
+ * the DOM that never needs to change.
9925
+ *
9926
+ * Once we detect these sub-trees, we can:
9927
+ *
9928
+ * 1. Hoist them into constants, so that we no longer need to
9929
+ * create fresh nodes for them on each re-render;
9930
+ * 2. Completely skip them in the patching process.
9931
+ */
9932
+ function optimize (root, options) {
9933
+ if (!root) { return }
9934
+ isStaticKey = genStaticKeysCached(options.staticKeys || '');
9935
+ isPlatformReservedTag = options.isReservedTag || no;
9936
+ // first pass: mark all non-static nodes.
9937
+ markStatic$1(root);
9938
+ // second pass: mark static roots.
9939
+ markStaticRoots(root, false);
9940
+ }
9941
+
9942
+ function genStaticKeys$1 (keys) {
9943
+ return makeMap(
9944
+ 'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +
9945
+ (keys ? ',' + keys : '')
9946
+ )
9947
+ }
9948
+
9949
+ function markStatic$1 (node) {
9950
+ node.static = isStatic(node);
9951
+ if (node.type === 1) {
9952
+ // do not make component slot content static. this avoids
9953
+ // 1. components not able to mutate slot nodes
9954
+ // 2. static slot content fails for hot-reloading
9955
+ if (
9956
+ !isPlatformReservedTag(node.tag) &&
9957
+ node.tag !== 'slot' &&
9958
+ node.attrsMap['inline-template'] == null
9959
+ ) {
9960
+ return
9961
+ }
9962
+ for (var i = 0, l = node.children.length; i < l; i++) {
9963
+ var child = node.children[i];
9964
+ markStatic$1(child);
9965
+ if (!child.static) {
9966
+ node.static = false;
9967
+ }
9968
+ }
9969
+ if (node.ifConditions) {
9970
+ for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
9971
+ var block = node.ifConditions[i$1].block;
9972
+ markStatic$1(block);
9973
+ if (!block.static) {
9974
+ node.static = false;
9975
+ }
9976
+ }
9977
+ }
9978
+ }
9979
+ }
9980
+
9981
+ function markStaticRoots (node, isInFor) {
9982
+ if (node.type === 1) {
9983
+ if (node.static || node.once) {
9984
+ node.staticInFor = isInFor;
9985
+ }
9986
+ // For a node to qualify as a static root, it should have children that
9987
+ // are not just static text. Otherwise the cost of hoisting out will
9988
+ // outweigh the benefits and it's better off to just always render it fresh.
9989
+ if (node.static && node.children.length && !(
9990
+ node.children.length === 1 &&
9991
+ node.children[0].type === 3
9992
+ )) {
9993
+ node.staticRoot = true;
9994
+ return
9995
+ } else {
9996
+ node.staticRoot = false;
9997
+ }
9998
+ if (node.children) {
9999
+ for (var i = 0, l = node.children.length; i < l; i++) {
10000
+ markStaticRoots(node.children[i], isInFor || !!node.for);
10001
+ }
10002
+ }
10003
+ if (node.ifConditions) {
10004
+ for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {
10005
+ markStaticRoots(node.ifConditions[i$1].block, isInFor);
10006
+ }
10007
+ }
10008
+ }
10009
+ }
10010
+
10011
+ function isStatic (node) {
10012
+ if (node.type === 2) { // expression
10013
+ return false
10014
+ }
10015
+ if (node.type === 3) { // text
10016
+ return true
10017
+ }
10018
+ return !!(node.pre || (
10019
+ !node.hasBindings && // no dynamic bindings
10020
+ !node.if && !node.for && // not v-if or v-for or v-else
10021
+ !isBuiltInTag(node.tag) && // not a built-in
10022
+ isPlatformReservedTag(node.tag) && // not a component
10023
+ !isDirectChildOfTemplateFor(node) &&
10024
+ Object.keys(node).every(isStaticKey)
10025
+ ))
10026
+ }
10027
+
10028
+ function isDirectChildOfTemplateFor (node) {
10029
+ while (node.parent) {
10030
+ node = node.parent;
10031
+ if (node.tag !== 'template') {
10032
+ return false
10033
+ }
10034
+ if (node.for) {
10035
+ return true
10036
+ }
10037
+ }
10038
+ return false
10039
+ }
10040
+
10041
+ /* */
10042
+
10043
+ var fnExpRE = /^\s*([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/;
10044
+ var simplePathRE = /^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/;
10045
+
10046
+ // keyCode aliases
10047
+ var keyCodes = {
10048
+ esc: 27,
10049
+ tab: 9,
10050
+ enter: 13,
10051
+ space: 32,
10052
+ up: 38,
10053
+ left: 37,
10054
+ right: 39,
10055
+ down: 40,
10056
+ 'delete': [8, 46]
10057
+ };
10058
+
10059
+ // #4868: modifiers that prevent the execution of the listener
10060
+ // need to explicitly return null so that we can determine whether to remove
10061
+ // the listener for .once
10062
+ var genGuard = function (condition) { return ("if(" + condition + ")return null;"); };
10063
+
10064
+ var modifierCode = {
10065
+ stop: '$event.stopPropagation();',
10066
+ prevent: '$event.preventDefault();',
10067
+ self: genGuard("$event.target !== $event.currentTarget"),
10068
+ ctrl: genGuard("!$event.ctrlKey"),
10069
+ shift: genGuard("!$event.shiftKey"),
10070
+ alt: genGuard("!$event.altKey"),
10071
+ meta: genGuard("!$event.metaKey"),
10072
+ left: genGuard("'button' in $event && $event.button !== 0"),
10073
+ middle: genGuard("'button' in $event && $event.button !== 1"),
10074
+ right: genGuard("'button' in $event && $event.button !== 2")
10075
+ };
10076
+
10077
+ function genHandlers (
10078
+ events,
10079
+ isNative,
10080
+ warn
10081
+ ) {
10082
+ var res = isNative ? 'nativeOn:{' : 'on:{';
10083
+ for (var name in events) {
10084
+ res += "\"" + name + "\":" + (genHandler(name, events[name])) + ",";
10085
+ }
10086
+ return res.slice(0, -1) + '}'
10087
+ }
10088
+
10089
+ function genHandler (
10090
+ name,
10091
+ handler
10092
+ ) {
10093
+ if (!handler) {
10094
+ return 'function(){}'
10095
+ }
10096
+
10097
+ if (Array.isArray(handler)) {
10098
+ return ("[" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + "]")
10099
+ }
10100
+
10101
+ var isMethodPath = simplePathRE.test(handler.value);
10102
+ var isFunctionExpression = fnExpRE.test(handler.value);
10103
+
10104
+ if (!handler.modifiers) {
10105
+ if (isMethodPath || isFunctionExpression) {
10106
+ return handler.value
10107
+ }
10108
+ /* istanbul ignore if */
10109
+ return ("function($event){" + (handler.value) + "}") // inline statement
10110
+ } else {
10111
+ var code = '';
10112
+ var genModifierCode = '';
10113
+ var keys = [];
10114
+ for (var key in handler.modifiers) {
10115
+ if (modifierCode[key]) {
10116
+ genModifierCode += modifierCode[key];
10117
+ // left/right
10118
+ if (keyCodes[key]) {
10119
+ keys.push(key);
10120
+ }
10121
+ } else if (key === 'exact') {
10122
+ var modifiers = (handler.modifiers);
10123
+ genModifierCode += genGuard(
10124
+ ['ctrl', 'shift', 'alt', 'meta']
10125
+ .filter(function (keyModifier) { return !modifiers[keyModifier]; })
10126
+ .map(function (keyModifier) { return ("$event." + keyModifier + "Key"); })
10127
+ .join('||')
10128
+ );
10129
+ } else {
10130
+ keys.push(key);
10131
+ }
10132
+ }
10133
+ if (keys.length) {
10134
+ code += genKeyFilter(keys);
10135
+ }
10136
+ // Make sure modifiers like prevent and stop get executed after key filtering
10137
+ if (genModifierCode) {
10138
+ code += genModifierCode;
10139
+ }
10140
+ var handlerCode = isMethodPath
10141
+ ? handler.value + '($event)'
10142
+ : isFunctionExpression
10143
+ ? ("(" + (handler.value) + ")($event)")
10144
+ : handler.value;
10145
+ /* istanbul ignore if */
10146
+ return ("function($event){" + code + handlerCode + "}")
10147
+ }
10148
+ }
10149
+
10150
+ function genKeyFilter (keys) {
10151
+ return ("if(!('button' in $event)&&" + (keys.map(genFilterCode).join('&&')) + ")return null;")
10152
+ }
10153
+
10154
+ function genFilterCode (key) {
10155
+ var keyVal = parseInt(key, 10);
10156
+ if (keyVal) {
10157
+ return ("$event.keyCode!==" + keyVal)
10158
+ }
10159
+ var code = keyCodes[key];
10160
+ return (
10161
+ "_k($event.keyCode," +
10162
+ (JSON.stringify(key)) + "," +
10163
+ (JSON.stringify(code)) + "," +
10164
+ "$event.key)"
10165
+ )
10166
+ }
10167
+
10168
+ /* */
10169
+
10170
+ function on (el, dir) {
10171
+ if (process.env.NODE_ENV !== 'production' && dir.modifiers) {
10172
+ warn("v-on without argument does not support modifiers.");
10173
+ }
10174
+ el.wrapListeners = function (code) { return ("_g(" + code + "," + (dir.value) + ")"); };
10175
+ }
10176
+
10177
+ /* */
10178
+
10179
+ function bind$1 (el, dir) {
10180
+ el.wrapData = function (code) {
10181
+ return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + "," + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + ")")
10182
+ };
10183
+ }
10184
+
10185
+ /* */
10186
+
10187
+ var baseDirectives = {
10188
+ on: on,
10189
+ bind: bind$1,
10190
+ cloak: noop
10191
+ };
10192
+
10193
+ /* */
10194
+
10195
+ var CodegenState = function CodegenState (options) {
10196
+ this.options = options;
10197
+ this.warn = options.warn || baseWarn;
10198
+ this.transforms = pluckModuleFunction(options.modules, 'transformCode');
10199
+ this.dataGenFns = pluckModuleFunction(options.modules, 'genData');
10200
+ this.directives = extend(extend({}, baseDirectives), options.directives);
10201
+ var isReservedTag = options.isReservedTag || no;
10202
+ this.maybeComponent = function (el) { return !isReservedTag(el.tag); };
10203
+ this.onceId = 0;
10204
+ this.staticRenderFns = [];
10205
+ };
10206
+
10207
+
10208
+
10209
+ function generate (
10210
+ ast,
10211
+ options
10212
+ ) {
10213
+ var state = new CodegenState(options);
10214
+ var code = ast ? genElement(ast, state) : '_c("div")';
10215
+ return {
10216
+ render: ("with(this){return " + code + "}"),
10217
+ staticRenderFns: state.staticRenderFns
10218
+ }
10219
+ }
10220
+
10221
+ function genElement (el, state) {
10222
+ if (el.staticRoot && !el.staticProcessed) {
10223
+ return genStatic(el, state)
10224
+ } else if (el.once && !el.onceProcessed) {
10225
+ return genOnce(el, state)
10226
+ } else if (el.for && !el.forProcessed) {
10227
+ return genFor(el, state)
10228
+ } else if (el.if && !el.ifProcessed) {
10229
+ return genIf(el, state)
10230
+ } else if (el.tag === 'template' && !el.slotTarget) {
10231
+ return genChildren(el, state) || 'void 0'
10232
+ } else if (el.tag === 'slot') {
10233
+ return genSlot(el, state)
10234
+ } else {
10235
+ // component or element
10236
+ var code;
10237
+ if (el.component) {
10238
+ code = genComponent(el.component, el, state);
10239
+ } else {
10240
+ var data = el.plain ? undefined : genData$2(el, state);
10241
+
10242
+ var children = el.inlineTemplate ? null : genChildren(el, state, true);
10243
+ code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")";
10244
+ }
10245
+ // module transforms
10246
+ for (var i = 0; i < state.transforms.length; i++) {
10247
+ code = state.transforms[i](el, code);
10248
+ }
10249
+ return code
10250
+ }
10251
+ }
10252
+
10253
+ // hoist static sub-trees out
10254
+ function genStatic (el, state) {
10255
+ el.staticProcessed = true;
10256
+ state.staticRenderFns.push(("with(this){return " + (genElement(el, state)) + "}"));
10257
+ return ("_m(" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")")
10258
+ }
10259
+
10260
+ // v-once
10261
+ function genOnce (el, state) {
10262
+ el.onceProcessed = true;
10263
+ if (el.if && !el.ifProcessed) {
10264
+ return genIf(el, state)
10265
+ } else if (el.staticInFor) {
10266
+ var key = '';
10267
+ var parent = el.parent;
10268
+ while (parent) {
10269
+ if (parent.for) {
10270
+ key = parent.key;
10271
+ break
10272
+ }
10273
+ parent = parent.parent;
10274
+ }
10275
+ if (!key) {
10276
+ process.env.NODE_ENV !== 'production' && state.warn(
10277
+ "v-once can only be used inside v-for that is keyed. "
10278
+ );
10279
+ return genElement(el, state)
10280
+ }
10281
+ return ("_o(" + (genElement(el, state)) + "," + (state.onceId++) + "," + key + ")")
10282
+ } else {
10283
+ return genStatic(el, state)
10284
+ }
10285
+ }
10286
+
10287
+ function genIf (
10288
+ el,
10289
+ state,
10290
+ altGen,
10291
+ altEmpty
10292
+ ) {
10293
+ el.ifProcessed = true; // avoid recursion
10294
+ return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)
10295
+ }
10296
+
10297
+ function genIfConditions (
10298
+ conditions,
10299
+ state,
10300
+ altGen,
10301
+ altEmpty
10302
+ ) {
10303
+ if (!conditions.length) {
10304
+ return altEmpty || '_e()'
10305
+ }
10306
+
10307
+ var condition = conditions.shift();
10308
+ if (condition.exp) {
10309
+ return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions, state, altGen, altEmpty)))
10310
+ } else {
10311
+ return ("" + (genTernaryExp(condition.block)))
10312
+ }
10313
+
10314
+ // v-if with v-once should generate code like (a)?_m(0):_m(1)
10315
+ function genTernaryExp (el) {
10316
+ return altGen
10317
+ ? altGen(el, state)
10318
+ : el.once
10319
+ ? genOnce(el, state)
10320
+ : genElement(el, state)
10321
+ }
10322
+ }
10323
+
10324
+ function genFor (
10325
+ el,
10326
+ state,
10327
+ altGen,
10328
+ altHelper
10329
+ ) {
10330
+ var exp = el.for;
10331
+ var alias = el.alias;
10332
+ var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
10333
+ var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
10334
+
10335
+ if (process.env.NODE_ENV !== 'production' &&
10336
+ state.maybeComponent(el) &&
10337
+ el.tag !== 'slot' &&
10338
+ el.tag !== 'template' &&
10339
+ !el.key
10340
+ ) {
10341
+ state.warn(
10342
+ "<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
10343
+ "v-for should have explicit keys. " +
10344
+ "See https://vuejs.org/guide/list.html#key for more info.",
10345
+ true /* tip */
10346
+ );
10347
+ }
10348
+
10349
+ el.forProcessed = true; // avoid recursion
10350
+ return (altHelper || '_l') + "((" + exp + ")," +
10351
+ "function(" + alias + iterator1 + iterator2 + "){" +
10352
+ "return " + ((altGen || genElement)(el, state)) +
10353
+ '})'
10354
+ }
10355
+
10356
+ function genData$2 (el, state) {
10357
+ var data = '{';
10358
+
10359
+ // directives first.
10360
+ // directives may mutate the el's other properties before they are generated.
10361
+ var dirs = genDirectives(el, state);
10362
+ if (dirs) { data += dirs + ','; }
10363
+
10364
+ // key
10365
+ if (el.key) {
10366
+ data += "key:" + (el.key) + ",";
10367
+ }
10368
+ // ref
10369
+ if (el.ref) {
10370
+ data += "ref:" + (el.ref) + ",";
10371
+ }
10372
+ if (el.refInFor) {
10373
+ data += "refInFor:true,";
10374
+ }
10375
+ // pre
10376
+ if (el.pre) {
10377
+ data += "pre:true,";
10378
+ }
10379
+ // record original tag name for components using "is" attribute
10380
+ if (el.component) {
10381
+ data += "tag:\"" + (el.tag) + "\",";
10382
+ }
10383
+ // module data generation functions
10384
+ for (var i = 0; i < state.dataGenFns.length; i++) {
10385
+ data += state.dataGenFns[i](el);
10386
+ }
10387
+ // attributes
10388
+ if (el.attrs) {
10389
+ data += "attrs:{" + (genProps(el.attrs)) + "},";
10390
+ }
10391
+ // DOM props
10392
+ if (el.props) {
10393
+ data += "domProps:{" + (genProps(el.props)) + "},";
10394
+ }
10395
+ // event handlers
10396
+ if (el.events) {
10397
+ data += (genHandlers(el.events, false, state.warn)) + ",";
10398
+ }
10399
+ if (el.nativeEvents) {
10400
+ data += (genHandlers(el.nativeEvents, true, state.warn)) + ",";
10401
+ }
10402
+ // slot target
10403
+ // only for non-scoped slots
10404
+ if (el.slotTarget && !el.slotScope) {
10405
+ data += "slot:" + (el.slotTarget) + ",";
10406
+ }
10407
+ // scoped slots
10408
+ if (el.scopedSlots) {
10409
+ data += (genScopedSlots(el.scopedSlots, state)) + ",";
10410
+ }
10411
+ // component v-model
10412
+ if (el.model) {
10413
+ data += "model:{value:" + (el.model.value) + ",callback:" + (el.model.callback) + ",expression:" + (el.model.expression) + "},";
10414
+ }
10415
+ // inline-template
10416
+ if (el.inlineTemplate) {
10417
+ var inlineTemplate = genInlineTemplate(el, state);
10418
+ if (inlineTemplate) {
10419
+ data += inlineTemplate + ",";
10420
+ }
10421
+ }
10422
+ data = data.replace(/,$/, '') + '}';
10423
+ // v-bind data wrap
10424
+ if (el.wrapData) {
10425
+ data = el.wrapData(data);
10426
+ }
10427
+ // v-on data wrap
10428
+ if (el.wrapListeners) {
10429
+ data = el.wrapListeners(data);
10430
+ }
10431
+ return data
10432
+ }
10433
+
10434
+ function genDirectives (el, state) {
10435
+ var dirs = el.directives;
10436
+ if (!dirs) { return }
10437
+ var res = 'directives:[';
10438
+ var hasRuntime = false;
10439
+ var i, l, dir, needRuntime;
10440
+ for (i = 0, l = dirs.length; i < l; i++) {
10441
+ dir = dirs[i];
10442
+ needRuntime = true;
10443
+ var gen = state.directives[dir.name];
10444
+ if (gen) {
10445
+ // compile-time directive that manipulates AST.
10446
+ // returns true if it also needs a runtime counterpart.
10447
+ needRuntime = !!gen(el, dir, state.warn);
10448
+ }
10449
+ if (needRuntime) {
10450
+ hasRuntime = true;
10451
+ res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:\"" + (dir.arg) + "\"") : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},";
10452
+ }
10453
+ }
10454
+ if (hasRuntime) {
10455
+ return res.slice(0, -1) + ']'
10456
+ }
10457
+ }
10458
+
10459
+ function genInlineTemplate (el, state) {
10460
+ var ast = el.children[0];
10461
+ if (process.env.NODE_ENV !== 'production' && (
10462
+ el.children.length !== 1 || ast.type !== 1
10463
+ )) {
10464
+ state.warn('Inline-template components must have exactly one child element.');
10465
+ }
10466
+ if (ast.type === 1) {
10467
+ var inlineRenderFns = generate(ast, state.options);
10468
+ return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
10469
+ }
10470
+ }
10471
+
10472
+ function genScopedSlots (
10473
+ slots,
10474
+ state
10475
+ ) {
10476
+ return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) {
10477
+ return genScopedSlot(key, slots[key], state)
10478
+ }).join(',')) + "])")
10479
+ }
10480
+
10481
+ function genScopedSlot (
10482
+ key,
10483
+ el,
10484
+ state
10485
+ ) {
10486
+ if (el.for && !el.forProcessed) {
10487
+ return genForScopedSlot(key, el, state)
10488
+ }
10489
+ var fn = "function(" + (String(el.slotScope)) + "){" +
10490
+ "return " + (el.tag === 'template'
10491
+ ? el.if
10492
+ ? ((el.if) + "?" + (genChildren(el, state) || 'undefined') + ":undefined")
10493
+ : genChildren(el, state) || 'undefined'
10494
+ : genElement(el, state)) + "}";
10495
+ return ("{key:" + key + ",fn:" + fn + "}")
10496
+ }
10497
+
10498
+ function genForScopedSlot (
10499
+ key,
10500
+ el,
10501
+ state
10502
+ ) {
10503
+ var exp = el.for;
10504
+ var alias = el.alias;
10505
+ var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
10506
+ var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
10507
+ el.forProcessed = true; // avoid recursion
10508
+ return "_l((" + exp + ")," +
10509
+ "function(" + alias + iterator1 + iterator2 + "){" +
10510
+ "return " + (genScopedSlot(key, el, state)) +
10511
+ '})'
10512
+ }
10513
+
10514
+ function genChildren (
10515
+ el,
10516
+ state,
10517
+ checkSkip,
10518
+ altGenElement,
10519
+ altGenNode
10520
+ ) {
10521
+ var children = el.children;
10522
+ if (children.length) {
10523
+ var el$1 = children[0];
10524
+ // optimize single v-for
10525
+ if (children.length === 1 &&
10526
+ el$1.for &&
10527
+ el$1.tag !== 'template' &&
10528
+ el$1.tag !== 'slot'
10529
+ ) {
10530
+ return (altGenElement || genElement)(el$1, state)
10531
+ }
10532
+ var normalizationType = checkSkip
10533
+ ? getNormalizationType(children, state.maybeComponent)
10534
+ : 0;
10535
+ var gen = altGenNode || genNode;
10536
+ return ("[" + (children.map(function (c) { return gen(c, state); }).join(',')) + "]" + (normalizationType ? ("," + normalizationType) : ''))
10537
+ }
10538
+ }
10539
+
10540
+ // determine the normalization needed for the children array.
10541
+ // 0: no normalization needed
10542
+ // 1: simple normalization needed (possible 1-level deep nested array)
10543
+ // 2: full normalization needed
10544
+ function getNormalizationType (
10545
+ children,
10546
+ maybeComponent
10547
+ ) {
10548
+ var res = 0;
10549
+ for (var i = 0; i < children.length; i++) {
10550
+ var el = children[i];
10551
+ if (el.type !== 1) {
10552
+ continue
10553
+ }
10554
+ if (needsNormalization(el) ||
10555
+ (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {
10556
+ res = 2;
10557
+ break
10558
+ }
10559
+ if (maybeComponent(el) ||
10560
+ (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {
10561
+ res = 1;
10562
+ }
10563
+ }
10564
+ return res
10565
+ }
10566
+
10567
+ function needsNormalization (el) {
10568
+ return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'
10569
+ }
10570
+
10571
+ function genNode (node, state) {
10572
+ if (node.type === 1) {
10573
+ return genElement(node, state)
10574
+ } if (node.type === 3 && node.isComment) {
10575
+ return genComment(node)
10576
+ } else {
10577
+ return genText(node)
10578
+ }
10579
+ }
10580
+
10581
+ function genText (text) {
10582
+ return ("_v(" + (text.type === 2
10583
+ ? text.expression // no need for () because already wrapped in _s()
10584
+ : transformSpecialNewlines(JSON.stringify(text.text))) + ")")
10585
+ }
10586
+
10587
+ function genComment (comment) {
10588
+ return ("_e(" + (JSON.stringify(comment.text)) + ")")
10589
+ }
10590
+
10591
+ function genSlot (el, state) {
10592
+ var slotName = el.slotName || '"default"';
10593
+ var children = genChildren(el, state);
10594
+ var res = "_t(" + slotName + (children ? ("," + children) : '');
10595
+ var attrs = el.attrs && ("{" + (el.attrs.map(function (a) { return ((camelize(a.name)) + ":" + (a.value)); }).join(',')) + "}");
10596
+ var bind$$1 = el.attrsMap['v-bind'];
10597
+ if ((attrs || bind$$1) && !children) {
10598
+ res += ",null";
10599
+ }
10600
+ if (attrs) {
10601
+ res += "," + attrs;
10602
+ }
10603
+ if (bind$$1) {
10604
+ res += (attrs ? '' : ',null') + "," + bind$$1;
10605
+ }
10606
+ return res + ')'
10607
+ }
10608
+
10609
+ // componentName is el.component, take it as argument to shun flow's pessimistic refinement
10610
+ function genComponent (
10611
+ componentName,
10612
+ el,
10613
+ state
10614
+ ) {
10615
+ var children = el.inlineTemplate ? null : genChildren(el, state, true);
10616
+ return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")")
10617
+ }
10618
+
10619
+ function genProps (props) {
10620
+ var res = '';
10621
+ for (var i = 0; i < props.length; i++) {
10622
+ var prop = props[i];
10623
+ /* istanbul ignore if */
10624
+ {
10625
+ res += "\"" + (prop.name) + "\":" + (transformSpecialNewlines(prop.value)) + ",";
10626
+ }
10627
+ }
10628
+ return res.slice(0, -1)
10629
+ }
10630
+
10631
+ // #3895, #4268
10632
+ function transformSpecialNewlines (text) {
10633
+ return text
10634
+ .replace(/\u2028/g, '\\u2028')
10635
+ .replace(/\u2029/g, '\\u2029')
10636
+ }
10637
+
10638
+ /* */
10639
+
10640
+ // these keywords should not appear inside expressions, but operators like
10641
+ // typeof, instanceof and in are allowed
10642
+ var prohibitedKeywordRE = new RegExp('\\b' + (
10643
+ 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
10644
+ 'super,throw,while,yield,delete,export,import,return,switch,default,' +
10645
+ 'extends,finally,continue,debugger,function,arguments'
10646
+ ).split(',').join('\\b|\\b') + '\\b');
10647
+
10648
+ // these unary operators should not be used as property/method names
10649
+ var unaryOperatorsRE = new RegExp('\\b' + (
10650
+ 'delete,typeof,void'
10651
+ ).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)');
10652
+
10653
+ // strip strings in expressions
10654
+ var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
10655
+
10656
+ // detect problematic expressions in a template
10657
+ function detectErrors (ast) {
10658
+ var errors = [];
10659
+ if (ast) {
10660
+ checkNode(ast, errors);
10661
+ }
10662
+ return errors
10663
+ }
10664
+
10665
+ function checkNode (node, errors) {
10666
+ if (node.type === 1) {
10667
+ for (var name in node.attrsMap) {
10668
+ if (dirRE.test(name)) {
10669
+ var value = node.attrsMap[name];
10670
+ if (value) {
10671
+ if (name === 'v-for') {
10672
+ checkFor(node, ("v-for=\"" + value + "\""), errors);
10673
+ } else if (onRE.test(name)) {
10674
+ checkEvent(value, (name + "=\"" + value + "\""), errors);
10675
+ } else {
10676
+ checkExpression(value, (name + "=\"" + value + "\""), errors);
10677
+ }
10678
+ }
10679
+ }
10680
+ }
10681
+ if (node.children) {
10682
+ for (var i = 0; i < node.children.length; i++) {
10683
+ checkNode(node.children[i], errors);
10684
+ }
10685
+ }
10686
+ } else if (node.type === 2) {
10687
+ checkExpression(node.expression, node.text, errors);
10688
+ }
10689
+ }
10690
+
10691
+ function checkEvent (exp, text, errors) {
10692
+ var stipped = exp.replace(stripStringRE, '');
10693
+ var keywordMatch = stipped.match(unaryOperatorsRE);
10694
+ if (keywordMatch && stipped.charAt(keywordMatch.index - 1) !== '$') {
10695
+ errors.push(
10696
+ "avoid using JavaScript unary operator as property name: " +
10697
+ "\"" + (keywordMatch[0]) + "\" in expression " + (text.trim())
10698
+ );
10699
+ }
10700
+ checkExpression(exp, text, errors);
10701
+ }
10702
+
10703
+ function checkFor (node, text, errors) {
10704
+ checkExpression(node.for || '', text, errors);
10705
+ checkIdentifier(node.alias, 'v-for alias', text, errors);
10706
+ checkIdentifier(node.iterator1, 'v-for iterator', text, errors);
10707
+ checkIdentifier(node.iterator2, 'v-for iterator', text, errors);
10708
+ }
10709
+
10710
+ function checkIdentifier (
10711
+ ident,
10712
+ type,
10713
+ text,
10714
+ errors
10715
+ ) {
10716
+ if (typeof ident === 'string') {
10717
+ try {
10718
+ new Function(("var " + ident + "=_"));
10719
+ } catch (e) {
10720
+ errors.push(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())));
10721
+ }
10722
+ }
10723
+ }
10724
+
10725
+ function checkExpression (exp, text, errors) {
10726
+ try {
10727
+ new Function(("return " + exp));
10728
+ } catch (e) {
10729
+ var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);
10730
+ if (keywordMatch) {
10731
+ errors.push(
10732
+ "avoid using JavaScript keyword as property name: " +
10733
+ "\"" + (keywordMatch[0]) + "\"\n Raw expression: " + (text.trim())
10734
+ );
10735
+ } else {
10736
+ errors.push(
10737
+ "invalid expression: " + (e.message) + " in\n\n" +
10738
+ " " + exp + "\n\n" +
10739
+ " Raw expression: " + (text.trim()) + "\n"
10740
+ );
10741
+ }
10742
+ }
10743
+ }
10744
+
10745
+ /* */
10746
+
10747
+ function createFunction (code, errors) {
10748
+ try {
10749
+ return new Function(code)
10750
+ } catch (err) {
10751
+ errors.push({ err: err, code: code });
10752
+ return noop
10753
+ }
10754
+ }
10755
+
10756
+ function createCompileToFunctionFn (compile) {
10757
+ var cache = Object.create(null);
10758
+
10759
+ return function compileToFunctions (
10760
+ template,
10761
+ options,
10762
+ vm
10763
+ ) {
10764
+ options = extend({}, options);
10765
+ var warn$$1 = options.warn || warn;
10766
+ delete options.warn;
10767
+
10768
+ /* istanbul ignore if */
10769
+ if (process.env.NODE_ENV !== 'production') {
10770
+ // detect possible CSP restriction
10771
+ try {
10772
+ new Function('return 1');
10773
+ } catch (e) {
10774
+ if (e.toString().match(/unsafe-eval|CSP/)) {
10775
+ warn$$1(
10776
+ 'It seems you are using the standalone build of Vue.js in an ' +
10777
+ 'environment with Content Security Policy that prohibits unsafe-eval. ' +
10778
+ 'The template compiler cannot work in this environment. Consider ' +
10779
+ 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +
10780
+ 'templates into render functions.'
10781
+ );
10782
+ }
10783
+ }
10784
+ }
10785
+
10786
+ // check cache
10787
+ var key = options.delimiters
10788
+ ? String(options.delimiters) + template
10789
+ : template;
10790
+ if (cache[key]) {
10791
+ return cache[key]
10792
+ }
10793
+
10794
+ // compile
10795
+ var compiled = compile(template, options);
10796
+
10797
+ // check compilation errors/tips
10798
+ if (process.env.NODE_ENV !== 'production') {
10799
+ if (compiled.errors && compiled.errors.length) {
10800
+ warn$$1(
10801
+ "Error compiling template:\n\n" + template + "\n\n" +
10802
+ compiled.errors.map(function (e) { return ("- " + e); }).join('\n') + '\n',
10803
+ vm
10804
+ );
10805
+ }
10806
+ if (compiled.tips && compiled.tips.length) {
10807
+ compiled.tips.forEach(function (msg) { return tip(msg, vm); });
10808
+ }
10809
+ }
10810
+
10811
+ // turn code into functions
10812
+ var res = {};
10813
+ var fnGenErrors = [];
10814
+ res.render = createFunction(compiled.render, fnGenErrors);
10815
+ res.staticRenderFns = compiled.staticRenderFns.map(function (code) {
10816
+ return createFunction(code, fnGenErrors)
10817
+ });
10818
+
10819
+ // check function generation errors.
10820
+ // this should only happen if there is a bug in the compiler itself.
10821
+ // mostly for codegen development use
10822
+ /* istanbul ignore if */
10823
+ if (process.env.NODE_ENV !== 'production') {
10824
+ if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {
10825
+ warn$$1(
10826
+ "Failed to generate render function:\n\n" +
10827
+ fnGenErrors.map(function (ref) {
10828
+ var err = ref.err;
10829
+ var code = ref.code;
10830
+
10831
+ return ((err.toString()) + " in\n\n" + code + "\n");
10832
+ }).join('\n'),
10833
+ vm
10834
+ );
10835
+ }
10836
+ }
10837
+
10838
+ return (cache[key] = res)
10839
+ }
10840
+ }
10841
+
10842
+ /* */
10843
+
10844
+ function createCompilerCreator (baseCompile) {
10845
+ return function createCompiler (baseOptions) {
10846
+ function compile (
10847
+ template,
10848
+ options
10849
+ ) {
10850
+ var finalOptions = Object.create(baseOptions);
10851
+ var errors = [];
10852
+ var tips = [];
10853
+ finalOptions.warn = function (msg, tip) {
10854
+ (tip ? tips : errors).push(msg);
10855
+ };
10856
+
10857
+ if (options) {
10858
+ // merge custom modules
10859
+ if (options.modules) {
10860
+ finalOptions.modules =
10861
+ (baseOptions.modules || []).concat(options.modules);
10862
+ }
10863
+ // merge custom directives
10864
+ if (options.directives) {
10865
+ finalOptions.directives = extend(
10866
+ Object.create(baseOptions.directives || null),
10867
+ options.directives
10868
+ );
10869
+ }
10870
+ // copy other options
10871
+ for (var key in options) {
10872
+ if (key !== 'modules' && key !== 'directives') {
10873
+ finalOptions[key] = options[key];
10874
+ }
10875
+ }
10876
+ }
10877
+
10878
+ var compiled = baseCompile(template, finalOptions);
10879
+ if (process.env.NODE_ENV !== 'production') {
10880
+ errors.push.apply(errors, detectErrors(compiled.ast));
10881
+ }
10882
+ compiled.errors = errors;
10883
+ compiled.tips = tips;
10884
+ return compiled
10885
+ }
10886
+
10887
+ return {
10888
+ compile: compile,
10889
+ compileToFunctions: createCompileToFunctionFn(compile)
10890
+ }
10891
+ }
10892
+ }
10893
+
10894
+ /* */
10895
+
10896
+ // `createCompilerCreator` allows creating compilers that use alternative
10897
+ // parser/optimizer/codegen, e.g the SSR optimizing compiler.
10898
+ // Here we just export a default compiler using the default parts.
10899
+ var createCompiler = createCompilerCreator(function baseCompile (
10900
+ template,
10901
+ options
10902
+ ) {
10903
+ var ast = parse(template.trim(), options);
10904
+ if (options.optimize !== false) {
10905
+ optimize(ast, options);
10906
+ }
10907
+ var code = generate(ast, options);
10908
+ return {
10909
+ ast: ast,
10910
+ render: code.render,
10911
+ staticRenderFns: code.staticRenderFns
10912
+ }
10913
+ });
10914
+
10915
+ /* */
10916
+
10917
+ var ref$1 = createCompiler(baseOptions);
10918
+ var compileToFunctions = ref$1.compileToFunctions;
10919
+
10920
+ /* */
10921
+
10922
+ // check whether current browser encodes a char inside attribute values
10923
+ var div;
10924
+ function getShouldDecode (href) {
10925
+ div = div || document.createElement('div');
10926
+ div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>";
10927
+ return div.innerHTML.indexOf('&#10;') > 0
10928
+ }
10929
+
10930
+ // #3663: IE encodes newlines inside attribute values while other browsers don't
10931
+ var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;
10932
+ // #6828: chrome encodes content in a[href]
10933
+ var shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;
10934
+
10935
+ /* */
10936
+
10937
+ var idToTemplate = cached(function (id) {
10938
+ var el = query(id);
10939
+ return el && el.innerHTML
10940
+ });
10941
+
10942
+ var mount = Vue$3.prototype.$mount;
10943
+ Vue$3.prototype.$mount = function (
10944
+ el,
10945
+ hydrating
10946
+ ) {
10947
+ el = el && query(el);
10948
+
10949
+ /* istanbul ignore if */
10950
+ if (el === document.body || el === document.documentElement) {
10951
+ process.env.NODE_ENV !== 'production' && warn(
10952
+ "Do not mount Vue to <html> or <body> - mount to normal elements instead."
10953
+ );
10954
+ return this
10955
+ }
10956
+
10957
+ var options = this.$options;
10958
+ // resolve template/el and convert to render function
10959
+ if (!options.render) {
10960
+ var template = options.template;
10961
+ if (template) {
10962
+ if (typeof template === 'string') {
10963
+ if (template.charAt(0) === '#') {
10964
+ template = idToTemplate(template);
10965
+ /* istanbul ignore if */
10966
+ if (process.env.NODE_ENV !== 'production' && !template) {
10967
+ warn(
10968
+ ("Template element not found or is empty: " + (options.template)),
10969
+ this
10970
+ );
10971
+ }
10972
+ }
10973
+ } else if (template.nodeType) {
10974
+ template = template.innerHTML;
10975
+ } else {
10976
+ if (process.env.NODE_ENV !== 'production') {
10977
+ warn('invalid template option:' + template, this);
10978
+ }
10979
+ return this
10980
+ }
10981
+ } else if (el) {
10982
+ template = getOuterHTML(el);
10983
+ }
10984
+ if (template) {
10985
+ /* istanbul ignore if */
10986
+ if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
10987
+ mark('compile');
10988
+ }
10989
+
10990
+ var ref = compileToFunctions(template, {
10991
+ shouldDecodeNewlines: shouldDecodeNewlines,
10992
+ shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,
10993
+ delimiters: options.delimiters,
10994
+ comments: options.comments
10995
+ }, this);
10996
+ var render = ref.render;
10997
+ var staticRenderFns = ref.staticRenderFns;
10998
+ options.render = render;
10999
+ options.staticRenderFns = staticRenderFns;
11000
+
11001
+ /* istanbul ignore if */
11002
+ if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
11003
+ mark('compile end');
11004
+ measure(("vue " + (this._name) + " compile"), 'compile', 'compile end');
11005
+ }
11006
+ }
11007
+ }
11008
+ return mount.call(this, el, hydrating)
11009
+ };
11010
+
11011
+ /**
11012
+ * Get outerHTML of elements, taking care
11013
+ * of SVG elements in IE as well.
11014
+ */
11015
+ function getOuterHTML (el) {
11016
+ if (el.outerHTML) {
11017
+ return el.outerHTML
11018
+ } else {
11019
+ var container = document.createElement('div');
11020
+ container.appendChild(el.cloneNode(true));
11021
+ return container.innerHTML
11022
+ }
11023
+ }
11024
+
11025
+ Vue$3.compile = compileToFunctions;
11026
+
11027
+ /* harmony default export */ __webpack_exports__["default"] = (Vue$3);
11028
+
11029
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5), __webpack_require__(2), __webpack_require__(41).setImmediate))
11030
+
11031
+ /***/ }),
11032
+ /* 2 */
11033
+ /***/ (function(module, exports) {
11034
+
11035
+ var g;
11036
+
11037
+ // This works in non-strict mode
11038
+ g = (function() {
11039
+ return this;
11040
+ })();
11041
+
11042
+ try {
11043
+ // This works if eval is allowed (see CSP)
11044
+ g = g || Function("return this")() || (1,eval)("this");
11045
+ } catch(e) {
11046
+ // This works if the window reference is available
11047
+ if(typeof window === "object")
11048
+ g = window;
11049
+ }
11050
+
11051
+ // g can still be undefined, but nothing to do about it...
11052
+ // We return undefined, instead of nothing here, so it's
11053
+ // easier to handle this case. if(!global) { ...}
11054
+
11055
+ module.exports = g;
11056
+
11057
+
11058
+ /***/ }),
11059
+ /* 3 */,
11060
+ /* 4 */
11061
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
11062
+
11063
+ "use strict";
11064
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
11065
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VueCharts", function() { return VueCharts; });
11066
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_index_js__ = __webpack_require__(60);
11067
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__BaseCharts__ = __webpack_require__(61);
11068
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Bar", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["a"]; });
11069
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "HorizontalBar", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["d"]; });
11070
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Doughnut", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["c"]; });
11071
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Line", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["e"]; });
11072
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Pie", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["f"]; });
11073
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "PolarArea", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["g"]; });
11074
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Radar", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["h"]; });
11075
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Bubble", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["b"]; });
11076
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Scatter", function() { return __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["i"]; });
11077
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "mixins", function() { return __WEBPACK_IMPORTED_MODULE_0__mixins_index_js__["a"]; });
11078
+
11079
+
11080
+ var VueCharts = {
11081
+ Bar: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["a" /* Bar */],
11082
+ HorizontalBar: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["d" /* HorizontalBar */],
11083
+ Doughnut: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["c" /* Doughnut */],
11084
+ Line: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["e" /* Line */],
11085
+ Pie: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["f" /* Pie */],
11086
+ PolarArea: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["g" /* PolarArea */],
11087
+ Radar: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["h" /* Radar */],
11088
+ Bubble: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["b" /* Bubble */],
11089
+ Scatter: __WEBPACK_IMPORTED_MODULE_1__BaseCharts__["i" /* Scatter */],
11090
+ mixins: __WEBPACK_IMPORTED_MODULE_0__mixins_index_js__["a" /* default */]
11091
+ };
11092
+ /* harmony default export */ __webpack_exports__["default"] = (VueCharts);
11093
+
11094
+
11095
+ /***/ }),
11096
+ /* 5 */
11097
+ /***/ (function(module, exports) {
11098
+
11099
+ // shim for using process in browser
11100
+ var process = module.exports = {};
11101
+
11102
+ // cached from whatever global is present so that test runners that stub it
11103
+ // don't break things. But we need to wrap it in a try catch in case it is
11104
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
11105
+ // function because try/catches deoptimize in certain engines.
11106
+
11107
+ var cachedSetTimeout;
11108
+ var cachedClearTimeout;
11109
+
11110
+ function defaultSetTimout() {
11111
+ throw new Error('setTimeout has not been defined');
11112
+ }
11113
+ function defaultClearTimeout () {
11114
+ throw new Error('clearTimeout has not been defined');
11115
+ }
11116
+ (function () {
11117
+ try {
11118
+ if (typeof setTimeout === 'function') {
11119
+ cachedSetTimeout = setTimeout;
11120
+ } else {
11121
+ cachedSetTimeout = defaultSetTimout;
11122
+ }
11123
+ } catch (e) {
11124
+ cachedSetTimeout = defaultSetTimout;
11125
+ }
11126
+ try {
11127
+ if (typeof clearTimeout === 'function') {
11128
+ cachedClearTimeout = clearTimeout;
11129
+ } else {
11130
+ cachedClearTimeout = defaultClearTimeout;
11131
+ }
11132
+ } catch (e) {
11133
+ cachedClearTimeout = defaultClearTimeout;
11134
+ }
11135
+ } ())
11136
+ function runTimeout(fun) {
11137
+ if (cachedSetTimeout === setTimeout) {
11138
+ //normal enviroments in sane situations
11139
+ return setTimeout(fun, 0);
11140
+ }
11141
+ // if setTimeout wasn't available but was latter defined
11142
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
11143
+ cachedSetTimeout = setTimeout;
11144
+ return setTimeout(fun, 0);
11145
+ }
11146
+ try {
11147
+ // when when somebody has screwed with setTimeout but no I.E. maddness
11148
+ return cachedSetTimeout(fun, 0);
11149
+ } catch(e){
11150
+ try {
11151
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
11152
+ return cachedSetTimeout.call(null, fun, 0);
11153
+ } catch(e){
11154
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
11155
+ return cachedSetTimeout.call(this, fun, 0);
11156
+ }
11157
+ }
11158
+
11159
+
11160
+ }
11161
+ function runClearTimeout(marker) {
11162
+ if (cachedClearTimeout === clearTimeout) {
11163
+ //normal enviroments in sane situations
11164
+ return clearTimeout(marker);
11165
+ }
11166
+ // if clearTimeout wasn't available but was latter defined
11167
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
11168
+ cachedClearTimeout = clearTimeout;
11169
+ return clearTimeout(marker);
11170
+ }
11171
+ try {
11172
+ // when when somebody has screwed with setTimeout but no I.E. maddness
11173
+ return cachedClearTimeout(marker);
11174
+ } catch (e){
11175
+ try {
11176
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
11177
+ return cachedClearTimeout.call(null, marker);
11178
+ } catch (e){
11179
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
11180
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
11181
+ return cachedClearTimeout.call(this, marker);
11182
+ }
11183
+ }
11184
+
11185
+
11186
+
11187
+ }
11188
+ var queue = [];
11189
+ var draining = false;
11190
+ var currentQueue;
11191
+ var queueIndex = -1;
11192
+
11193
+ function cleanUpNextTick() {
11194
+ if (!draining || !currentQueue) {
11195
+ return;
11196
+ }
11197
+ draining = false;
11198
+ if (currentQueue.length) {
11199
+ queue = currentQueue.concat(queue);
11200
+ } else {
11201
+ queueIndex = -1;
11202
+ }
11203
+ if (queue.length) {
11204
+ drainQueue();
11205
+ }
11206
+ }
11207
+
11208
+ function drainQueue() {
11209
+ if (draining) {
11210
+ return;
11211
+ }
11212
+ var timeout = runTimeout(cleanUpNextTick);
11213
+ draining = true;
11214
+
11215
+ var len = queue.length;
11216
+ while(len) {
11217
+ currentQueue = queue;
11218
+ queue = [];
11219
+ while (++queueIndex < len) {
11220
+ if (currentQueue) {
11221
+ currentQueue[queueIndex].run();
11222
+ }
11223
+ }
11224
+ queueIndex = -1;
11225
+ len = queue.length;
11226
+ }
11227
+ currentQueue = null;
11228
+ draining = false;
11229
+ runClearTimeout(timeout);
11230
+ }
11231
+
11232
+ process.nextTick = function (fun) {
11233
+ var args = new Array(arguments.length - 1);
11234
+ if (arguments.length > 1) {
11235
+ for (var i = 1; i < arguments.length; i++) {
11236
+ args[i - 1] = arguments[i];
11237
+ }
11238
+ }
11239
+ queue.push(new Item(fun, args));
11240
+ if (queue.length === 1 && !draining) {
11241
+ runTimeout(drainQueue);
11242
+ }
11243
+ };
11244
+
11245
+ // v8 likes predictible objects
11246
+ function Item(fun, array) {
11247
+ this.fun = fun;
11248
+ this.array = array;
11249
+ }
11250
+ Item.prototype.run = function () {
11251
+ this.fun.apply(null, this.array);
11252
+ };
11253
+ process.title = 'browser';
11254
+ process.browser = true;
11255
+ process.env = {};
11256
+ process.argv = [];
11257
+ process.version = ''; // empty string to avoid regexp issues
11258
+ process.versions = {};
11259
+
11260
+ function noop() {}
11261
+
11262
+ process.on = noop;
11263
+ process.addListener = noop;
11264
+ process.once = noop;
11265
+ process.off = noop;
11266
+ process.removeListener = noop;
11267
+ process.removeAllListeners = noop;
11268
+ process.emit = noop;
11269
+ process.prependListener = noop;
11270
+ process.prependOnceListener = noop;
11271
+
11272
+ process.listeners = function (name) { return [] }
11273
+
11274
+ process.binding = function (name) {
11275
+ throw new Error('process.binding is not supported');
11276
+ };
11277
+
11278
+ process.cwd = function () { return '/' };
11279
+ process.chdir = function (dir) {
11280
+ throw new Error('process.chdir is not supported');
11281
+ };
11282
+ process.umask = function() { return 0; };
11283
+
11284
+
11285
+ /***/ }),
11286
+ /* 6 */
11287
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
11288
+
11289
+ "use strict";
11290
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
11291
+ /* WEBPACK VAR INJECTION */(function(process) {/**
11292
+ * vue-router v3.0.1
11293
+ * (c) 2017 Evan You
11294
+ * @license MIT
11295
+ */
11296
+ /* */
11297
+
11298
+ function assert (condition, message) {
11299
+ if (!condition) {
11300
+ throw new Error(("[vue-router] " + message))
11301
+ }
11302
+ }
11303
+
11304
+ function warn (condition, message) {
11305
+ if (process.env.NODE_ENV !== 'production' && !condition) {
11306
+ typeof console !== 'undefined' && console.warn(("[vue-router] " + message));
11307
+ }
11308
+ }
11309
+
11310
+ function isError (err) {
11311
+ return Object.prototype.toString.call(err).indexOf('Error') > -1
11312
+ }
11313
+
11314
+ var View = {
11315
+ name: 'router-view',
11316
+ functional: true,
11317
+ props: {
11318
+ name: {
11319
+ type: String,
11320
+ default: 'default'
11321
+ }
11322
+ },
11323
+ render: function render (_, ref) {
11324
+ var props = ref.props;
11325
+ var children = ref.children;
11326
+ var parent = ref.parent;
11327
+ var data = ref.data;
11328
+
11329
+ data.routerView = true;
11330
+
11331
+ // directly use parent context's createElement() function
11332
+ // so that components rendered by router-view can resolve named slots
11333
+ var h = parent.$createElement;
11334
+ var name = props.name;
11335
+ var route = parent.$route;
11336
+ var cache = parent._routerViewCache || (parent._routerViewCache = {});
11337
+
11338
+ // determine current view depth, also check to see if the tree
11339
+ // has been toggled inactive but kept-alive.
11340
+ var depth = 0;
11341
+ var inactive = false;
11342
+ while (parent && parent._routerRoot !== parent) {
11343
+ if (parent.$vnode && parent.$vnode.data.routerView) {
11344
+ depth++;
11345
+ }
11346
+ if (parent._inactive) {
11347
+ inactive = true;
11348
+ }
11349
+ parent = parent.$parent;
11350
+ }
11351
+ data.routerViewDepth = depth;
11352
+
11353
+ // render previous view if the tree is inactive and kept-alive
11354
+ if (inactive) {
11355
+ return h(cache[name], data, children)
11356
+ }
11357
+
11358
+ var matched = route.matched[depth];
11359
+ // render empty node if no matched route
11360
+ if (!matched) {
11361
+ cache[name] = null;
11362
+ return h()
11363
+ }
11364
+
11365
+ var component = cache[name] = matched.components[name];
11366
+
11367
+ // attach instance registration hook
11368
+ // this will be called in the instance's injected lifecycle hooks
11369
+ data.registerRouteInstance = function (vm, val) {
11370
+ // val could be undefined for unregistration
11371
+ var current = matched.instances[name];
11372
+ if (
11373
+ (val && current !== vm) ||
11374
+ (!val && current === vm)
11375
+ ) {
11376
+ matched.instances[name] = val;
11377
+ }
11378
+ }
11379
+
11380
+ // also register instance in prepatch hook
11381
+ // in case the same component instance is reused across different routes
11382
+ ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {
11383
+ matched.instances[name] = vnode.componentInstance;
11384
+ };
11385
+
11386
+ // resolve props
11387
+ var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);
11388
+ if (propsToPass) {
11389
+ // clone to prevent mutation
11390
+ propsToPass = data.props = extend({}, propsToPass);
11391
+ // pass non-declared props as attrs
11392
+ var attrs = data.attrs = data.attrs || {};
11393
+ for (var key in propsToPass) {
11394
+ if (!component.props || !(key in component.props)) {
11395
+ attrs[key] = propsToPass[key];
11396
+ delete propsToPass[key];
11397
+ }
11398
+ }
11399
+ }
11400
+
11401
+ return h(component, data, children)
11402
+ }
11403
+ };
11404
+
11405
+ function resolveProps (route, config) {
11406
+ switch (typeof config) {
11407
+ case 'undefined':
11408
+ return
11409
+ case 'object':
11410
+ return config
11411
+ case 'function':
11412
+ return config(route)
11413
+ case 'boolean':
11414
+ return config ? route.params : undefined
11415
+ default:
11416
+ if (process.env.NODE_ENV !== 'production') {
11417
+ warn(
11418
+ false,
11419
+ "props in \"" + (route.path) + "\" is a " + (typeof config) + ", " +
11420
+ "expecting an object, function or boolean."
11421
+ );
11422
+ }
11423
+ }
11424
+ }
11425
+
11426
+ function extend (to, from) {
11427
+ for (var key in from) {
11428
+ to[key] = from[key];
11429
+ }
11430
+ return to
11431
+ }
11432
+
11433
+ /* */
11434
+
11435
+ var encodeReserveRE = /[!'()*]/g;
11436
+ var encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };
11437
+ var commaRE = /%2C/g;
11438
+
11439
+ // fixed encodeURIComponent which is more conformant to RFC3986:
11440
+ // - escapes [!'()*]
11441
+ // - preserve commas
11442
+ var encode = function (str) { return encodeURIComponent(str)
11443
+ .replace(encodeReserveRE, encodeReserveReplacer)
11444
+ .replace(commaRE, ','); };
11445
+
11446
+ var decode = decodeURIComponent;
11447
+
11448
+ function resolveQuery (
11449
+ query,
11450
+ extraQuery,
11451
+ _parseQuery
11452
+ ) {
11453
+ if ( extraQuery === void 0 ) extraQuery = {};
11454
+
11455
+ var parse = _parseQuery || parseQuery;
11456
+ var parsedQuery;
11457
+ try {
11458
+ parsedQuery = parse(query || '');
11459
+ } catch (e) {
11460
+ process.env.NODE_ENV !== 'production' && warn(false, e.message);
11461
+ parsedQuery = {};
11462
+ }
11463
+ for (var key in extraQuery) {
11464
+ parsedQuery[key] = extraQuery[key];
11465
+ }
11466
+ return parsedQuery
11467
+ }
11468
+
11469
+ function parseQuery (query) {
11470
+ var res = {};
11471
+
11472
+ query = query.trim().replace(/^(\?|#|&)/, '');
11473
+
11474
+ if (!query) {
11475
+ return res
11476
+ }
11477
+
11478
+ query.split('&').forEach(function (param) {
11479
+ var parts = param.replace(/\+/g, ' ').split('=');
11480
+ var key = decode(parts.shift());
11481
+ var val = parts.length > 0
11482
+ ? decode(parts.join('='))
11483
+ : null;
11484
+
11485
+ if (res[key] === undefined) {
11486
+ res[key] = val;
11487
+ } else if (Array.isArray(res[key])) {
11488
+ res[key].push(val);
11489
+ } else {
11490
+ res[key] = [res[key], val];
11491
+ }
11492
+ });
11493
+
11494
+ return res
11495
+ }
11496
+
11497
+ function stringifyQuery (obj) {
11498
+ var res = obj ? Object.keys(obj).map(function (key) {
11499
+ var val = obj[key];
11500
+
11501
+ if (val === undefined) {
11502
+ return ''
11503
+ }
11504
+
11505
+ if (val === null) {
11506
+ return encode(key)
11507
+ }
11508
+
11509
+ if (Array.isArray(val)) {
11510
+ var result = [];
11511
+ val.forEach(function (val2) {
11512
+ if (val2 === undefined) {
11513
+ return
11514
+ }
11515
+ if (val2 === null) {
11516
+ result.push(encode(key));
11517
+ } else {
11518
+ result.push(encode(key) + '=' + encode(val2));
11519
+ }
11520
+ });
11521
+ return result.join('&')
11522
+ }
11523
+
11524
+ return encode(key) + '=' + encode(val)
11525
+ }).filter(function (x) { return x.length > 0; }).join('&') : null;
11526
+ return res ? ("?" + res) : ''
11527
+ }
11528
+
11529
+ /* */
11530
+
11531
+
11532
+ var trailingSlashRE = /\/?$/;
11533
+
11534
+ function createRoute (
11535
+ record,
11536
+ location,
11537
+ redirectedFrom,
11538
+ router
11539
+ ) {
11540
+ var stringifyQuery$$1 = router && router.options.stringifyQuery;
11541
+
11542
+ var query = location.query || {};
11543
+ try {
11544
+ query = clone(query);
11545
+ } catch (e) {}
11546
+
11547
+ var route = {
11548
+ name: location.name || (record && record.name),
11549
+ meta: (record && record.meta) || {},
11550
+ path: location.path || '/',
11551
+ hash: location.hash || '',
11552
+ query: query,
11553
+ params: location.params || {},
11554
+ fullPath: getFullPath(location, stringifyQuery$$1),
11555
+ matched: record ? formatMatch(record) : []
11556
+ };
11557
+ if (redirectedFrom) {
11558
+ route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);
11559
+ }
11560
+ return Object.freeze(route)
11561
+ }
11562
+
11563
+ function clone (value) {
11564
+ if (Array.isArray(value)) {
11565
+ return value.map(clone)
11566
+ } else if (value && typeof value === 'object') {
11567
+ var res = {};
11568
+ for (var key in value) {
11569
+ res[key] = clone(value[key]);
11570
+ }
11571
+ return res
11572
+ } else {
11573
+ return value
11574
+ }
11575
+ }
11576
+
11577
+ // the starting route that represents the initial state
11578
+ var START = createRoute(null, {
11579
+ path: '/'
11580
+ });
11581
+
11582
+ function formatMatch (record) {
11583
+ var res = [];
11584
+ while (record) {
11585
+ res.unshift(record);
11586
+ record = record.parent;
11587
+ }
11588
+ return res
11589
+ }
11590
+
11591
+ function getFullPath (
11592
+ ref,
11593
+ _stringifyQuery
11594
+ ) {
11595
+ var path = ref.path;
11596
+ var query = ref.query; if ( query === void 0 ) query = {};
11597
+ var hash = ref.hash; if ( hash === void 0 ) hash = '';
11598
+
11599
+ var stringify = _stringifyQuery || stringifyQuery;
11600
+ return (path || '/') + stringify(query) + hash
11601
+ }
11602
+
11603
+ function isSameRoute (a, b) {
11604
+ if (b === START) {
11605
+ return a === b
11606
+ } else if (!b) {
11607
+ return false
11608
+ } else if (a.path && b.path) {
11609
+ return (
11610
+ a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&
11611
+ a.hash === b.hash &&
11612
+ isObjectEqual(a.query, b.query)
11613
+ )
11614
+ } else if (a.name && b.name) {
11615
+ return (
11616
+ a.name === b.name &&
11617
+ a.hash === b.hash &&
11618
+ isObjectEqual(a.query, b.query) &&
11619
+ isObjectEqual(a.params, b.params)
11620
+ )
11621
+ } else {
11622
+ return false
11623
+ }
11624
+ }
11625
+
11626
+ function isObjectEqual (a, b) {
11627
+ if ( a === void 0 ) a = {};
11628
+ if ( b === void 0 ) b = {};
11629
+
11630
+ // handle null value #1566
11631
+ if (!a || !b) { return a === b }
11632
+ var aKeys = Object.keys(a);
11633
+ var bKeys = Object.keys(b);
11634
+ if (aKeys.length !== bKeys.length) {
11635
+ return false
11636
+ }
11637
+ return aKeys.every(function (key) {
11638
+ var aVal = a[key];
11639
+ var bVal = b[key];
11640
+ // check nested equality
11641
+ if (typeof aVal === 'object' && typeof bVal === 'object') {
11642
+ return isObjectEqual(aVal, bVal)
11643
+ }
11644
+ return String(aVal) === String(bVal)
11645
+ })
11646
+ }
11647
+
11648
+ function isIncludedRoute (current, target) {
11649
+ return (
11650
+ current.path.replace(trailingSlashRE, '/').indexOf(
11651
+ target.path.replace(trailingSlashRE, '/')
11652
+ ) === 0 &&
11653
+ (!target.hash || current.hash === target.hash) &&
11654
+ queryIncludes(current.query, target.query)
11655
+ )
11656
+ }
11657
+
11658
+ function queryIncludes (current, target) {
11659
+ for (var key in target) {
11660
+ if (!(key in current)) {
11661
+ return false
11662
+ }
11663
+ }
11664
+ return true
11665
+ }
11666
+
11667
+ /* */
11668
+
11669
+ // work around weird flow bug
11670
+ var toTypes = [String, Object];
11671
+ var eventTypes = [String, Array];
11672
+
11673
+ var Link = {
11674
+ name: 'router-link',
11675
+ props: {
11676
+ to: {
11677
+ type: toTypes,
11678
+ required: true
11679
+ },
11680
+ tag: {
11681
+ type: String,
11682
+ default: 'a'
11683
+ },
11684
+ exact: Boolean,
11685
+ append: Boolean,
11686
+ replace: Boolean,
11687
+ activeClass: String,
11688
+ exactActiveClass: String,
11689
+ event: {
11690
+ type: eventTypes,
11691
+ default: 'click'
11692
+ }
11693
+ },
11694
+ render: function render (h) {
11695
+ var this$1 = this;
11696
+
11697
+ var router = this.$router;
11698
+ var current = this.$route;
11699
+ var ref = router.resolve(this.to, current, this.append);
11700
+ var location = ref.location;
11701
+ var route = ref.route;
11702
+ var href = ref.href;
11703
+
11704
+ var classes = {};
11705
+ var globalActiveClass = router.options.linkActiveClass;
11706
+ var globalExactActiveClass = router.options.linkExactActiveClass;
11707
+ // Support global empty active class
11708
+ var activeClassFallback = globalActiveClass == null
11709
+ ? 'router-link-active'
11710
+ : globalActiveClass;
11711
+ var exactActiveClassFallback = globalExactActiveClass == null
11712
+ ? 'router-link-exact-active'
11713
+ : globalExactActiveClass;
11714
+ var activeClass = this.activeClass == null
11715
+ ? activeClassFallback
11716
+ : this.activeClass;
11717
+ var exactActiveClass = this.exactActiveClass == null
11718
+ ? exactActiveClassFallback
11719
+ : this.exactActiveClass;
11720
+ var compareTarget = location.path
11721
+ ? createRoute(null, location, null, router)
11722
+ : route;
11723
+
11724
+ classes[exactActiveClass] = isSameRoute(current, compareTarget);
11725
+ classes[activeClass] = this.exact
11726
+ ? classes[exactActiveClass]
11727
+ : isIncludedRoute(current, compareTarget);
11728
+
11729
+ var handler = function (e) {
11730
+ if (guardEvent(e)) {
11731
+ if (this$1.replace) {
11732
+ router.replace(location);
11733
+ } else {
11734
+ router.push(location);
11735
+ }
11736
+ }
11737
+ };
11738
+
11739
+ var on = { click: guardEvent };
11740
+ if (Array.isArray(this.event)) {
11741
+ this.event.forEach(function (e) { on[e] = handler; });
11742
+ } else {
11743
+ on[this.event] = handler;
11744
+ }
11745
+
11746
+ var data = {
11747
+ class: classes
11748
+ };
11749
+
11750
+ if (this.tag === 'a') {
11751
+ data.on = on;
11752
+ data.attrs = { href: href };
11753
+ } else {
11754
+ // find the first <a> child and apply listener and href
11755
+ var a = findAnchor(this.$slots.default);
11756
+ if (a) {
11757
+ // in case the <a> is a static node
11758
+ a.isStatic = false;
11759
+ var extend = _Vue.util.extend;
11760
+ var aData = a.data = extend({}, a.data);
11761
+ aData.on = on;
11762
+ var aAttrs = a.data.attrs = extend({}, a.data.attrs);
11763
+ aAttrs.href = href;
11764
+ } else {
11765
+ // doesn't have <a> child, apply listener to self
11766
+ data.on = on;
11767
+ }
11768
+ }
11769
+
11770
+ return h(this.tag, data, this.$slots.default)
11771
+ }
11772
+ };
11773
+
11774
+ function guardEvent (e) {
11775
+ // don't redirect with control keys
11776
+ if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }
11777
+ // don't redirect when preventDefault called
11778
+ if (e.defaultPrevented) { return }
11779
+ // don't redirect on right click
11780
+ if (e.button !== undefined && e.button !== 0) { return }
11781
+ // don't redirect if `target="_blank"`
11782
+ if (e.currentTarget && e.currentTarget.getAttribute) {
11783
+ var target = e.currentTarget.getAttribute('target');
11784
+ if (/\b_blank\b/i.test(target)) { return }
11785
+ }
11786
+ // this may be a Weex event which doesn't have this method
11787
+ if (e.preventDefault) {
11788
+ e.preventDefault();
11789
+ }
11790
+ return true
11791
+ }
11792
+
11793
+ function findAnchor (children) {
11794
+ if (children) {
11795
+ var child;
11796
+ for (var i = 0; i < children.length; i++) {
11797
+ child = children[i];
11798
+ if (child.tag === 'a') {
11799
+ return child
11800
+ }
11801
+ if (child.children && (child = findAnchor(child.children))) {
11802
+ return child
11803
+ }
11804
+ }
11805
+ }
11806
+ }
11807
+
11808
+ var _Vue;
11809
+
11810
+ function install (Vue) {
11811
+ if (install.installed && _Vue === Vue) { return }
11812
+ install.installed = true;
11813
+
11814
+ _Vue = Vue;
11815
+
11816
+ var isDef = function (v) { return v !== undefined; };
11817
+
11818
+ var registerInstance = function (vm, callVal) {
11819
+ var i = vm.$options._parentVnode;
11820
+ if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {
11821
+ i(vm, callVal);
11822
+ }
11823
+ };
11824
+
11825
+ Vue.mixin({
11826
+ beforeCreate: function beforeCreate () {
11827
+ if (isDef(this.$options.router)) {
11828
+ this._routerRoot = this;
11829
+ this._router = this.$options.router;
11830
+ this._router.init(this);
11831
+ Vue.util.defineReactive(this, '_route', this._router.history.current);
11832
+ } else {
11833
+ this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;
11834
+ }
11835
+ registerInstance(this, this);
11836
+ },
11837
+ destroyed: function destroyed () {
11838
+ registerInstance(this);
11839
+ }
11840
+ });
11841
+
11842
+ Object.defineProperty(Vue.prototype, '$router', {
11843
+ get: function get () { return this._routerRoot._router }
11844
+ });
11845
+
11846
+ Object.defineProperty(Vue.prototype, '$route', {
11847
+ get: function get () { return this._routerRoot._route }
11848
+ });
11849
+
11850
+ Vue.component('router-view', View);
11851
+ Vue.component('router-link', Link);
11852
+
11853
+ var strats = Vue.config.optionMergeStrategies;
11854
+ // use the same hook merging strategy for route hooks
11855
+ strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;
11856
+ }
11857
+
11858
+ /* */
11859
+
11860
+ var inBrowser = typeof window !== 'undefined';
11861
+
11862
+ /* */
11863
+
11864
+ function resolvePath (
11865
+ relative,
11866
+ base,
11867
+ append
11868
+ ) {
11869
+ var firstChar = relative.charAt(0);
11870
+ if (firstChar === '/') {
11871
+ return relative
11872
+ }
11873
+
11874
+ if (firstChar === '?' || firstChar === '#') {
11875
+ return base + relative
11876
+ }
11877
+
11878
+ var stack = base.split('/');
11879
+
11880
+ // remove trailing segment if:
11881
+ // - not appending
11882
+ // - appending to trailing slash (last segment is empty)
11883
+ if (!append || !stack[stack.length - 1]) {
11884
+ stack.pop();
11885
+ }
11886
+
11887
+ // resolve relative path
11888
+ var segments = relative.replace(/^\//, '').split('/');
11889
+ for (var i = 0; i < segments.length; i++) {
11890
+ var segment = segments[i];
11891
+ if (segment === '..') {
11892
+ stack.pop();
11893
+ } else if (segment !== '.') {
11894
+ stack.push(segment);
11895
+ }
11896
+ }
11897
+
11898
+ // ensure leading slash
11899
+ if (stack[0] !== '') {
11900
+ stack.unshift('');
11901
+ }
11902
+
11903
+ return stack.join('/')
11904
+ }
11905
+
11906
+ function parsePath (path) {
11907
+ var hash = '';
11908
+ var query = '';
11909
+
11910
+ var hashIndex = path.indexOf('#');
11911
+ if (hashIndex >= 0) {
11912
+ hash = path.slice(hashIndex);
11913
+ path = path.slice(0, hashIndex);
11914
+ }
11915
+
11916
+ var queryIndex = path.indexOf('?');
11917
+ if (queryIndex >= 0) {
11918
+ query = path.slice(queryIndex + 1);
11919
+ path = path.slice(0, queryIndex);
11920
+ }
11921
+
11922
+ return {
11923
+ path: path,
11924
+ query: query,
11925
+ hash: hash
11926
+ }
11927
+ }
11928
+
11929
+ function cleanPath (path) {
11930
+ return path.replace(/\/\//g, '/')
11931
+ }
11932
+
11933
+ var isarray = Array.isArray || function (arr) {
11934
+ return Object.prototype.toString.call(arr) == '[object Array]';
11935
+ };
11936
+
11937
+ /**
11938
+ * Expose `pathToRegexp`.
11939
+ */
11940
+ var pathToRegexp_1 = pathToRegexp;
11941
+ var parse_1 = parse;
11942
+ var compile_1 = compile;
11943
+ var tokensToFunction_1 = tokensToFunction;
11944
+ var tokensToRegExp_1 = tokensToRegExp;
11945
+
11946
+ /**
11947
+ * The main path matching regexp utility.
11948
+ *
11949
+ * @type {RegExp}
11950
+ */
11951
+ var PATH_REGEXP = new RegExp([
11952
+ // Match escaped characters that would otherwise appear in future matches.
11953
+ // This allows the user to escape special characters that won't transform.
11954
+ '(\\\\.)',
11955
+ // Match Express-style parameters and un-named parameters with a prefix
11956
+ // and optional suffixes. Matches appear as:
11957
+ //
11958
+ // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
11959
+ // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
11960
+ // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
11961
+ '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
11962
+ ].join('|'), 'g');
11963
+
11964
+ /**
11965
+ * Parse a string for the raw tokens.
11966
+ *
11967
+ * @param {string} str
11968
+ * @param {Object=} options
11969
+ * @return {!Array}
11970
+ */
11971
+ function parse (str, options) {
11972
+ var tokens = [];
11973
+ var key = 0;
11974
+ var index = 0;
11975
+ var path = '';
11976
+ var defaultDelimiter = options && options.delimiter || '/';
11977
+ var res;
11978
+
11979
+ while ((res = PATH_REGEXP.exec(str)) != null) {
11980
+ var m = res[0];
11981
+ var escaped = res[1];
11982
+ var offset = res.index;
11983
+ path += str.slice(index, offset);
11984
+ index = offset + m.length;
11985
+
11986
+ // Ignore already escaped sequences.
11987
+ if (escaped) {
11988
+ path += escaped[1];
11989
+ continue
11990
+ }
11991
+
11992
+ var next = str[index];
11993
+ var prefix = res[2];
11994
+ var name = res[3];
11995
+ var capture = res[4];
11996
+ var group = res[5];
11997
+ var modifier = res[6];
11998
+ var asterisk = res[7];
11999
+
12000
+ // Push the current path onto the tokens.
12001
+ if (path) {
12002
+ tokens.push(path);
12003
+ path = '';
12004
+ }
12005
+
12006
+ var partial = prefix != null && next != null && next !== prefix;
12007
+ var repeat = modifier === '+' || modifier === '*';
12008
+ var optional = modifier === '?' || modifier === '*';
12009
+ var delimiter = res[2] || defaultDelimiter;
12010
+ var pattern = capture || group;
12011
+
12012
+ tokens.push({
12013
+ name: name || key++,
12014
+ prefix: prefix || '',
12015
+ delimiter: delimiter,
12016
+ optional: optional,
12017
+ repeat: repeat,
12018
+ partial: partial,
12019
+ asterisk: !!asterisk,
12020
+ pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')
12021
+ });
12022
+ }
12023
+
12024
+ // Match any characters still remaining.
12025
+ if (index < str.length) {
12026
+ path += str.substr(index);
12027
+ }
12028
+
12029
+ // If the path exists, push it onto the end.
12030
+ if (path) {
12031
+ tokens.push(path);
12032
+ }
12033
+
12034
+ return tokens
12035
+ }
12036
+
12037
+ /**
12038
+ * Compile a string to a template function for the path.
12039
+ *
12040
+ * @param {string} str
12041
+ * @param {Object=} options
12042
+ * @return {!function(Object=, Object=)}
12043
+ */
12044
+ function compile (str, options) {
12045
+ return tokensToFunction(parse(str, options))
12046
+ }
12047
+
12048
+ /**
12049
+ * Prettier encoding of URI path segments.
12050
+ *
12051
+ * @param {string}
12052
+ * @return {string}
12053
+ */
12054
+ function encodeURIComponentPretty (str) {
12055
+ return encodeURI(str).replace(/[\/?#]/g, function (c) {
12056
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
12057
+ })
12058
+ }
12059
+
12060
+ /**
12061
+ * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
12062
+ *
12063
+ * @param {string}
12064
+ * @return {string}
12065
+ */
12066
+ function encodeAsterisk (str) {
12067
+ return encodeURI(str).replace(/[?#]/g, function (c) {
12068
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
12069
+ })
12070
+ }
12071
+
12072
+ /**
12073
+ * Expose a method for transforming tokens into the path function.
12074
+ */
12075
+ function tokensToFunction (tokens) {
12076
+ // Compile all the tokens into regexps.
12077
+ var matches = new Array(tokens.length);
12078
+
12079
+ // Compile all the patterns before compilation.
12080
+ for (var i = 0; i < tokens.length; i++) {
12081
+ if (typeof tokens[i] === 'object') {
12082
+ matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');
12083
+ }
12084
+ }
12085
+
12086
+ return function (obj, opts) {
12087
+ var path = '';
12088
+ var data = obj || {};
12089
+ var options = opts || {};
12090
+ var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;
12091
+
12092
+ for (var i = 0; i < tokens.length; i++) {
12093
+ var token = tokens[i];
12094
+
12095
+ if (typeof token === 'string') {
12096
+ path += token;
12097
+
12098
+ continue
12099
+ }
12100
+
12101
+ var value = data[token.name];
12102
+ var segment;
12103
+
12104
+ if (value == null) {
12105
+ if (token.optional) {
12106
+ // Prepend partial segment prefixes.
12107
+ if (token.partial) {
12108
+ path += token.prefix;
12109
+ }
12110
+
12111
+ continue
12112
+ } else {
12113
+ throw new TypeError('Expected "' + token.name + '" to be defined')
12114
+ }
12115
+ }
12116
+
12117
+ if (isarray(value)) {
12118
+ if (!token.repeat) {
12119
+ throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
12120
+ }
12121
+
12122
+ if (value.length === 0) {
12123
+ if (token.optional) {
12124
+ continue
12125
+ } else {
12126
+ throw new TypeError('Expected "' + token.name + '" to not be empty')
12127
+ }
12128
+ }
12129
+
12130
+ for (var j = 0; j < value.length; j++) {
12131
+ segment = encode(value[j]);
12132
+
12133
+ if (!matches[i].test(segment)) {
12134
+ throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`')
12135
+ }
12136
+
12137
+ path += (j === 0 ? token.prefix : token.delimiter) + segment;
12138
+ }
12139
+
12140
+ continue
12141
+ }
12142
+
12143
+ segment = token.asterisk ? encodeAsterisk(value) : encode(value);
12144
+
12145
+ if (!matches[i].test(segment)) {
12146
+ throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"')
12147
+ }
12148
+
12149
+ path += token.prefix + segment;
12150
+ }
12151
+
12152
+ return path
12153
+ }
12154
+ }
12155
+
12156
+ /**
12157
+ * Escape a regular expression string.
12158
+ *
12159
+ * @param {string} str
12160
+ * @return {string}
12161
+ */
12162
+ function escapeString (str) {
12163
+ return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1')
12164
+ }
12165
+
12166
+ /**
12167
+ * Escape the capturing group by escaping special characters and meaning.
12168
+ *
12169
+ * @param {string} group
12170
+ * @return {string}
12171
+ */
12172
+ function escapeGroup (group) {
12173
+ return group.replace(/([=!:$\/()])/g, '\\$1')
12174
+ }
12175
+
12176
+ /**
12177
+ * Attach the keys as a property of the regexp.
12178
+ *
12179
+ * @param {!RegExp} re
12180
+ * @param {Array} keys
12181
+ * @return {!RegExp}
12182
+ */
12183
+ function attachKeys (re, keys) {
12184
+ re.keys = keys;
12185
+ return re
12186
+ }
12187
+
12188
+ /**
12189
+ * Get the flags for a regexp from the options.
12190
+ *
12191
+ * @param {Object} options
12192
+ * @return {string}
12193
+ */
12194
+ function flags (options) {
12195
+ return options.sensitive ? '' : 'i'
12196
+ }
12197
+
12198
+ /**
12199
+ * Pull out keys from a regexp.
12200
+ *
12201
+ * @param {!RegExp} path
12202
+ * @param {!Array} keys
12203
+ * @return {!RegExp}
12204
+ */
12205
+ function regexpToRegexp (path, keys) {
12206
+ // Use a negative lookahead to match only capturing groups.
12207
+ var groups = path.source.match(/\((?!\?)/g);
12208
+
12209
+ if (groups) {
12210
+ for (var i = 0; i < groups.length; i++) {
12211
+ keys.push({
12212
+ name: i,
12213
+ prefix: null,
12214
+ delimiter: null,
12215
+ optional: false,
12216
+ repeat: false,
12217
+ partial: false,
12218
+ asterisk: false,
12219
+ pattern: null
12220
+ });
12221
+ }
12222
+ }
12223
+
12224
+ return attachKeys(path, keys)
12225
+ }
12226
+
12227
+ /**
12228
+ * Transform an array into a regexp.
12229
+ *
12230
+ * @param {!Array} path
12231
+ * @param {Array} keys
12232
+ * @param {!Object} options
12233
+ * @return {!RegExp}
12234
+ */
12235
+ function arrayToRegexp (path, keys, options) {
12236
+ var parts = [];
12237
+
12238
+ for (var i = 0; i < path.length; i++) {
12239
+ parts.push(pathToRegexp(path[i], keys, options).source);
12240
+ }
12241
+
12242
+ var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));
12243
+
12244
+ return attachKeys(regexp, keys)
12245
+ }
12246
+
12247
+ /**
12248
+ * Create a path regexp from string input.
12249
+ *
12250
+ * @param {string} path
12251
+ * @param {!Array} keys
12252
+ * @param {!Object} options
12253
+ * @return {!RegExp}
12254
+ */
12255
+ function stringToRegexp (path, keys, options) {
12256
+ return tokensToRegExp(parse(path, options), keys, options)
12257
+ }
12258
+
12259
+ /**
12260
+ * Expose a function for taking tokens and returning a RegExp.
12261
+ *
12262
+ * @param {!Array} tokens
12263
+ * @param {(Array|Object)=} keys
12264
+ * @param {Object=} options
12265
+ * @return {!RegExp}
12266
+ */
12267
+ function tokensToRegExp (tokens, keys, options) {
12268
+ if (!isarray(keys)) {
12269
+ options = /** @type {!Object} */ (keys || options);
12270
+ keys = [];
12271
+ }
12272
+
12273
+ options = options || {};
12274
+
12275
+ var strict = options.strict;
12276
+ var end = options.end !== false;
12277
+ var route = '';
12278
+
12279
+ // Iterate over the tokens and create our regexp string.
12280
+ for (var i = 0; i < tokens.length; i++) {
12281
+ var token = tokens[i];
12282
+
12283
+ if (typeof token === 'string') {
12284
+ route += escapeString(token);
12285
+ } else {
12286
+ var prefix = escapeString(token.prefix);
12287
+ var capture = '(?:' + token.pattern + ')';
12288
+
12289
+ keys.push(token);
12290
+
12291
+ if (token.repeat) {
12292
+ capture += '(?:' + prefix + capture + ')*';
12293
+ }
12294
+
12295
+ if (token.optional) {
12296
+ if (!token.partial) {
12297
+ capture = '(?:' + prefix + '(' + capture + '))?';
12298
+ } else {
12299
+ capture = prefix + '(' + capture + ')?';
12300
+ }
12301
+ } else {
12302
+ capture = prefix + '(' + capture + ')';
12303
+ }
12304
+
12305
+ route += capture;
12306
+ }
12307
+ }
12308
+
12309
+ var delimiter = escapeString(options.delimiter || '/');
12310
+ var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;
12311
+
12312
+ // In non-strict mode we allow a slash at the end of match. If the path to
12313
+ // match already ends with a slash, we remove it for consistency. The slash
12314
+ // is valid at the end of a path match, not in the middle. This is important
12315
+ // in non-ending mode, where "/test/" shouldn't match "/test//route".
12316
+ if (!strict) {
12317
+ route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';
12318
+ }
12319
+
12320
+ if (end) {
12321
+ route += '$';
12322
+ } else {
12323
+ // In non-ending mode, we need the capturing groups to match as much as
12324
+ // possible by using a positive lookahead to the end or next path segment.
12325
+ route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';
12326
+ }
12327
+
12328
+ return attachKeys(new RegExp('^' + route, flags(options)), keys)
12329
+ }
12330
+
12331
+ /**
12332
+ * Normalize the given path string, returning a regular expression.
12333
+ *
12334
+ * An empty array can be passed in for the keys, which will hold the
12335
+ * placeholder key descriptions. For example, using `/user/:id`, `keys` will
12336
+ * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
12337
+ *
12338
+ * @param {(string|RegExp|Array)} path
12339
+ * @param {(Array|Object)=} keys
12340
+ * @param {Object=} options
12341
+ * @return {!RegExp}
12342
+ */
12343
+ function pathToRegexp (path, keys, options) {
12344
+ if (!isarray(keys)) {
12345
+ options = /** @type {!Object} */ (keys || options);
12346
+ keys = [];
12347
+ }
12348
+
12349
+ options = options || {};
12350
+
12351
+ if (path instanceof RegExp) {
12352
+ return regexpToRegexp(path, /** @type {!Array} */ (keys))
12353
+ }
12354
+
12355
+ if (isarray(path)) {
12356
+ return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
12357
+ }
12358
+
12359
+ return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
12360
+ }
12361
+
12362
+ pathToRegexp_1.parse = parse_1;
12363
+ pathToRegexp_1.compile = compile_1;
12364
+ pathToRegexp_1.tokensToFunction = tokensToFunction_1;
12365
+ pathToRegexp_1.tokensToRegExp = tokensToRegExp_1;
12366
+
12367
+ /* */
12368
+
12369
+ // $flow-disable-line
12370
+ var regexpCompileCache = Object.create(null);
12371
+
12372
+ function fillParams (
12373
+ path,
12374
+ params,
12375
+ routeMsg
12376
+ ) {
12377
+ try {
12378
+ var filler =
12379
+ regexpCompileCache[path] ||
12380
+ (regexpCompileCache[path] = pathToRegexp_1.compile(path));
12381
+ return filler(params || {}, { pretty: true })
12382
+ } catch (e) {
12383
+ if (process.env.NODE_ENV !== 'production') {
12384
+ warn(false, ("missing param for " + routeMsg + ": " + (e.message)));
12385
+ }
12386
+ return ''
12387
+ }
12388
+ }
12389
+
12390
+ /* */
12391
+
12392
+ function createRouteMap (
12393
+ routes,
12394
+ oldPathList,
12395
+ oldPathMap,
12396
+ oldNameMap
12397
+ ) {
12398
+ // the path list is used to control path matching priority
12399
+ var pathList = oldPathList || [];
12400
+ // $flow-disable-line
12401
+ var pathMap = oldPathMap || Object.create(null);
12402
+ // $flow-disable-line
12403
+ var nameMap = oldNameMap || Object.create(null);
12404
+
12405
+ routes.forEach(function (route) {
12406
+ addRouteRecord(pathList, pathMap, nameMap, route);
12407
+ });
12408
+
12409
+ // ensure wildcard routes are always at the end
12410
+ for (var i = 0, l = pathList.length; i < l; i++) {
12411
+ if (pathList[i] === '*') {
12412
+ pathList.push(pathList.splice(i, 1)[0]);
12413
+ l--;
12414
+ i--;
12415
+ }
12416
+ }
12417
+
12418
+ return {
12419
+ pathList: pathList,
12420
+ pathMap: pathMap,
12421
+ nameMap: nameMap
12422
+ }
12423
+ }
12424
+
12425
+ function addRouteRecord (
12426
+ pathList,
12427
+ pathMap,
12428
+ nameMap,
12429
+ route,
12430
+ parent,
12431
+ matchAs
12432
+ ) {
12433
+ var path = route.path;
12434
+ var name = route.name;
12435
+ if (process.env.NODE_ENV !== 'production') {
12436
+ assert(path != null, "\"path\" is required in a route configuration.");
12437
+ assert(
12438
+ typeof route.component !== 'string',
12439
+ "route config \"component\" for path: " + (String(path || name)) + " cannot be a " +
12440
+ "string id. Use an actual component instead."
12441
+ );
12442
+ }
12443
+
12444
+ var pathToRegexpOptions = route.pathToRegexpOptions || {};
12445
+ var normalizedPath = normalizePath(
12446
+ path,
12447
+ parent,
12448
+ pathToRegexpOptions.strict
12449
+ );
12450
+
12451
+ if (typeof route.caseSensitive === 'boolean') {
12452
+ pathToRegexpOptions.sensitive = route.caseSensitive;
12453
+ }
12454
+
12455
+ var record = {
12456
+ path: normalizedPath,
12457
+ regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),
12458
+ components: route.components || { default: route.component },
12459
+ instances: {},
12460
+ name: name,
12461
+ parent: parent,
12462
+ matchAs: matchAs,
12463
+ redirect: route.redirect,
12464
+ beforeEnter: route.beforeEnter,
12465
+ meta: route.meta || {},
12466
+ props: route.props == null
12467
+ ? {}
12468
+ : route.components
12469
+ ? route.props
12470
+ : { default: route.props }
12471
+ };
12472
+
12473
+ if (route.children) {
12474
+ // Warn if route is named, does not redirect and has a default child route.
12475
+ // If users navigate to this route by name, the default child will
12476
+ // not be rendered (GH Issue #629)
12477
+ if (process.env.NODE_ENV !== 'production') {
12478
+ if (route.name && !route.redirect && route.children.some(function (child) { return /^\/?$/.test(child.path); })) {
12479
+ warn(
12480
+ false,
12481
+ "Named Route '" + (route.name) + "' has a default child route. " +
12482
+ "When navigating to this named route (:to=\"{name: '" + (route.name) + "'\"), " +
12483
+ "the default child route will not be rendered. Remove the name from " +
12484
+ "this route and use the name of the default child route for named " +
12485
+ "links instead."
12486
+ );
12487
+ }
12488
+ }
12489
+ route.children.forEach(function (child) {
12490
+ var childMatchAs = matchAs
12491
+ ? cleanPath((matchAs + "/" + (child.path)))
12492
+ : undefined;
12493
+ addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);
12494
+ });
12495
+ }
12496
+
12497
+ if (route.alias !== undefined) {
12498
+ var aliases = Array.isArray(route.alias)
12499
+ ? route.alias
12500
+ : [route.alias];
12501
+
12502
+ aliases.forEach(function (alias) {
12503
+ var aliasRoute = {
12504
+ path: alias,
12505
+ children: route.children
12506
+ };
12507
+ addRouteRecord(
12508
+ pathList,
12509
+ pathMap,
12510
+ nameMap,
12511
+ aliasRoute,
12512
+ parent,
12513
+ record.path || '/' // matchAs
12514
+ );
12515
+ });
12516
+ }
12517
+
12518
+ if (!pathMap[record.path]) {
12519
+ pathList.push(record.path);
12520
+ pathMap[record.path] = record;
12521
+ }
12522
+
12523
+ if (name) {
12524
+ if (!nameMap[name]) {
12525
+ nameMap[name] = record;
12526
+ } else if (process.env.NODE_ENV !== 'production' && !matchAs) {
12527
+ warn(
12528
+ false,
12529
+ "Duplicate named routes definition: " +
12530
+ "{ name: \"" + name + "\", path: \"" + (record.path) + "\" }"
12531
+ );
12532
+ }
12533
+ }
12534
+ }
12535
+
12536
+ function compileRouteRegex (path, pathToRegexpOptions) {
12537
+ var regex = pathToRegexp_1(path, [], pathToRegexpOptions);
12538
+ if (process.env.NODE_ENV !== 'production') {
12539
+ var keys = Object.create(null);
12540
+ regex.keys.forEach(function (key) {
12541
+ warn(!keys[key.name], ("Duplicate param keys in route with path: \"" + path + "\""));
12542
+ keys[key.name] = true;
12543
+ });
12544
+ }
12545
+ return regex
12546
+ }
12547
+
12548
+ function normalizePath (path, parent, strict) {
12549
+ if (!strict) { path = path.replace(/\/$/, ''); }
12550
+ if (path[0] === '/') { return path }
12551
+ if (parent == null) { return path }
12552
+ return cleanPath(((parent.path) + "/" + path))
12553
+ }
12554
+
12555
+ /* */
12556
+
12557
+
12558
+ function normalizeLocation (
12559
+ raw,
12560
+ current,
12561
+ append,
12562
+ router
12563
+ ) {
12564
+ var next = typeof raw === 'string' ? { path: raw } : raw;
12565
+ // named target
12566
+ if (next.name || next._normalized) {
12567
+ return next
12568
+ }
12569
+
12570
+ // relative params
12571
+ if (!next.path && next.params && current) {
12572
+ next = assign({}, next);
12573
+ next._normalized = true;
12574
+ var params = assign(assign({}, current.params), next.params);
12575
+ if (current.name) {
12576
+ next.name = current.name;
12577
+ next.params = params;
12578
+ } else if (current.matched.length) {
12579
+ var rawPath = current.matched[current.matched.length - 1].path;
12580
+ next.path = fillParams(rawPath, params, ("path " + (current.path)));
12581
+ } else if (process.env.NODE_ENV !== 'production') {
12582
+ warn(false, "relative params navigation requires a current route.");
12583
+ }
12584
+ return next
12585
+ }
12586
+
12587
+ var parsedPath = parsePath(next.path || '');
12588
+ var basePath = (current && current.path) || '/';
12589
+ var path = parsedPath.path
12590
+ ? resolvePath(parsedPath.path, basePath, append || next.append)
12591
+ : basePath;
12592
+
12593
+ var query = resolveQuery(
12594
+ parsedPath.query,
12595
+ next.query,
12596
+ router && router.options.parseQuery
12597
+ );
12598
+
12599
+ var hash = next.hash || parsedPath.hash;
12600
+ if (hash && hash.charAt(0) !== '#') {
12601
+ hash = "#" + hash;
12602
+ }
12603
+
12604
+ return {
12605
+ _normalized: true,
12606
+ path: path,
12607
+ query: query,
12608
+ hash: hash
12609
+ }
12610
+ }
12611
+
12612
+ function assign (a, b) {
12613
+ for (var key in b) {
12614
+ a[key] = b[key];
12615
+ }
12616
+ return a
12617
+ }
12618
+
12619
+ /* */
12620
+
12621
+
12622
+ function createMatcher (
12623
+ routes,
12624
+ router
12625
+ ) {
12626
+ var ref = createRouteMap(routes);
12627
+ var pathList = ref.pathList;
12628
+ var pathMap = ref.pathMap;
12629
+ var nameMap = ref.nameMap;
12630
+
12631
+ function addRoutes (routes) {
12632
+ createRouteMap(routes, pathList, pathMap, nameMap);
12633
+ }
12634
+
12635
+ function match (
12636
+ raw,
12637
+ currentRoute,
12638
+ redirectedFrom
12639
+ ) {
12640
+ var location = normalizeLocation(raw, currentRoute, false, router);
12641
+ var name = location.name;
12642
+
12643
+ if (name) {
12644
+ var record = nameMap[name];
12645
+ if (process.env.NODE_ENV !== 'production') {
12646
+ warn(record, ("Route with name '" + name + "' does not exist"));
12647
+ }
12648
+ if (!record) { return _createRoute(null, location) }
12649
+ var paramNames = record.regex.keys
12650
+ .filter(function (key) { return !key.optional; })
12651
+ .map(function (key) { return key.name; });
12652
+
12653
+ if (typeof location.params !== 'object') {
12654
+ location.params = {};
12655
+ }
12656
+
12657
+ if (currentRoute && typeof currentRoute.params === 'object') {
12658
+ for (var key in currentRoute.params) {
12659
+ if (!(key in location.params) && paramNames.indexOf(key) > -1) {
12660
+ location.params[key] = currentRoute.params[key];
12661
+ }
12662
+ }
12663
+ }
12664
+
12665
+ if (record) {
12666
+ location.path = fillParams(record.path, location.params, ("named route \"" + name + "\""));
12667
+ return _createRoute(record, location, redirectedFrom)
12668
+ }
12669
+ } else if (location.path) {
12670
+ location.params = {};
12671
+ for (var i = 0; i < pathList.length; i++) {
12672
+ var path = pathList[i];
12673
+ var record$1 = pathMap[path];
12674
+ if (matchRoute(record$1.regex, location.path, location.params)) {
12675
+ return _createRoute(record$1, location, redirectedFrom)
12676
+ }
12677
+ }
12678
+ }
12679
+ // no match
12680
+ return _createRoute(null, location)
12681
+ }
12682
+
12683
+ function redirect (
12684
+ record,
12685
+ location
12686
+ ) {
12687
+ var originalRedirect = record.redirect;
12688
+ var redirect = typeof originalRedirect === 'function'
12689
+ ? originalRedirect(createRoute(record, location, null, router))
12690
+ : originalRedirect;
12691
+
12692
+ if (typeof redirect === 'string') {
12693
+ redirect = { path: redirect };
12694
+ }
12695
+
12696
+ if (!redirect || typeof redirect !== 'object') {
12697
+ if (process.env.NODE_ENV !== 'production') {
12698
+ warn(
12699
+ false, ("invalid redirect option: " + (JSON.stringify(redirect)))
12700
+ );
12701
+ }
12702
+ return _createRoute(null, location)
12703
+ }
12704
+
12705
+ var re = redirect;
12706
+ var name = re.name;
12707
+ var path = re.path;
12708
+ var query = location.query;
12709
+ var hash = location.hash;
12710
+ var params = location.params;
12711
+ query = re.hasOwnProperty('query') ? re.query : query;
12712
+ hash = re.hasOwnProperty('hash') ? re.hash : hash;
12713
+ params = re.hasOwnProperty('params') ? re.params : params;
12714
+
12715
+ if (name) {
12716
+ // resolved named direct
12717
+ var targetRecord = nameMap[name];
12718
+ if (process.env.NODE_ENV !== 'production') {
12719
+ assert(targetRecord, ("redirect failed: named route \"" + name + "\" not found."));
12720
+ }
12721
+ return match({
12722
+ _normalized: true,
12723
+ name: name,
12724
+ query: query,
12725
+ hash: hash,
12726
+ params: params
12727
+ }, undefined, location)
12728
+ } else if (path) {
12729
+ // 1. resolve relative redirect
12730
+ var rawPath = resolveRecordPath(path, record);
12731
+ // 2. resolve params
12732
+ var resolvedPath = fillParams(rawPath, params, ("redirect route with path \"" + rawPath + "\""));
12733
+ // 3. rematch with existing query and hash
12734
+ return match({
12735
+ _normalized: true,
12736
+ path: resolvedPath,
12737
+ query: query,
12738
+ hash: hash
12739
+ }, undefined, location)
12740
+ } else {
12741
+ if (process.env.NODE_ENV !== 'production') {
12742
+ warn(false, ("invalid redirect option: " + (JSON.stringify(redirect))));
12743
+ }
12744
+ return _createRoute(null, location)
12745
+ }
12746
+ }
12747
+
12748
+ function alias (
12749
+ record,
12750
+ location,
12751
+ matchAs
12752
+ ) {
12753
+ var aliasedPath = fillParams(matchAs, location.params, ("aliased route with path \"" + matchAs + "\""));
12754
+ var aliasedMatch = match({
12755
+ _normalized: true,
12756
+ path: aliasedPath
12757
+ });
12758
+ if (aliasedMatch) {
12759
+ var matched = aliasedMatch.matched;
12760
+ var aliasedRecord = matched[matched.length - 1];
12761
+ location.params = aliasedMatch.params;
12762
+ return _createRoute(aliasedRecord, location)
12763
+ }
12764
+ return _createRoute(null, location)
12765
+ }
12766
+
12767
+ function _createRoute (
12768
+ record,
12769
+ location,
12770
+ redirectedFrom
12771
+ ) {
12772
+ if (record && record.redirect) {
12773
+ return redirect(record, redirectedFrom || location)
12774
+ }
12775
+ if (record && record.matchAs) {
12776
+ return alias(record, location, record.matchAs)
12777
+ }
12778
+ return createRoute(record, location, redirectedFrom, router)
12779
+ }
12780
+
12781
+ return {
12782
+ match: match,
12783
+ addRoutes: addRoutes
12784
+ }
12785
+ }
12786
+
12787
+ function matchRoute (
12788
+ regex,
12789
+ path,
12790
+ params
12791
+ ) {
12792
+ var m = path.match(regex);
12793
+
12794
+ if (!m) {
12795
+ return false
12796
+ } else if (!params) {
12797
+ return true
12798
+ }
12799
+
12800
+ for (var i = 1, len = m.length; i < len; ++i) {
12801
+ var key = regex.keys[i - 1];
12802
+ var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];
12803
+ if (key) {
12804
+ params[key.name] = val;
12805
+ }
12806
+ }
12807
+
12808
+ return true
12809
+ }
12810
+
12811
+ function resolveRecordPath (path, record) {
12812
+ return resolvePath(path, record.parent ? record.parent.path : '/', true)
12813
+ }
12814
+
12815
+ /* */
12816
+
12817
+
12818
+ var positionStore = Object.create(null);
12819
+
12820
+ function setupScroll () {
12821
+ // Fix for #1585 for Firefox
12822
+ window.history.replaceState({ key: getStateKey() }, '');
12823
+ window.addEventListener('popstate', function (e) {
12824
+ saveScrollPosition();
12825
+ if (e.state && e.state.key) {
12826
+ setStateKey(e.state.key);
12827
+ }
12828
+ });
12829
+ }
12830
+
12831
+ function handleScroll (
12832
+ router,
12833
+ to,
12834
+ from,
12835
+ isPop
12836
+ ) {
12837
+ if (!router.app) {
12838
+ return
12839
+ }
12840
+
12841
+ var behavior = router.options.scrollBehavior;
12842
+ if (!behavior) {
12843
+ return
12844
+ }
12845
+
12846
+ if (process.env.NODE_ENV !== 'production') {
12847
+ assert(typeof behavior === 'function', "scrollBehavior must be a function");
12848
+ }
12849
+
12850
+ // wait until re-render finishes before scrolling
12851
+ router.app.$nextTick(function () {
12852
+ var position = getScrollPosition();
12853
+ var shouldScroll = behavior(to, from, isPop ? position : null);
12854
+
12855
+ if (!shouldScroll) {
12856
+ return
12857
+ }
12858
+
12859
+ if (typeof shouldScroll.then === 'function') {
12860
+ shouldScroll.then(function (shouldScroll) {
12861
+ scrollToPosition((shouldScroll), position);
12862
+ }).catch(function (err) {
12863
+ if (process.env.NODE_ENV !== 'production') {
12864
+ assert(false, err.toString());
12865
+ }
12866
+ });
12867
+ } else {
12868
+ scrollToPosition(shouldScroll, position);
12869
+ }
12870
+ });
12871
+ }
12872
+
12873
+ function saveScrollPosition () {
12874
+ var key = getStateKey();
12875
+ if (key) {
12876
+ positionStore[key] = {
12877
+ x: window.pageXOffset,
12878
+ y: window.pageYOffset
12879
+ };
12880
+ }
12881
+ }
12882
+
12883
+ function getScrollPosition () {
12884
+ var key = getStateKey();
12885
+ if (key) {
12886
+ return positionStore[key]
12887
+ }
12888
+ }
12889
+
12890
+ function getElementPosition (el, offset) {
12891
+ var docEl = document.documentElement;
12892
+ var docRect = docEl.getBoundingClientRect();
12893
+ var elRect = el.getBoundingClientRect();
12894
+ return {
12895
+ x: elRect.left - docRect.left - offset.x,
12896
+ y: elRect.top - docRect.top - offset.y
12897
+ }
12898
+ }
12899
+
12900
+ function isValidPosition (obj) {
12901
+ return isNumber(obj.x) || isNumber(obj.y)
12902
+ }
12903
+
12904
+ function normalizePosition (obj) {
12905
+ return {
12906
+ x: isNumber(obj.x) ? obj.x : window.pageXOffset,
12907
+ y: isNumber(obj.y) ? obj.y : window.pageYOffset
12908
+ }
12909
+ }
12910
+
12911
+ function normalizeOffset (obj) {
12912
+ return {
12913
+ x: isNumber(obj.x) ? obj.x : 0,
12914
+ y: isNumber(obj.y) ? obj.y : 0
12915
+ }
12916
+ }
12917
+
12918
+ function isNumber (v) {
12919
+ return typeof v === 'number'
12920
+ }
12921
+
12922
+ function scrollToPosition (shouldScroll, position) {
12923
+ var isObject = typeof shouldScroll === 'object';
12924
+ if (isObject && typeof shouldScroll.selector === 'string') {
12925
+ var el = document.querySelector(shouldScroll.selector);
12926
+ if (el) {
12927
+ var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};
12928
+ offset = normalizeOffset(offset);
12929
+ position = getElementPosition(el, offset);
12930
+ } else if (isValidPosition(shouldScroll)) {
12931
+ position = normalizePosition(shouldScroll);
12932
+ }
12933
+ } else if (isObject && isValidPosition(shouldScroll)) {
12934
+ position = normalizePosition(shouldScroll);
12935
+ }
12936
+
12937
+ if (position) {
12938
+ window.scrollTo(position.x, position.y);
12939
+ }
12940
+ }
12941
+
12942
+ /* */
12943
+
12944
+ var supportsPushState = inBrowser && (function () {
12945
+ var ua = window.navigator.userAgent;
12946
+
12947
+ if (
12948
+ (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&
12949
+ ua.indexOf('Mobile Safari') !== -1 &&
12950
+ ua.indexOf('Chrome') === -1 &&
12951
+ ua.indexOf('Windows Phone') === -1
12952
+ ) {
12953
+ return false
12954
+ }
12955
+
12956
+ return window.history && 'pushState' in window.history
12957
+ })();
12958
+
12959
+ // use User Timing api (if present) for more accurate key precision
12960
+ var Time = inBrowser && window.performance && window.performance.now
12961
+ ? window.performance
12962
+ : Date;
12963
+
12964
+ var _key = genKey();
12965
+
12966
+ function genKey () {
12967
+ return Time.now().toFixed(3)
12968
+ }
12969
+
12970
+ function getStateKey () {
12971
+ return _key
12972
+ }
12973
+
12974
+ function setStateKey (key) {
12975
+ _key = key;
12976
+ }
12977
+
12978
+ function pushState (url, replace) {
12979
+ saveScrollPosition();
12980
+ // try...catch the pushState call to get around Safari
12981
+ // DOM Exception 18 where it limits to 100 pushState calls
12982
+ var history = window.history;
12983
+ try {
12984
+ if (replace) {
12985
+ history.replaceState({ key: _key }, '', url);
12986
+ } else {
12987
+ _key = genKey();
12988
+ history.pushState({ key: _key }, '', url);
12989
+ }
12990
+ } catch (e) {
12991
+ window.location[replace ? 'replace' : 'assign'](url);
12992
+ }
12993
+ }
12994
+
12995
+ function replaceState (url) {
12996
+ pushState(url, true);
12997
+ }
12998
+
12999
+ /* */
13000
+
13001
+ function runQueue (queue, fn, cb) {
13002
+ var step = function (index) {
13003
+ if (index >= queue.length) {
13004
+ cb();
13005
+ } else {
13006
+ if (queue[index]) {
13007
+ fn(queue[index], function () {
13008
+ step(index + 1);
13009
+ });
13010
+ } else {
13011
+ step(index + 1);
13012
+ }
13013
+ }
13014
+ };
13015
+ step(0);
13016
+ }
13017
+
13018
+ /* */
13019
+
13020
+ function resolveAsyncComponents (matched) {
13021
+ return function (to, from, next) {
13022
+ var hasAsync = false;
13023
+ var pending = 0;
13024
+ var error = null;
13025
+
13026
+ flatMapComponents(matched, function (def, _, match, key) {
13027
+ // if it's a function and doesn't have cid attached,
13028
+ // assume it's an async component resolve function.
13029
+ // we are not using Vue's default async resolving mechanism because
13030
+ // we want to halt the navigation until the incoming component has been
13031
+ // resolved.
13032
+ if (typeof def === 'function' && def.cid === undefined) {
13033
+ hasAsync = true;
13034
+ pending++;
13035
+
13036
+ var resolve = once(function (resolvedDef) {
13037
+ if (isESModule(resolvedDef)) {
13038
+ resolvedDef = resolvedDef.default;
13039
+ }
13040
+ // save resolved on async factory in case it's used elsewhere
13041
+ def.resolved = typeof resolvedDef === 'function'
13042
+ ? resolvedDef
13043
+ : _Vue.extend(resolvedDef);
13044
+ match.components[key] = resolvedDef;
13045
+ pending--;
13046
+ if (pending <= 0) {
13047
+ next();
13048
+ }
13049
+ });
13050
+
13051
+ var reject = once(function (reason) {
13052
+ var msg = "Failed to resolve async component " + key + ": " + reason;
13053
+ process.env.NODE_ENV !== 'production' && warn(false, msg);
13054
+ if (!error) {
13055
+ error = isError(reason)
13056
+ ? reason
13057
+ : new Error(msg);
13058
+ next(error);
13059
+ }
13060
+ });
13061
+
13062
+ var res;
13063
+ try {
13064
+ res = def(resolve, reject);
13065
+ } catch (e) {
13066
+ reject(e);
13067
+ }
13068
+ if (res) {
13069
+ if (typeof res.then === 'function') {
13070
+ res.then(resolve, reject);
13071
+ } else {
13072
+ // new syntax in Vue 2.3
13073
+ var comp = res.component;
13074
+ if (comp && typeof comp.then === 'function') {
13075
+ comp.then(resolve, reject);
13076
+ }
13077
+ }
13078
+ }
13079
+ }
13080
+ });
13081
+
13082
+ if (!hasAsync) { next(); }
13083
+ }
13084
+ }
13085
+
13086
+ function flatMapComponents (
13087
+ matched,
13088
+ fn
13089
+ ) {
13090
+ return flatten(matched.map(function (m) {
13091
+ return Object.keys(m.components).map(function (key) { return fn(
13092
+ m.components[key],
13093
+ m.instances[key],
13094
+ m, key
13095
+ ); })
13096
+ }))
13097
+ }
13098
+
13099
+ function flatten (arr) {
13100
+ return Array.prototype.concat.apply([], arr)
13101
+ }
13102
+
13103
+ var hasSymbol =
13104
+ typeof Symbol === 'function' &&
13105
+ typeof Symbol.toStringTag === 'symbol';
13106
+
13107
+ function isESModule (obj) {
13108
+ return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')
13109
+ }
13110
+
13111
+ // in Webpack 2, require.ensure now also returns a Promise
13112
+ // so the resolve/reject functions may get called an extra time
13113
+ // if the user uses an arrow function shorthand that happens to
13114
+ // return that Promise.
13115
+ function once (fn) {
13116
+ var called = false;
13117
+ return function () {
13118
+ var args = [], len = arguments.length;
13119
+ while ( len-- ) args[ len ] = arguments[ len ];
13120
+
13121
+ if (called) { return }
13122
+ called = true;
13123
+ return fn.apply(this, args)
13124
+ }
13125
+ }
13126
+
13127
+ /* */
13128
+
13129
+ var History = function History (router, base) {
13130
+ this.router = router;
13131
+ this.base = normalizeBase(base);
13132
+ // start with a route object that stands for "nowhere"
13133
+ this.current = START;
13134
+ this.pending = null;
13135
+ this.ready = false;
13136
+ this.readyCbs = [];
13137
+ this.readyErrorCbs = [];
13138
+ this.errorCbs = [];
13139
+ };
13140
+
13141
+ History.prototype.listen = function listen (cb) {
13142
+ this.cb = cb;
13143
+ };
13144
+
13145
+ History.prototype.onReady = function onReady (cb, errorCb) {
13146
+ if (this.ready) {
13147
+ cb();
13148
+ } else {
13149
+ this.readyCbs.push(cb);
13150
+ if (errorCb) {
13151
+ this.readyErrorCbs.push(errorCb);
13152
+ }
13153
+ }
13154
+ };
13155
+
13156
+ History.prototype.onError = function onError (errorCb) {
13157
+ this.errorCbs.push(errorCb);
13158
+ };
13159
+
13160
+ History.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {
13161
+ var this$1 = this;
13162
+
13163
+ var route = this.router.match(location, this.current);
13164
+ this.confirmTransition(route, function () {
13165
+ this$1.updateRoute(route);
13166
+ onComplete && onComplete(route);
13167
+ this$1.ensureURL();
13168
+
13169
+ // fire ready cbs once
13170
+ if (!this$1.ready) {
13171
+ this$1.ready = true;
13172
+ this$1.readyCbs.forEach(function (cb) { cb(route); });
13173
+ }
13174
+ }, function (err) {
13175
+ if (onAbort) {
13176
+ onAbort(err);
13177
+ }
13178
+ if (err && !this$1.ready) {
13179
+ this$1.ready = true;
13180
+ this$1.readyErrorCbs.forEach(function (cb) { cb(err); });
13181
+ }
13182
+ });
13183
+ };
13184
+
13185
+ History.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {
13186
+ var this$1 = this;
13187
+
13188
+ var current = this.current;
13189
+ var abort = function (err) {
13190
+ if (isError(err)) {
13191
+ if (this$1.errorCbs.length) {
13192
+ this$1.errorCbs.forEach(function (cb) { cb(err); });
13193
+ } else {
13194
+ warn(false, 'uncaught error during route navigation:');
13195
+ console.error(err);
13196
+ }
13197
+ }
13198
+ onAbort && onAbort(err);
13199
+ };
13200
+ if (
13201
+ isSameRoute(route, current) &&
13202
+ // in the case the route map has been dynamically appended to
13203
+ route.matched.length === current.matched.length
13204
+ ) {
13205
+ this.ensureURL();
13206
+ return abort()
13207
+ }
13208
+
13209
+ var ref = resolveQueue(this.current.matched, route.matched);
13210
+ var updated = ref.updated;
13211
+ var deactivated = ref.deactivated;
13212
+ var activated = ref.activated;
13213
+
13214
+ var queue = [].concat(
13215
+ // in-component leave guards
13216
+ extractLeaveGuards(deactivated),
13217
+ // global before hooks
13218
+ this.router.beforeHooks,
13219
+ // in-component update hooks
13220
+ extractUpdateHooks(updated),
13221
+ // in-config enter guards
13222
+ activated.map(function (m) { return m.beforeEnter; }),
13223
+ // async components
13224
+ resolveAsyncComponents(activated)
13225
+ );
13226
+
13227
+ this.pending = route;
13228
+ var iterator = function (hook, next) {
13229
+ if (this$1.pending !== route) {
13230
+ return abort()
13231
+ }
13232
+ try {
13233
+ hook(route, current, function (to) {
13234
+ if (to === false || isError(to)) {
13235
+ // next(false) -> abort navigation, ensure current URL
13236
+ this$1.ensureURL(true);
13237
+ abort(to);
13238
+ } else if (
13239
+ typeof to === 'string' ||
13240
+ (typeof to === 'object' && (
13241
+ typeof to.path === 'string' ||
13242
+ typeof to.name === 'string'
13243
+ ))
13244
+ ) {
13245
+ // next('/') or next({ path: '/' }) -> redirect
13246
+ abort();
13247
+ if (typeof to === 'object' && to.replace) {
13248
+ this$1.replace(to);
13249
+ } else {
13250
+ this$1.push(to);
13251
+ }
13252
+ } else {
13253
+ // confirm transition and pass on the value
13254
+ next(to);
13255
+ }
13256
+ });
13257
+ } catch (e) {
13258
+ abort(e);
13259
+ }
13260
+ };
13261
+
13262
+ runQueue(queue, iterator, function () {
13263
+ var postEnterCbs = [];
13264
+ var isValid = function () { return this$1.current === route; };
13265
+ // wait until async components are resolved before
13266
+ // extracting in-component enter guards
13267
+ var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);
13268
+ var queue = enterGuards.concat(this$1.router.resolveHooks);
13269
+ runQueue(queue, iterator, function () {
13270
+ if (this$1.pending !== route) {
13271
+ return abort()
13272
+ }
13273
+ this$1.pending = null;
13274
+ onComplete(route);
13275
+ if (this$1.router.app) {
13276
+ this$1.router.app.$nextTick(function () {
13277
+ postEnterCbs.forEach(function (cb) { cb(); });
13278
+ });
13279
+ }
13280
+ });
13281
+ });
13282
+ };
13283
+
13284
+ History.prototype.updateRoute = function updateRoute (route) {
13285
+ var prev = this.current;
13286
+ this.current = route;
13287
+ this.cb && this.cb(route);
13288
+ this.router.afterHooks.forEach(function (hook) {
13289
+ hook && hook(route, prev);
13290
+ });
13291
+ };
13292
+
13293
+ function normalizeBase (base) {
13294
+ if (!base) {
13295
+ if (inBrowser) {
13296
+ // respect <base> tag
13297
+ var baseEl = document.querySelector('base');
13298
+ base = (baseEl && baseEl.getAttribute('href')) || '/';
13299
+ // strip full URL origin
13300
+ base = base.replace(/^https?:\/\/[^\/]+/, '');
13301
+ } else {
13302
+ base = '/';
13303
+ }
13304
+ }
13305
+ // make sure there's the starting slash
13306
+ if (base.charAt(0) !== '/') {
13307
+ base = '/' + base;
13308
+ }
13309
+ // remove trailing slash
13310
+ return base.replace(/\/$/, '')
13311
+ }
13312
+
13313
+ function resolveQueue (
13314
+ current,
13315
+ next
13316
+ ) {
13317
+ var i;
13318
+ var max = Math.max(current.length, next.length);
13319
+ for (i = 0; i < max; i++) {
13320
+ if (current[i] !== next[i]) {
13321
+ break
13322
+ }
13323
+ }
13324
+ return {
13325
+ updated: next.slice(0, i),
13326
+ activated: next.slice(i),
13327
+ deactivated: current.slice(i)
13328
+ }
13329
+ }
13330
+
13331
+ function extractGuards (
13332
+ records,
13333
+ name,
13334
+ bind,
13335
+ reverse
13336
+ ) {
13337
+ var guards = flatMapComponents(records, function (def, instance, match, key) {
13338
+ var guard = extractGuard(def, name);
13339
+ if (guard) {
13340
+ return Array.isArray(guard)
13341
+ ? guard.map(function (guard) { return bind(guard, instance, match, key); })
13342
+ : bind(guard, instance, match, key)
13343
+ }
13344
+ });
13345
+ return flatten(reverse ? guards.reverse() : guards)
13346
+ }
13347
+
13348
+ function extractGuard (
13349
+ def,
13350
+ key
13351
+ ) {
13352
+ if (typeof def !== 'function') {
13353
+ // extend now so that global mixins are applied.
13354
+ def = _Vue.extend(def);
13355
+ }
13356
+ return def.options[key]
13357
+ }
13358
+
13359
+ function extractLeaveGuards (deactivated) {
13360
+ return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)
13361
+ }
13362
+
13363
+ function extractUpdateHooks (updated) {
13364
+ return extractGuards(updated, 'beforeRouteUpdate', bindGuard)
13365
+ }
13366
+
13367
+ function bindGuard (guard, instance) {
13368
+ if (instance) {
13369
+ return function boundRouteGuard () {
13370
+ return guard.apply(instance, arguments)
13371
+ }
13372
+ }
13373
+ }
13374
+
13375
+ function extractEnterGuards (
13376
+ activated,
13377
+ cbs,
13378
+ isValid
13379
+ ) {
13380
+ return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {
13381
+ return bindEnterGuard(guard, match, key, cbs, isValid)
13382
+ })
13383
+ }
13384
+
13385
+ function bindEnterGuard (
13386
+ guard,
13387
+ match,
13388
+ key,
13389
+ cbs,
13390
+ isValid
13391
+ ) {
13392
+ return function routeEnterGuard (to, from, next) {
13393
+ return guard(to, from, function (cb) {
13394
+ next(cb);
13395
+ if (typeof cb === 'function') {
13396
+ cbs.push(function () {
13397
+ // #750
13398
+ // if a router-view is wrapped with an out-in transition,
13399
+ // the instance may not have been registered at this time.
13400
+ // we will need to poll for registration until current route
13401
+ // is no longer valid.
13402
+ poll(cb, match.instances, key, isValid);
13403
+ });
13404
+ }
13405
+ })
13406
+ }
13407
+ }
13408
+
13409
+ function poll (
13410
+ cb, // somehow flow cannot infer this is a function
13411
+ instances,
13412
+ key,
13413
+ isValid
13414
+ ) {
13415
+ if (instances[key]) {
13416
+ cb(instances[key]);
13417
+ } else if (isValid()) {
13418
+ setTimeout(function () {
13419
+ poll(cb, instances, key, isValid);
13420
+ }, 16);
13421
+ }
13422
+ }
13423
+
13424
+ /* */
13425
+
13426
+
13427
+ var HTML5History = (function (History$$1) {
13428
+ function HTML5History (router, base) {
13429
+ var this$1 = this;
13430
+
13431
+ History$$1.call(this, router, base);
13432
+
13433
+ var expectScroll = router.options.scrollBehavior;
13434
+
13435
+ if (expectScroll) {
13436
+ setupScroll();
13437
+ }
13438
+
13439
+ var initLocation = getLocation(this.base);
13440
+ window.addEventListener('popstate', function (e) {
13441
+ var current = this$1.current;
13442
+
13443
+ // Avoiding first `popstate` event dispatched in some browsers but first
13444
+ // history route not updated since async guard at the same time.
13445
+ var location = getLocation(this$1.base);
13446
+ if (this$1.current === START && location === initLocation) {
13447
+ return
13448
+ }
13449
+
13450
+ this$1.transitionTo(location, function (route) {
13451
+ if (expectScroll) {
13452
+ handleScroll(router, route, current, true);
13453
+ }
13454
+ });
13455
+ });
13456
+ }
13457
+
13458
+ if ( History$$1 ) HTML5History.__proto__ = History$$1;
13459
+ HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );
13460
+ HTML5History.prototype.constructor = HTML5History;
13461
+
13462
+ HTML5History.prototype.go = function go (n) {
13463
+ window.history.go(n);
13464
+ };
13465
+
13466
+ HTML5History.prototype.push = function push (location, onComplete, onAbort) {
13467
+ var this$1 = this;
13468
+
13469
+ var ref = this;
13470
+ var fromRoute = ref.current;
13471
+ this.transitionTo(location, function (route) {
13472
+ pushState(cleanPath(this$1.base + route.fullPath));
13473
+ handleScroll(this$1.router, route, fromRoute, false);
13474
+ onComplete && onComplete(route);
13475
+ }, onAbort);
13476
+ };
13477
+
13478
+ HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {
13479
+ var this$1 = this;
13480
+
13481
+ var ref = this;
13482
+ var fromRoute = ref.current;
13483
+ this.transitionTo(location, function (route) {
13484
+ replaceState(cleanPath(this$1.base + route.fullPath));
13485
+ handleScroll(this$1.router, route, fromRoute, false);
13486
+ onComplete && onComplete(route);
13487
+ }, onAbort);
13488
+ };
13489
+
13490
+ HTML5History.prototype.ensureURL = function ensureURL (push) {
13491
+ if (getLocation(this.base) !== this.current.fullPath) {
13492
+ var current = cleanPath(this.base + this.current.fullPath);
13493
+ push ? pushState(current) : replaceState(current);
13494
+ }
13495
+ };
13496
+
13497
+ HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {
13498
+ return getLocation(this.base)
13499
+ };
13500
+
13501
+ return HTML5History;
13502
+ }(History));
13503
+
13504
+ function getLocation (base) {
13505
+ var path = window.location.pathname;
13506
+ if (base && path.indexOf(base) === 0) {
13507
+ path = path.slice(base.length);
13508
+ }
13509
+ return (path || '/') + window.location.search + window.location.hash
13510
+ }
13511
+
13512
+ /* */
13513
+
13514
+
13515
+ var HashHistory = (function (History$$1) {
13516
+ function HashHistory (router, base, fallback) {
13517
+ History$$1.call(this, router, base);
13518
+ // check history fallback deeplinking
13519
+ if (fallback && checkFallback(this.base)) {
13520
+ return
13521
+ }
13522
+ ensureSlash();
13523
+ }
13524
+
13525
+ if ( History$$1 ) HashHistory.__proto__ = History$$1;
13526
+ HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );
13527
+ HashHistory.prototype.constructor = HashHistory;
13528
+
13529
+ // this is delayed until the app mounts
13530
+ // to avoid the hashchange listener being fired too early
13531
+ HashHistory.prototype.setupListeners = function setupListeners () {
13532
+ var this$1 = this;
13533
+
13534
+ var router = this.router;
13535
+ var expectScroll = router.options.scrollBehavior;
13536
+ var supportsScroll = supportsPushState && expectScroll;
13537
+
13538
+ if (supportsScroll) {
13539
+ setupScroll();
13540
+ }
13541
+
13542
+ window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {
13543
+ var current = this$1.current;
13544
+ if (!ensureSlash()) {
13545
+ return
13546
+ }
13547
+ this$1.transitionTo(getHash(), function (route) {
13548
+ if (supportsScroll) {
13549
+ handleScroll(this$1.router, route, current, true);
13550
+ }
13551
+ if (!supportsPushState) {
13552
+ replaceHash(route.fullPath);
13553
+ }
13554
+ });
13555
+ });
13556
+ };
13557
+
13558
+ HashHistory.prototype.push = function push (location, onComplete, onAbort) {
13559
+ var this$1 = this;
13560
+
13561
+ var ref = this;
13562
+ var fromRoute = ref.current;
13563
+ this.transitionTo(location, function (route) {
13564
+ pushHash(route.fullPath);
13565
+ handleScroll(this$1.router, route, fromRoute, false);
13566
+ onComplete && onComplete(route);
13567
+ }, onAbort);
13568
+ };
13569
+
13570
+ HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {
13571
+ var this$1 = this;
13572
+
13573
+ var ref = this;
13574
+ var fromRoute = ref.current;
13575
+ this.transitionTo(location, function (route) {
13576
+ replaceHash(route.fullPath);
13577
+ handleScroll(this$1.router, route, fromRoute, false);
13578
+ onComplete && onComplete(route);
13579
+ }, onAbort);
13580
+ };
13581
+
13582
+ HashHistory.prototype.go = function go (n) {
13583
+ window.history.go(n);
13584
+ };
13585
+
13586
+ HashHistory.prototype.ensureURL = function ensureURL (push) {
13587
+ var current = this.current.fullPath;
13588
+ if (getHash() !== current) {
13589
+ push ? pushHash(current) : replaceHash(current);
13590
+ }
13591
+ };
13592
+
13593
+ HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {
13594
+ return getHash()
13595
+ };
13596
+
13597
+ return HashHistory;
13598
+ }(History));
13599
+
13600
+ function checkFallback (base) {
13601
+ var location = getLocation(base);
13602
+ if (!/^\/#/.test(location)) {
13603
+ window.location.replace(
13604
+ cleanPath(base + '/#' + location)
13605
+ );
13606
+ return true
13607
+ }
13608
+ }
13609
+
13610
+ function ensureSlash () {
13611
+ var path = getHash();
13612
+ if (path.charAt(0) === '/') {
13613
+ return true
13614
+ }
13615
+ replaceHash('/' + path);
13616
+ return false
13617
+ }
13618
+
13619
+ function getHash () {
13620
+ // We can't use window.location.hash here because it's not
13621
+ // consistent across browsers - Firefox will pre-decode it!
13622
+ var href = window.location.href;
13623
+ var index = href.indexOf('#');
13624
+ return index === -1 ? '' : href.slice(index + 1)
13625
+ }
13626
+
13627
+ function getUrl (path) {
13628
+ var href = window.location.href;
13629
+ var i = href.indexOf('#');
13630
+ var base = i >= 0 ? href.slice(0, i) : href;
13631
+ return (base + "#" + path)
13632
+ }
13633
+
13634
+ function pushHash (path) {
13635
+ if (supportsPushState) {
13636
+ pushState(getUrl(path));
13637
+ } else {
13638
+ window.location.hash = path;
13639
+ }
13640
+ }
13641
+
13642
+ function replaceHash (path) {
13643
+ if (supportsPushState) {
13644
+ replaceState(getUrl(path));
13645
+ } else {
13646
+ window.location.replace(getUrl(path));
13647
+ }
13648
+ }
13649
+
13650
+ /* */
13651
+
13652
+
13653
+ var AbstractHistory = (function (History$$1) {
13654
+ function AbstractHistory (router, base) {
13655
+ History$$1.call(this, router, base);
13656
+ this.stack = [];
13657
+ this.index = -1;
13658
+ }
13659
+
13660
+ if ( History$$1 ) AbstractHistory.__proto__ = History$$1;
13661
+ AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );
13662
+ AbstractHistory.prototype.constructor = AbstractHistory;
13663
+
13664
+ AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {
13665
+ var this$1 = this;
13666
+
13667
+ this.transitionTo(location, function (route) {
13668
+ this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);
13669
+ this$1.index++;
13670
+ onComplete && onComplete(route);
13671
+ }, onAbort);
13672
+ };
13673
+
13674
+ AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {
13675
+ var this$1 = this;
13676
+
13677
+ this.transitionTo(location, function (route) {
13678
+ this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);
13679
+ onComplete && onComplete(route);
13680
+ }, onAbort);
13681
+ };
13682
+
13683
+ AbstractHistory.prototype.go = function go (n) {
13684
+ var this$1 = this;
13685
+
13686
+ var targetIndex = this.index + n;
13687
+ if (targetIndex < 0 || targetIndex >= this.stack.length) {
13688
+ return
13689
+ }
13690
+ var route = this.stack[targetIndex];
13691
+ this.confirmTransition(route, function () {
13692
+ this$1.index = targetIndex;
13693
+ this$1.updateRoute(route);
13694
+ });
13695
+ };
13696
+
13697
+ AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {
13698
+ var current = this.stack[this.stack.length - 1];
13699
+ return current ? current.fullPath : '/'
13700
+ };
13701
+
13702
+ AbstractHistory.prototype.ensureURL = function ensureURL () {
13703
+ // noop
13704
+ };
13705
+
13706
+ return AbstractHistory;
13707
+ }(History));
13708
+
13709
+ /* */
13710
+
13711
+ var VueRouter = function VueRouter (options) {
13712
+ if ( options === void 0 ) options = {};
13713
+
13714
+ this.app = null;
13715
+ this.apps = [];
13716
+ this.options = options;
13717
+ this.beforeHooks = [];
13718
+ this.resolveHooks = [];
13719
+ this.afterHooks = [];
13720
+ this.matcher = createMatcher(options.routes || [], this);
13721
+
13722
+ var mode = options.mode || 'hash';
13723
+ this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;
13724
+ if (this.fallback) {
13725
+ mode = 'hash';
13726
+ }
13727
+ if (!inBrowser) {
13728
+ mode = 'abstract';
13729
+ }
13730
+ this.mode = mode;
13731
+
13732
+ switch (mode) {
13733
+ case 'history':
13734
+ this.history = new HTML5History(this, options.base);
13735
+ break
13736
+ case 'hash':
13737
+ this.history = new HashHistory(this, options.base, this.fallback);
13738
+ break
13739
+ case 'abstract':
13740
+ this.history = new AbstractHistory(this, options.base);
13741
+ break
13742
+ default:
13743
+ if (process.env.NODE_ENV !== 'production') {
13744
+ assert(false, ("invalid mode: " + mode));
13745
+ }
13746
+ }
13747
+ };
13748
+
13749
+ var prototypeAccessors = { currentRoute: { configurable: true } };
13750
+
13751
+ VueRouter.prototype.match = function match (
13752
+ raw,
13753
+ current,
13754
+ redirectedFrom
13755
+ ) {
13756
+ return this.matcher.match(raw, current, redirectedFrom)
13757
+ };
13758
+
13759
+ prototypeAccessors.currentRoute.get = function () {
13760
+ return this.history && this.history.current
13761
+ };
13762
+
13763
+ VueRouter.prototype.init = function init (app /* Vue component instance */) {
13764
+ var this$1 = this;
13765
+
13766
+ process.env.NODE_ENV !== 'production' && assert(
13767
+ install.installed,
13768
+ "not installed. Make sure to call `Vue.use(VueRouter)` " +
13769
+ "before creating root instance."
13770
+ );
13771
+
13772
+ this.apps.push(app);
13773
+
13774
+ // main app already initialized.
13775
+ if (this.app) {
13776
+ return
13777
+ }
13778
+
13779
+ this.app = app;
13780
+
13781
+ var history = this.history;
13782
+
13783
+ if (history instanceof HTML5History) {
13784
+ history.transitionTo(history.getCurrentLocation());
13785
+ } else if (history instanceof HashHistory) {
13786
+ var setupHashListener = function () {
13787
+ history.setupListeners();
13788
+ };
13789
+ history.transitionTo(
13790
+ history.getCurrentLocation(),
13791
+ setupHashListener,
13792
+ setupHashListener
13793
+ );
13794
+ }
13795
+
13796
+ history.listen(function (route) {
13797
+ this$1.apps.forEach(function (app) {
13798
+ app._route = route;
13799
+ });
13800
+ });
13801
+ };
13802
+
13803
+ VueRouter.prototype.beforeEach = function beforeEach (fn) {
13804
+ return registerHook(this.beforeHooks, fn)
13805
+ };
13806
+
13807
+ VueRouter.prototype.beforeResolve = function beforeResolve (fn) {
13808
+ return registerHook(this.resolveHooks, fn)
13809
+ };
13810
+
13811
+ VueRouter.prototype.afterEach = function afterEach (fn) {
13812
+ return registerHook(this.afterHooks, fn)
13813
+ };
13814
+
13815
+ VueRouter.prototype.onReady = function onReady (cb, errorCb) {
13816
+ this.history.onReady(cb, errorCb);
13817
+ };
13818
+
13819
+ VueRouter.prototype.onError = function onError (errorCb) {
13820
+ this.history.onError(errorCb);
13821
+ };
13822
+
13823
+ VueRouter.prototype.push = function push (location, onComplete, onAbort) {
13824
+ this.history.push(location, onComplete, onAbort);
13825
+ };
13826
+
13827
+ VueRouter.prototype.replace = function replace (location, onComplete, onAbort) {
13828
+ this.history.replace(location, onComplete, onAbort);
13829
+ };
13830
+
13831
+ VueRouter.prototype.go = function go (n) {
13832
+ this.history.go(n);
13833
+ };
13834
+
13835
+ VueRouter.prototype.back = function back () {
13836
+ this.go(-1);
13837
+ };
13838
+
13839
+ VueRouter.prototype.forward = function forward () {
13840
+ this.go(1);
13841
+ };
13842
+
13843
+ VueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {
13844
+ var route = to
13845
+ ? to.matched
13846
+ ? to
13847
+ : this.resolve(to).route
13848
+ : this.currentRoute;
13849
+ if (!route) {
13850
+ return []
13851
+ }
13852
+ return [].concat.apply([], route.matched.map(function (m) {
13853
+ return Object.keys(m.components).map(function (key) {
13854
+ return m.components[key]
13855
+ })
13856
+ }))
13857
+ };
13858
+
13859
+ VueRouter.prototype.resolve = function resolve (
13860
+ to,
13861
+ current,
13862
+ append
13863
+ ) {
13864
+ var location = normalizeLocation(
13865
+ to,
13866
+ current || this.history.current,
13867
+ append,
13868
+ this
13869
+ );
13870
+ var route = this.match(location, current);
13871
+ var fullPath = route.redirectedFrom || route.fullPath;
13872
+ var base = this.history.base;
13873
+ var href = createHref(base, fullPath, this.mode);
13874
+ return {
13875
+ location: location,
13876
+ route: route,
13877
+ href: href,
13878
+ // for backwards compat
13879
+ normalizedTo: location,
13880
+ resolved: route
13881
+ }
13882
+ };
13883
+
13884
+ VueRouter.prototype.addRoutes = function addRoutes (routes) {
13885
+ this.matcher.addRoutes(routes);
13886
+ if (this.history.current !== START) {
13887
+ this.history.transitionTo(this.history.getCurrentLocation());
13888
+ }
13889
+ };
13890
+
13891
+ Object.defineProperties( VueRouter.prototype, prototypeAccessors );
13892
+
13893
+ function registerHook (list, fn) {
13894
+ list.push(fn);
13895
+ return function () {
13896
+ var i = list.indexOf(fn);
13897
+ if (i > -1) { list.splice(i, 1); }
13898
+ }
13899
+ }
13900
+
13901
+ function createHref (base, fullPath, mode) {
13902
+ var path = mode === 'hash' ? '#' + fullPath : fullPath;
13903
+ return base ? cleanPath(base + '/' + path) : path
13904
+ }
13905
+
13906
+ VueRouter.install = install;
13907
+ VueRouter.version = '3.0.1';
13908
+
13909
+ if (inBrowser && window.Vue) {
13910
+ window.Vue.use(VueRouter);
13911
+ }
13912
+
13913
+ /* harmony default export */ __webpack_exports__["default"] = (VueRouter);
13914
+
13915
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(5)))
13916
+
13917
+ /***/ }),
13918
+ /* 7 */,
13919
+ /* 8 */
13920
+ /***/ (function(module, exports) {
13921
+
13922
+ /*
13923
+ MIT License http://www.opensource.org/licenses/mit-license.php
13924
+ Author Tobias Koppers @sokra
13925
+ */
13926
+ // css base code, injected by the css-loader
13927
+ module.exports = function(useSourceMap) {
13928
+ var list = [];
13929
+
13930
+ // return the list of modules as css string
13931
+ list.toString = function toString() {
13932
+ return this.map(function (item) {
13933
+ var content = cssWithMappingToString(item, useSourceMap);
13934
+ if(item[2]) {
13935
+ return "@media " + item[2] + "{" + content + "}";
13936
+ } else {
13937
+ return content;
13938
+ }
13939
+ }).join("");
13940
+ };
13941
+
13942
+ // import a list of modules into the list
13943
+ list.i = function(modules, mediaQuery) {
13944
+ if(typeof modules === "string")
13945
+ modules = [[null, modules, ""]];
13946
+ var alreadyImportedModules = {};
13947
+ for(var i = 0; i < this.length; i++) {
13948
+ var id = this[i][0];
13949
+ if(typeof id === "number")
13950
+ alreadyImportedModules[id] = true;
13951
+ }
13952
+ for(i = 0; i < modules.length; i++) {
13953
+ var item = modules[i];
13954
+ // skip already imported module
13955
+ // this implementation is not 100% perfect for weird media query combinations
13956
+ // when a module is imported multiple times with different media queries.
13957
+ // I hope this will never occur (Hey this way we have smaller bundles)
13958
+ if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
13959
+ if(mediaQuery && !item[2]) {
13960
+ item[2] = mediaQuery;
13961
+ } else if(mediaQuery) {
13962
+ item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
13963
+ }
13964
+ list.push(item);
13965
+ }
13966
+ }
13967
+ };
13968
+ return list;
13969
+ };
13970
+
13971
+ function cssWithMappingToString(item, useSourceMap) {
13972
+ var content = item[1] || '';
13973
+ var cssMapping = item[3];
13974
+ if (!cssMapping) {
13975
+ return content;
13976
+ }
13977
+
13978
+ if (useSourceMap && typeof btoa === 'function') {
13979
+ var sourceMapping = toComment(cssMapping);
13980
+ var sourceURLs = cssMapping.sources.map(function (source) {
13981
+ return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
13982
+ });
13983
+
13984
+ return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
13985
+ }
13986
+
13987
+ return [content].join('\n');
13988
+ }
13989
+
13990
+ // Adapted from convert-source-map (MIT)
13991
+ function toComment(sourceMap) {
13992
+ // eslint-disable-next-line no-undef
13993
+ var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
13994
+ var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
13995
+
13996
+ return '/*# ' + data + ' */';
13997
+ }
13998
+
13999
+
14000
+ /***/ }),
14001
+ /* 9 */,
14002
+ /* 10 */,
14003
+ /* 11 */,
14004
+ /* 12 */,
14005
+ /* 13 */,
14006
+ /* 14 */,
14007
+ /* 15 */,
14008
+ /* 16 */
14009
+ /***/ (function(module, exports, __webpack_require__) {
14010
+
14011
+ /*
14012
+ MIT License http://www.opensource.org/licenses/mit-license.php
14013
+ Author Tobias Koppers @sokra
14014
+ */
14015
+
14016
+ var stylesInDom = {};
14017
+
14018
+ var memoize = function (fn) {
14019
+ var memo;
14020
+
14021
+ return function () {
14022
+ if (typeof memo === "undefined") memo = fn.apply(this, arguments);
14023
+ return memo;
14024
+ };
14025
+ };
14026
+
14027
+ var isOldIE = memoize(function () {
14028
+ // Test for IE <= 9 as proposed by Browserhacks
14029
+ // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
14030
+ // Tests for existence of standard globals is to allow style-loader
14031
+ // to operate correctly into non-standard environments
14032
+ // @see https://github.com/webpack-contrib/style-loader/issues/177
14033
+ return window && document && document.all && !window.atob;
14034
+ });
14035
+
14036
+ var getTarget = function (target) {
14037
+ return document.querySelector(target);
14038
+ };
14039
+
14040
+ var getElement = (function (fn) {
14041
+ var memo = {};
14042
+
14043
+ return function(target) {
14044
+ // If passing function in options, then use it for resolve "head" element.
14045
+ // Useful for Shadow Root style i.e
14046
+ // {
14047
+ // insertInto: function () { return document.querySelector("#foo").shadowRoot }
14048
+ // }
14049
+ if (typeof target === 'function') {
14050
+ return target();
14051
+ }
14052
+ if (typeof memo[target] === "undefined") {
14053
+ var styleTarget = getTarget.call(this, target);
14054
+ // Special case to return head of iframe instead of iframe itself
14055
+ if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
14056
+ try {
14057
+ // This will throw an exception if access to iframe is blocked
14058
+ // due to cross-origin restrictions
14059
+ styleTarget = styleTarget.contentDocument.head;
14060
+ } catch(e) {
14061
+ styleTarget = null;
14062
+ }
14063
+ }
14064
+ memo[target] = styleTarget;
14065
+ }
14066
+ return memo[target]
14067
+ };
14068
+ })();
14069
+
14070
+ var singleton = null;
14071
+ var singletonCounter = 0;
14072
+ var stylesInsertedAtTop = [];
14073
+
14074
+ var fixUrls = __webpack_require__(71);
14075
+
14076
+ module.exports = function(list, options) {
14077
+ if (typeof DEBUG !== "undefined" && DEBUG) {
14078
+ if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
14079
+ }
14080
+
14081
+ options = options || {};
14082
+
14083
+ options.attrs = typeof options.attrs === "object" ? options.attrs : {};
14084
+
14085
+ // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
14086
+ // tags it will allow on a page
14087
+ if (!options.singleton && typeof options.singleton !== "boolean") options.singleton = isOldIE();
14088
+
14089
+ // By default, add <style> tags to the <head> element
14090
+ if (!options.insertInto) options.insertInto = "head";
14091
+
14092
+ // By default, add <style> tags to the bottom of the target
14093
+ if (!options.insertAt) options.insertAt = "bottom";
14094
+
14095
+ var styles = listToStyles(list, options);
14096
+
14097
+ addStylesToDom(styles, options);
14098
+
14099
+ return function update (newList) {
14100
+ var mayRemove = [];
14101
+
14102
+ for (var i = 0; i < styles.length; i++) {
14103
+ var item = styles[i];
14104
+ var domStyle = stylesInDom[item.id];
14105
+
14106
+ domStyle.refs--;
14107
+ mayRemove.push(domStyle);
14108
+ }
14109
+
14110
+ if(newList) {
14111
+ var newStyles = listToStyles(newList, options);
14112
+ addStylesToDom(newStyles, options);
14113
+ }
14114
+
14115
+ for (var i = 0; i < mayRemove.length; i++) {
14116
+ var domStyle = mayRemove[i];
14117
+
14118
+ if(domStyle.refs === 0) {
14119
+ for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();
14120
+
14121
+ delete stylesInDom[domStyle.id];
14122
+ }
14123
+ }
14124
+ };
14125
+ };
14126
+
14127
+ function addStylesToDom (styles, options) {
14128
+ for (var i = 0; i < styles.length; i++) {
14129
+ var item = styles[i];
14130
+ var domStyle = stylesInDom[item.id];
14131
+
14132
+ if(domStyle) {
14133
+ domStyle.refs++;
14134
+
14135
+ for(var j = 0; j < domStyle.parts.length; j++) {
14136
+ domStyle.parts[j](item.parts[j]);
14137
+ }
14138
+
14139
+ for(; j < item.parts.length; j++) {
14140
+ domStyle.parts.push(addStyle(item.parts[j], options));
14141
+ }
14142
+ } else {
14143
+ var parts = [];
14144
+
14145
+ for(var j = 0; j < item.parts.length; j++) {
14146
+ parts.push(addStyle(item.parts[j], options));
14147
+ }
14148
+
14149
+ stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};
14150
+ }
14151
+ }
14152
+ }
14153
+
14154
+ function listToStyles (list, options) {
14155
+ var styles = [];
14156
+ var newStyles = {};
14157
+
14158
+ for (var i = 0; i < list.length; i++) {
14159
+ var item = list[i];
14160
+ var id = options.base ? item[0] + options.base : item[0];
14161
+ var css = item[1];
14162
+ var media = item[2];
14163
+ var sourceMap = item[3];
14164
+ var part = {css: css, media: media, sourceMap: sourceMap};
14165
+
14166
+ if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});
14167
+ else newStyles[id].parts.push(part);
14168
+ }
14169
+
14170
+ return styles;
14171
+ }
14172
+
14173
+ function insertStyleElement (options, style) {
14174
+ var target = getElement(options.insertInto)
14175
+
14176
+ if (!target) {
14177
+ throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
14178
+ }
14179
+
14180
+ var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];
14181
+
14182
+ if (options.insertAt === "top") {
14183
+ if (!lastStyleElementInsertedAtTop) {
14184
+ target.insertBefore(style, target.firstChild);
14185
+ } else if (lastStyleElementInsertedAtTop.nextSibling) {
14186
+ target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);
14187
+ } else {
14188
+ target.appendChild(style);
14189
+ }
14190
+ stylesInsertedAtTop.push(style);
14191
+ } else if (options.insertAt === "bottom") {
14192
+ target.appendChild(style);
14193
+ } else if (typeof options.insertAt === "object" && options.insertAt.before) {
14194
+ var nextSibling = getElement(options.insertInto + " " + options.insertAt.before);
14195
+ target.insertBefore(style, nextSibling);
14196
+ } else {
14197
+ 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");
14198
+ }
14199
+ }
14200
+
14201
+ function removeStyleElement (style) {
14202
+ if (style.parentNode === null) return false;
14203
+ style.parentNode.removeChild(style);
14204
+
14205
+ var idx = stylesInsertedAtTop.indexOf(style);
14206
+ if(idx >= 0) {
14207
+ stylesInsertedAtTop.splice(idx, 1);
14208
+ }
14209
+ }
14210
+
14211
+ function createStyleElement (options) {
14212
+ var style = document.createElement("style");
14213
+
14214
+ options.attrs.type = "text/css";
14215
+
14216
+ addAttrs(style, options.attrs);
14217
+ insertStyleElement(options, style);
14218
+
14219
+ return style;
14220
+ }
14221
+
14222
+ function createLinkElement (options) {
14223
+ var link = document.createElement("link");
14224
+
14225
+ options.attrs.type = "text/css";
14226
+ options.attrs.rel = "stylesheet";
14227
+
14228
+ addAttrs(link, options.attrs);
14229
+ insertStyleElement(options, link);
14230
+
14231
+ return link;
14232
+ }
14233
+
14234
+ function addAttrs (el, attrs) {
14235
+ Object.keys(attrs).forEach(function (key) {
14236
+ el.setAttribute(key, attrs[key]);
14237
+ });
14238
+ }
14239
+
14240
+ function addStyle (obj, options) {
14241
+ var style, update, remove, result;
14242
+
14243
+ // If a transform function was defined, run it on the css
14244
+ if (options.transform && obj.css) {
14245
+ result = options.transform(obj.css);
14246
+
14247
+ if (result) {
14248
+ // If transform returns a value, use that instead of the original css.
14249
+ // This allows running runtime transformations on the css.
14250
+ obj.css = result;
14251
+ } else {
14252
+ // If the transform function returns a falsy value, don't add this css.
14253
+ // This allows conditional loading of css
14254
+ return function() {
14255
+ // noop
14256
+ };
14257
+ }
14258
+ }
14259
+
14260
+ if (options.singleton) {
14261
+ var styleIndex = singletonCounter++;
14262
+
14263
+ style = singleton || (singleton = createStyleElement(options));
14264
+
14265
+ update = applyToSingletonTag.bind(null, style, styleIndex, false);
14266
+ remove = applyToSingletonTag.bind(null, style, styleIndex, true);
14267
+
14268
+ } else if (
14269
+ obj.sourceMap &&
14270
+ typeof URL === "function" &&
14271
+ typeof URL.createObjectURL === "function" &&
14272
+ typeof URL.revokeObjectURL === "function" &&
14273
+ typeof Blob === "function" &&
14274
+ typeof btoa === "function"
14275
+ ) {
14276
+ style = createLinkElement(options);
14277
+ update = updateLink.bind(null, style, options);
14278
+ remove = function () {
14279
+ removeStyleElement(style);
14280
+
14281
+ if(style.href) URL.revokeObjectURL(style.href);
14282
+ };
14283
+ } else {
14284
+ style = createStyleElement(options);
14285
+ update = applyToTag.bind(null, style);
14286
+ remove = function () {
14287
+ removeStyleElement(style);
14288
+ };
14289
+ }
14290
+
14291
+ update(obj);
14292
+
14293
+ return function updateStyle (newObj) {
14294
+ if (newObj) {
14295
+ if (
14296
+ newObj.css === obj.css &&
14297
+ newObj.media === obj.media &&
14298
+ newObj.sourceMap === obj.sourceMap
14299
+ ) {
14300
+ return;
14301
+ }
14302
+
14303
+ update(obj = newObj);
14304
+ } else {
14305
+ remove();
14306
+ }
14307
+ };
14308
+ }
14309
+
14310
+ var replaceText = (function () {
14311
+ var textStore = [];
14312
+
14313
+ return function (index, replacement) {
14314
+ textStore[index] = replacement;
14315
+
14316
+ return textStore.filter(Boolean).join('\n');
14317
+ };
14318
+ })();
14319
+
14320
+ function applyToSingletonTag (style, index, remove, obj) {
14321
+ var css = remove ? "" : obj.css;
14322
+
14323
+ if (style.styleSheet) {
14324
+ style.styleSheet.cssText = replaceText(index, css);
14325
+ } else {
14326
+ var cssNode = document.createTextNode(css);
14327
+ var childNodes = style.childNodes;
14328
+
14329
+ if (childNodes[index]) style.removeChild(childNodes[index]);
14330
+
14331
+ if (childNodes.length) {
14332
+ style.insertBefore(cssNode, childNodes[index]);
14333
+ } else {
14334
+ style.appendChild(cssNode);
14335
+ }
14336
+ }
14337
+ }
14338
+
14339
+ function applyToTag (style, obj) {
14340
+ var css = obj.css;
14341
+ var media = obj.media;
14342
+
14343
+ if(media) {
14344
+ style.setAttribute("media", media)
14345
+ }
14346
+
14347
+ if(style.styleSheet) {
14348
+ style.styleSheet.cssText = css;
14349
+ } else {
14350
+ while(style.firstChild) {
14351
+ style.removeChild(style.firstChild);
14352
+ }
14353
+
14354
+ style.appendChild(document.createTextNode(css));
14355
+ }
14356
+ }
14357
+
14358
+ function updateLink (link, options, obj) {
14359
+ var css = obj.css;
14360
+ var sourceMap = obj.sourceMap;
14361
+
14362
+ /*
14363
+ If convertToAbsoluteUrls isn't defined, but sourcemaps are enabled
14364
+ and there is no publicPath defined then lets turn convertToAbsoluteUrls
14365
+ on by default. Otherwise default to the convertToAbsoluteUrls option
14366
+ directly
14367
+ */
14368
+ var autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;
14369
+
14370
+ if (options.convertToAbsoluteUrls || autoFixUrls) {
14371
+ css = fixUrls(css);
14372
+ }
14373
+
14374
+ if (sourceMap) {
14375
+ // http://stackoverflow.com/a/26603875
14376
+ css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */";
14377
+ }
14378
+
14379
+ var blob = new Blob([css], { type: "text/css" });
14380
+
14381
+ var oldSrc = link.href;
14382
+
14383
+ link.href = URL.createObjectURL(blob);
14384
+
14385
+ if(oldSrc) URL.revokeObjectURL(oldSrc);
14386
+ }
14387
+
14388
+
14389
+ /***/ }),
14390
+ /* 17 */
14391
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14392
+
14393
+ "use strict";
14394
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(1);
14395
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery__ = __webpack_require__(18);
14396
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_jquery__);
14397
+ //
14398
+ //
14399
+ //
14400
+ //
14401
+ //
14402
+
14403
+
14404
+
14405
+
14406
+ // Check if the request came from the browser and is not server rendered
14407
+ if (typeof window !== 'undefined') {
14408
+ const slick = __webpack_require__(73);
14409
+ }
14410
+
14411
+ /* harmony default export */ __webpack_exports__["a"] = ({
14412
+ props: {
14413
+ options: {
14414
+ type: Object,
14415
+ default: function () {
14416
+ return {};
14417
+ }
14418
+ }
14419
+ },
14420
+
14421
+ mounted: function () {
14422
+ this.create();
14423
+ },
14424
+
14425
+ destroyed: function () {
14426
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('unslick');
14427
+ },
14428
+
14429
+ methods: {
14430
+ create: function () {
14431
+ const $slick = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el);
14432
+
14433
+ $slick.on('afterChange', this.onAfterChange);
14434
+ $slick.on('beforeChange', this.onBeforeChange);
14435
+ $slick.on('breakpoint', this.onBreakpoint);
14436
+ $slick.on('destroy', this.onDestroy);
14437
+ $slick.on('edge', this.onEdge);
14438
+ $slick.on('init', this.onInit);
14439
+ $slick.on('reInit', this.onReInit);
14440
+ $slick.on('setPosition', this.onSetPosition);
14441
+ $slick.on('swipe', this.onSwipe);
14442
+ $slick.on('lazyLoaded', this.onLazyLoaded);
14443
+ $slick.on('lazyLoadError', this.onLazyLoadError);
14444
+
14445
+ $slick.slick(this.options);
14446
+ },
14447
+
14448
+ destroy: function () {
14449
+ const $slick = __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el);
14450
+
14451
+ $slick.off('afterChange', this.onAfterChange);
14452
+ $slick.off('beforeChange', this.onBeforeChange);
14453
+ $slick.off('breakpoint', this.onBreakpoint);
14454
+ $slick.off('destroy', this.onDestroy);
14455
+ $slick.off('edge', this.onEdge);
14456
+ $slick.off('init', this.onInit);
14457
+ $slick.off('reInit', this.onReInit);
14458
+ $slick.off('setPosition', this.onSetPosition);
14459
+ $slick.off('swipe', this.onSwipe);
14460
+ $slick.off('lazyLoaded', this.onLazyLoaded);
14461
+ $slick.off('lazyLoadError', this.onLazyLoadError);
14462
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('unslick');
14463
+ },
14464
+
14465
+ reSlick: function () {
14466
+ this.destroy();
14467
+ this.create();
14468
+ },
14469
+
14470
+ next: function () {
14471
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickNext');
14472
+ },
14473
+
14474
+ prev: function () {
14475
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickPrev');
14476
+ },
14477
+
14478
+ pause: function () {
14479
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickPause');
14480
+ },
14481
+
14482
+ play: function () {
14483
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickPlay');
14484
+ },
14485
+
14486
+ goTo: function (index, dontAnimate) {
14487
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickGoTo', index, dontAnimate);
14488
+ },
14489
+
14490
+ currentSlide: function () {
14491
+ return __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickCurrentSlide');
14492
+ },
14493
+
14494
+ add: function (element, index, addBefore) {
14495
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickAdd', element, index, addBefore);
14496
+ },
14497
+
14498
+ remove: function (index, removeBefore) {
14499
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickRemove', index, removeBefore);
14500
+ },
14501
+
14502
+ filter: function (filterData) {
14503
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickFilter', filterData);
14504
+ },
14505
+
14506
+ unfilter: function () {
14507
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickUnfilter');
14508
+ },
14509
+
14510
+ getOption: function (option) {
14511
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickGetOption', option);
14512
+ },
14513
+
14514
+ setOption: function (option, value, refresh) {
14515
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('slickSetOption', option, value, refresh);
14516
+ },
14517
+
14518
+ setPosition: function () {
14519
+ __WEBPACK_IMPORTED_MODULE_1_jquery___default()(this.$el).slick('setPosition');
14520
+ },
14521
+
14522
+ // Events
14523
+ onAfterChange: function (event, slick, currentSlide) {
14524
+ this.$emit('afterChange', event, slick, currentSlide);
14525
+ },
14526
+
14527
+ onBeforeChange: function (event, slick, currentSlide, nextSlide) {
14528
+ this.$emit('beforeChange', event, slick, currentSlide, nextSlide);
14529
+ },
14530
+
14531
+ onBreakpoint: function (event, slick, breakpoint) {
14532
+ this.$emit('breakpoint', event, slick, breakpoint);
14533
+ },
14534
+
14535
+ onDestroy: function (event, slick) {
14536
+ this.$emit('destroy', event, slick);
14537
+ },
14538
+
14539
+ onEdge: function (event, slick, direction) {
14540
+ this.$emit('edge', event, slick, direction);
14541
+ },
14542
+
14543
+ onInit: function (event, slick) {
14544
+ this.$emit('init', event, slick);
14545
+ },
14546
+
14547
+ onReInit: function (event, slick) {
14548
+ this.$emit('reInit', event, slick);
14549
+ },
14550
+
14551
+ onSetPosition: function (event, slick) {
14552
+ this.$emit('setPosition', event, slick);
14553
+ },
14554
+
14555
+ onSwipe: function (event, slick, direction) {
14556
+ this.$emit('swipe', event, slick, direction);
14557
+ },
14558
+
14559
+ onLazyLoaded: function (event, slick, image, imageSource) {
14560
+ this.$emit('lazyLoaded', event, slick, image, imageSource);
14561
+ },
14562
+
14563
+ onLazyLoadError: function (event, slick, image, imageSource) {
14564
+ this.$emit('lazyLoadError', event, slick, image, imageSource);
14565
+ }
14566
+ }
14567
+
14568
+ });
14569
+
14570
+ /***/ }),
14571
+ /* 18 */,
14572
+ /* 19 */,
14573
+ /* 20 */,
14574
+ /* 21 */,
14575
+ /* 22 */,
14576
+ /* 23 */
14577
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14578
+
14579
+ "use strict";
14580
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixin_color__ = __webpack_require__(86);
14581
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_EditableInput_vue__ = __webpack_require__(88);
14582
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_Saturation_vue__ = __webpack_require__(91);
14583
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__common_Hue_vue__ = __webpack_require__(95);
14584
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_Alpha_vue__ = __webpack_require__(98);
14585
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_Checkboard_vue__ = __webpack_require__(28);
14586
+ //
14587
+ //
14588
+ //
14589
+ //
14590
+ //
14591
+ //
14592
+ //
14593
+ //
14594
+ //
14595
+ //
14596
+ //
14597
+ //
14598
+ //
14599
+ //
14600
+ //
14601
+ //
14602
+ //
14603
+ //
14604
+ //
14605
+ //
14606
+ //
14607
+ //
14608
+ //
14609
+ //
14610
+ //
14611
+ //
14612
+ //
14613
+ //
14614
+ //
14615
+ //
14616
+ //
14617
+ //
14618
+ //
14619
+ //
14620
+ //
14621
+ //
14622
+ //
14623
+ //
14624
+ //
14625
+ //
14626
+ //
14627
+ //
14628
+ //
14629
+ //
14630
+ //
14631
+ //
14632
+ //
14633
+ //
14634
+
14635
+
14636
+
14637
+
14638
+
14639
+
14640
+
14641
+
14642
+ const presetColors = ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF'];
14643
+
14644
+ /* harmony default export */ __webpack_exports__["a"] = ({
14645
+ name: 'Sketch',
14646
+ mixins: [__WEBPACK_IMPORTED_MODULE_0__mixin_color__["a" /* default */]],
14647
+ components: {
14648
+ saturation: __WEBPACK_IMPORTED_MODULE_2__common_Saturation_vue__["a" /* default */],
14649
+ hue: __WEBPACK_IMPORTED_MODULE_3__common_Hue_vue__["a" /* default */],
14650
+ alpha: __WEBPACK_IMPORTED_MODULE_4__common_Alpha_vue__["a" /* default */],
14651
+ 'ed-in': __WEBPACK_IMPORTED_MODULE_1__common_EditableInput_vue__["a" /* default */],
14652
+ checkboard: __WEBPACK_IMPORTED_MODULE_5__common_Checkboard_vue__["a" /* default */]
14653
+ },
14654
+ props: {
14655
+ presetColors: {
14656
+ type: Array,
14657
+ default() {
14658
+ return presetColors;
14659
+ }
14660
+ },
14661
+ disableAlpha: {
14662
+ type: Boolean,
14663
+ default: false
14664
+ },
14665
+ disableFields: {
14666
+ type: Boolean,
14667
+ default: false
14668
+ }
14669
+ },
14670
+ computed: {
14671
+ hex() {
14672
+ return this.colors.hex.replace('#', '');
14673
+ },
14674
+ activeColor() {
14675
+ var rgba = this.colors.rgba;
14676
+ return 'rgba(' + [rgba.r, rgba.g, rgba.b, rgba.a].join(',') + ')';
14677
+ }
14678
+ },
14679
+ methods: {
14680
+ handlePreset(c) {
14681
+ this.colorChange({
14682
+ hex: c,
14683
+ source: 'hex'
14684
+ });
14685
+ },
14686
+ childChange(data) {
14687
+ this.colorChange(data);
14688
+ },
14689
+ inputChange(data) {
14690
+ if (!data) {
14691
+ return;
14692
+ }
14693
+ if (data.hex) {
14694
+ this.isValidHex(data.hex) && this.colorChange({
14695
+ hex: data.hex,
14696
+ source: 'hex'
14697
+ });
14698
+ } else if (data.r || data.g || data.b || data.a) {
14699
+ this.colorChange({
14700
+ r: data.r || this.colors.rgba.r,
14701
+ g: data.g || this.colors.rgba.g,
14702
+ b: data.b || this.colors.rgba.b,
14703
+ a: data.a || this.colors.rgba.a,
14704
+ source: 'rgba'
14705
+ });
14706
+ }
14707
+ }
14708
+ }
14709
+ });
14710
+
14711
+ /***/ }),
14712
+ /* 24 */
14713
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14714
+
14715
+ "use strict";
14716
+ //
14717
+ //
14718
+ //
14719
+ //
14720
+ //
14721
+ //
14722
+ //
14723
+ //
14724
+ //
14725
+ //
14726
+ //
14727
+ //
14728
+ //
14729
+
14730
+ /* harmony default export */ __webpack_exports__["a"] = ({
14731
+ name: 'editableInput',
14732
+ props: {
14733
+ label: String,
14734
+ desc: String,
14735
+ value: [String, Number],
14736
+ max: Number,
14737
+ min: Number,
14738
+ arrowOffset: {
14739
+ type: Number,
14740
+ default: 1
14741
+ }
14742
+ },
14743
+ computed: {
14744
+ val: {
14745
+ get() {
14746
+ return this.value;
14747
+ },
14748
+ set(v) {
14749
+ // TODO: min
14750
+ if (!(this.max === undefined) && +v > this.max) {
14751
+ this.$refs.input.value = this.max;
14752
+ } else {
14753
+ return v;
14754
+ }
14755
+ }
14756
+ }
14757
+ },
14758
+ methods: {
14759
+ update(e) {
14760
+ this.handleChange(e.target.value);
14761
+ },
14762
+ handleChange(newVal) {
14763
+ let data = {};
14764
+ data[this.label] = newVal;
14765
+ if (data.hex === undefined && data['#'] === undefined) {
14766
+ this.$emit('change', data);
14767
+ } else if (newVal.length > 5) {
14768
+ this.$emit('change', data);
14769
+ }
14770
+ },
14771
+ handleBlur(e) {
14772
+ console.log(e);
14773
+ },
14774
+ handleKeyDown(e) {
14775
+ let val = this.val;
14776
+ let number = Number(val);
14777
+
14778
+ if (number) {
14779
+ let amount = this.arrowOffset || 1;
14780
+
14781
+ // Up
14782
+ if (e.keyCode === 38) {
14783
+ val = number + amount;
14784
+ this.handleChange(val);
14785
+ e.preventDefault();
14786
+ }
14787
+
14788
+ // Down
14789
+ if (e.keyCode === 40) {
14790
+ val = number - amount;
14791
+ this.handleChange(val);
14792
+ e.preventDefault();
14793
+ }
14794
+ }
14795
+ },
14796
+ handleDrag(e) {
14797
+ console.log(e);
14798
+ },
14799
+ handleMouseDown(e) {
14800
+ console.log(e);
14801
+ }
14802
+ }
14803
+ });
14804
+
14805
+ /***/ }),
14806
+ /* 25 */
14807
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14808
+
14809
+ "use strict";
14810
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_throttle__ = __webpack_require__(93);
14811
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_throttle___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash_throttle__);
14812
+ //
14813
+ //
14814
+ //
14815
+ //
14816
+ //
14817
+ //
14818
+ //
14819
+ //
14820
+ //
14821
+ //
14822
+ //
14823
+ //
14824
+ //
14825
+ //
14826
+ //
14827
+
14828
+
14829
+
14830
+ /* harmony default export */ __webpack_exports__["a"] = ({
14831
+ name: 'Saturation',
14832
+ props: {
14833
+ value: Object
14834
+ },
14835
+ computed: {
14836
+ colors() {
14837
+ return this.value;
14838
+ },
14839
+ bgColor() {
14840
+ return `hsl(${this.colors.hsv.h}, 100%, 50%)`;
14841
+ },
14842
+ pointerTop() {
14843
+ return -(this.colors.hsv.v * 100) + 1 + 100 + '%';
14844
+ },
14845
+ pointerLeft() {
14846
+ return this.colors.hsv.s * 100 + '%';
14847
+ }
14848
+ },
14849
+ methods: {
14850
+ throttle: __WEBPACK_IMPORTED_MODULE_0_lodash_throttle___default()((fn, data) => {
14851
+ fn(data);
14852
+ }, 20, {
14853
+ 'leading': true,
14854
+ 'trailing': false
14855
+ }),
14856
+ handleChange(e, skip) {
14857
+ !skip && e.preventDefault();
14858
+ var container = this.$refs.container;
14859
+ var containerWidth = container.clientWidth;
14860
+ var containerHeight = container.clientHeight;
14861
+
14862
+ var xOffset = container.getBoundingClientRect().left + window.pageXOffset;
14863
+ var yOffset = container.getBoundingClientRect().top + window.pageYOffset;
14864
+ var pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);
14865
+ var pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);
14866
+ var left = pageX - xOffset;
14867
+ var top = pageY - yOffset;
14868
+
14869
+ if (left < 0) {
14870
+ left = 0;
14871
+ } else if (left > containerWidth) {
14872
+ left = containerWidth;
14873
+ } else if (top < 0) {
14874
+ top = 0;
14875
+ } else if (top > containerHeight) {
14876
+ top = containerHeight;
14877
+ }
14878
+
14879
+ var saturation = left / containerWidth;
14880
+ var bright = -(top / containerHeight) + 1;
14881
+
14882
+ bright = bright > 0 ? bright : 0;
14883
+ bright = bright > 1 ? 1 : bright;
14884
+
14885
+ this.throttle(this.onChange, {
14886
+ h: this.colors.hsv.h,
14887
+ s: saturation,
14888
+ v: bright,
14889
+ a: this.colors.hsv.a,
14890
+ source: 'hsva'
14891
+ });
14892
+ },
14893
+ onChange(param) {
14894
+ this.$emit('change', param);
14895
+ },
14896
+ handleMouseDown(e) {
14897
+ // this.handleChange(e, true)
14898
+ window.addEventListener('mousemove', this.handleChange);
14899
+ window.addEventListener('mouseup', this.handleChange);
14900
+ window.addEventListener('mouseup', this.handleMouseUp);
14901
+ },
14902
+ handleMouseUp(e) {
14903
+ this.unbindEventListeners();
14904
+ },
14905
+ unbindEventListeners() {
14906
+ window.removeEventListener('mousemove', this.handleChange);
14907
+ window.removeEventListener('mouseup', this.handleChange);
14908
+ window.removeEventListener('mouseup', this.handleMouseUp);
14909
+ }
14910
+ }
14911
+ });
14912
+
14913
+ /***/ }),
14914
+ /* 26 */
14915
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
14916
+
14917
+ "use strict";
14918
+ //
14919
+ //
14920
+ //
14921
+ //
14922
+ //
14923
+ //
14924
+ //
14925
+ //
14926
+ //
14927
+ //
14928
+ //
14929
+ //
14930
+ //
14931
+
14932
+ /* harmony default export */ __webpack_exports__["a"] = ({
14933
+ name: 'Hue',
14934
+ props: {
14935
+ value: Object,
14936
+ direction: {
14937
+ type: String,
14938
+ // [horizontal | vertical]
14939
+ default: 'horizontal'
14940
+ }
14941
+ },
14942
+ data() {
14943
+ return {
14944
+ oldHue: 0,
14945
+ pullDirection: ''
14946
+ };
14947
+ },
14948
+ computed: {
14949
+ colors() {
14950
+ const h = this.value.hsl.h;
14951
+ if (h !== 0 && h - this.oldHue > 0) this.pullDirection = 'right';
14952
+ if (h !== 0 && h - this.oldHue < 0) this.pullDirection = 'left';
14953
+ this.oldHue = h;
14954
+
14955
+ return this.value;
14956
+ },
14957
+ directionClass() {
14958
+ return {
14959
+ 'vc-hue--horizontal': this.direction === 'horizontal',
14960
+ 'vc-hue--vertical': this.direction === 'vertical'
14961
+ };
14962
+ },
14963
+ pointerTop() {
14964
+ if (this.direction === 'vertical') {
14965
+ if (this.colors.hsl.h === 0 && this.pullDirection === 'right') return 0;
14966
+ return -(this.colors.hsl.h * 100 / 360) + 100 + '%';
14967
+ } else {
14968
+ return 0;
14969
+ }
14970
+ },
14971
+ pointerLeft() {
14972
+ if (this.direction === 'vertical') {
14973
+ return 0;
14974
+ } else {
14975
+ if (this.colors.hsl.h === 0 && this.pullDirection === 'right') return '100%';
14976
+ return this.colors.hsl.h * 100 / 360 + '%';
14977
+ }
14978
+ }
14979
+ },
14980
+ methods: {
14981
+ handleChange(e, skip) {
14982
+ !skip && e.preventDefault();
14983
+
14984
+ var container = this.$refs.container;
14985
+ var containerWidth = container.clientWidth;
14986
+ var containerHeight = container.clientHeight;
14987
+
14988
+ var xOffset = container.getBoundingClientRect().left + window.pageXOffset;
14989
+ var yOffset = container.getBoundingClientRect().top + window.pageYOffset;
14990
+ var pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);
14991
+ var pageY = e.pageY || (e.touches ? e.touches[0].pageY : 0);
14992
+ var left = pageX - xOffset;
14993
+ var top = pageY - yOffset;
14994
+
14995
+ var h;
14996
+ var percent;
14997
+
14998
+ if (this.direction === 'vertical') {
14999
+ if (top < 0) {
15000
+ h = 360;
15001
+ } else if (top > containerHeight) {
15002
+ h = 0;
15003
+ } else {
15004
+ percent = -(top * 100 / containerHeight) + 100;
15005
+ h = 360 * percent / 100;
15006
+ }
15007
+
15008
+ if (this.colors.hsl.h !== h) {
15009
+ this.$emit('change', {
15010
+ h: h,
15011
+ s: this.colors.hsl.s,
15012
+ l: this.colors.hsl.l,
15013
+ a: this.colors.hsl.a,
15014
+ source: 'hsl'
15015
+ });
15016
+ }
15017
+ } else {
15018
+ if (left < 0) {
15019
+ h = 0;
15020
+ } else if (left > containerWidth) {
15021
+ h = 360;
15022
+ } else {
15023
+ percent = left * 100 / containerWidth;
15024
+ h = 360 * percent / 100;
15025
+ }
15026
+
15027
+ if (this.colors.hsl.h !== h) {
15028
+ this.$emit('change', {
15029
+ h: h,
15030
+ s: this.colors.hsl.s,
15031
+ l: this.colors.hsl.l,
15032
+ a: this.colors.hsl.a,
15033
+ source: 'hsl'
15034
+ });
15035
+ }
15036
+ }
15037
+ },
15038
+ handleMouseDown(e) {
15039
+ this.handleChange(e, true);
15040
+ window.addEventListener('mousemove', this.handleChange);
15041
+ window.addEventListener('mouseup', this.handleMouseUp);
15042
+ },
15043
+ handleMouseUp(e) {
15044
+ this.unbindEventListeners();
15045
+ },
15046
+ unbindEventListeners() {
15047
+ window.removeEventListener('mousemove', this.handleChange);
15048
+ window.removeEventListener('mouseup', this.handleMouseUp);
15049
+ }
15050
+ }
15051
+ });
15052
+
15053
+ /***/ }),
15054
+ /* 27 */
15055
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15056
+
15057
+ "use strict";
15058
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Checkboard_vue__ = __webpack_require__(28);
15059
+ //
15060
+ //
15061
+ //
15062
+ //
15063
+ //
15064
+ //
15065
+ //
15066
+ //
15067
+ //
15068
+ //
15069
+ //
15070
+ //
15071
+ //
15072
+ //
15073
+ //
15074
+ //
15075
+ //
15076
+
15077
+
15078
+
15079
+ /* harmony default export */ __webpack_exports__["a"] = ({
15080
+ name: 'Alpha',
15081
+ props: {
15082
+ value: Object,
15083
+ onChange: Function
15084
+ },
15085
+ components: {
15086
+ checkboard: __WEBPACK_IMPORTED_MODULE_0__Checkboard_vue__["a" /* default */]
15087
+ },
15088
+ computed: {
15089
+ colors() {
15090
+ return this.value;
15091
+ },
15092
+ gradientColor() {
15093
+ var rgba = this.colors.rgba;
15094
+ var rgbStr = [rgba.r, rgba.g, rgba.b].join(',');
15095
+ return 'linear-gradient(to right, rgba(' + rgbStr + ', 0) 0%, rgba(' + rgbStr + ', 1) 100%)';
15096
+ }
15097
+ },
15098
+ methods: {
15099
+ handleChange(e, skip) {
15100
+ !skip && e.preventDefault();
15101
+ var container = this.$refs.container;
15102
+ var containerWidth = container.clientWidth;
15103
+
15104
+ var xOffset = container.getBoundingClientRect().left + window.pageXOffset;
15105
+ var pageX = e.pageX || (e.touches ? e.touches[0].pageX : 0);
15106
+ var left = pageX - xOffset;
15107
+
15108
+ var a;
15109
+ if (left < 0) {
15110
+ a = 0;
15111
+ } else if (left > containerWidth) {
15112
+ a = 1;
15113
+ } else {
15114
+ a = Math.round(left * 100 / containerWidth) / 100;
15115
+ }
15116
+
15117
+ if (this.colors.a !== a) {
15118
+ this.$emit('change', {
15119
+ h: this.colors.hsl.h,
15120
+ s: this.colors.hsl.s,
15121
+ l: this.colors.hsl.l,
15122
+ a: a,
15123
+ source: 'rgba'
15124
+ });
15125
+ }
15126
+ },
15127
+ handleMouseDown(e) {
15128
+ this.handleChange(e, true);
15129
+ window.addEventListener('mousemove', this.handleChange);
15130
+ window.addEventListener('mouseup', this.handleMouseUp);
15131
+ },
15132
+ handleMouseUp() {
15133
+ this.unbindEventListeners();
15134
+ },
15135
+ unbindEventListeners() {
15136
+ window.removeEventListener('mousemove', this.handleChange);
15137
+ window.removeEventListener('mouseup', this.handleMouseUp);
15138
+ }
15139
+ }
15140
+ });
15141
+
15142
+ /***/ }),
15143
+ /* 28 */
15144
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15145
+
15146
+ "use strict";
15147
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_loader_lib_selector_type_script_index_0_Checkboard_vue__ = __webpack_require__(29);
15148
+ /* unused harmony namespace reexport */
15149
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vue_loader_lib_template_compiler_index_id_data_v_550f7e4e_hasScoped_false_buble_transforms_vue_loader_lib_selector_type_template_index_0_Checkboard_vue__ = __webpack_require__(101);
15150
+ var disposed = false
15151
+ function injectStyle (ssrContext) {
15152
+ if (disposed) return
15153
+ __webpack_require__(100)
15154
+ }
15155
+ var normalizeComponent = __webpack_require__(0)
15156
+ /* script */
15157
+
15158
+
15159
+ /* template */
15160
+
15161
+ /* template functional */
15162
+ var __vue_template_functional__ = false
15163
+ /* styles */
15164
+ var __vue_styles__ = injectStyle
15165
+ /* scopeId */
15166
+ var __vue_scopeId__ = null
15167
+ /* moduleIdentifier (server only) */
15168
+ var __vue_module_identifier__ = null
15169
+ var Component = normalizeComponent(
15170
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_loader_lib_selector_type_script_index_0_Checkboard_vue__["a" /* default */],
15171
+ __WEBPACK_IMPORTED_MODULE_1__vue_loader_lib_template_compiler_index_id_data_v_550f7e4e_hasScoped_false_buble_transforms_vue_loader_lib_selector_type_template_index_0_Checkboard_vue__["a" /* default */],
15172
+ __vue_template_functional__,
15173
+ __vue_styles__,
15174
+ __vue_scopeId__,
15175
+ __vue_module_identifier__
15176
+ )
15177
+ Component.options.__file = "node_modules/vue-color/src/components/common/Checkboard.vue"
15178
+
15179
+ /* hot reload */
15180
+ if (false) {(function () {
15181
+ var hotAPI = require("vue-hot-reload-api")
15182
+ hotAPI.install(require("vue"), false)
15183
+ if (!hotAPI.compatible) return
15184
+ module.hot.accept()
15185
+ if (!module.hot.data) {
15186
+ hotAPI.createRecord("data-v-550f7e4e", Component.options)
15187
+ } else {
15188
+ hotAPI.reload("data-v-550f7e4e", Component.options)
15189
+ }
15190
+ module.hot.dispose(function (data) {
15191
+ disposed = true
15192
+ })
15193
+ })()}
15194
+
15195
+ /* harmony default export */ __webpack_exports__["a"] = (Component.exports);
15196
+
15197
+
15198
+ /***/ }),
15199
+ /* 29 */
15200
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15201
+
15202
+ "use strict";
15203
+ //
15204
+ //
15205
+ //
15206
+ //
15207
+
15208
+ let _checkboardCache = {};
15209
+
15210
+ /* harmony default export */ __webpack_exports__["a"] = ({
15211
+ name: 'Checkboard',
15212
+ props: {
15213
+ size: {
15214
+ type: [Number, String],
15215
+ default: 8
15216
+ },
15217
+ white: {
15218
+ type: String,
15219
+ default: '#fff'
15220
+ },
15221
+ grey: {
15222
+ type: String,
15223
+ default: '#e6e6e6'
15224
+ }
15225
+ },
15226
+ computed: {
15227
+ bgStyle() {
15228
+ return {
15229
+ 'background-image': 'url(' + getCheckboard(this.white, this.grey, this.size) + ')'
15230
+ };
15231
+ }
15232
+ }
15233
+
15234
+ /**
15235
+ * get base 64 data by canvas
15236
+ *
15237
+ * @param {String} c1 hex color
15238
+ * @param {String} c2 hex color
15239
+ * @param {Number} size
15240
+ */
15241
+
15242
+ });function renderCheckboard(c1, c2, size) {
15243
+ // Dont Render On Server
15244
+ if (typeof document === 'undefined') {
15245
+ return null;
15246
+ }
15247
+ var canvas = document.createElement('canvas');
15248
+ canvas.width = canvas.height = size * 2;
15249
+ var ctx = canvas.getContext('2d');
15250
+ // If no context can be found, return early.
15251
+ if (!ctx) {
15252
+ return null;
15253
+ }
15254
+ ctx.fillStyle = c1;
15255
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
15256
+ ctx.fillStyle = c2;
15257
+ ctx.fillRect(0, 0, size, size);
15258
+ ctx.translate(size, size);
15259
+ ctx.fillRect(0, 0, size, size);
15260
+ return canvas.toDataURL();
15261
+ }
15262
+
15263
+ /**
15264
+ * get checkboard base data and cache
15265
+ *
15266
+ * @param {String} c1 hex color
15267
+ * @param {String} c2 hex color
15268
+ * @param {Number} size
15269
+ */
15270
+
15271
+ function getCheckboard(c1, c2, size) {
15272
+ var key = c1 + ',' + c2 + ',' + size;
15273
+
15274
+ if (_checkboardCache[key]) {
15275
+ return _checkboardCache[key];
15276
+ } else {
15277
+ var checkboard = renderCheckboard(c1, c2, size);
15278
+ _checkboardCache[key] = checkboard;
15279
+ return checkboard;
15280
+ }
15281
+ }
15282
+
15283
+ /***/ }),
15284
+ /* 30 */
15285
+ /***/ (function(module, exports, __webpack_require__) {
15286
+
15287
+ (function webpackUniversalModuleDefinition(root, factory) {
15288
+ if(true)
15289
+ module.exports = factory(__webpack_require__(1));
15290
+ else if(typeof define === 'function' && define.amd)
15291
+ define(["vue"], factory);
15292
+ else if(typeof exports === 'object')
15293
+ exports["vue-notification"] = factory(require("vue"));
15294
+ else
15295
+ root["vue-notification"] = factory(root["vue"]);
15296
+ })(this, function(__WEBPACK_EXTERNAL_MODULE_20__) {
15297
+ return /******/ (function(modules) { // webpackBootstrap
15298
+ /******/ // The module cache
15299
+ /******/ var installedModules = {};
15300
+ /******/
15301
+ /******/ // The require function
15302
+ /******/ function __webpack_require__(moduleId) {
15303
+ /******/
15304
+ /******/ // Check if module is in cache
15305
+ /******/ if(installedModules[moduleId]) {
15306
+ /******/ return installedModules[moduleId].exports;
15307
+ /******/ }
15308
+ /******/ // Create a new module (and put it into the cache)
15309
+ /******/ var module = installedModules[moduleId] = {
15310
+ /******/ i: moduleId,
15311
+ /******/ l: false,
15312
+ /******/ exports: {}
15313
+ /******/ };
15314
+ /******/
15315
+ /******/ // Execute the module function
15316
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
15317
+ /******/
15318
+ /******/ // Flag the module as loaded
15319
+ /******/ module.l = true;
15320
+ /******/
15321
+ /******/ // Return the exports of the module
15322
+ /******/ return module.exports;
15323
+ /******/ }
15324
+ /******/
15325
+ /******/
15326
+ /******/ // expose the modules object (__webpack_modules__)
15327
+ /******/ __webpack_require__.m = modules;
15328
+ /******/
15329
+ /******/ // expose the module cache
15330
+ /******/ __webpack_require__.c = installedModules;
15331
+ /******/
15332
+ /******/ // identity function for calling harmony imports with the correct context
15333
+ /******/ __webpack_require__.i = function(value) { return value; };
15334
+ /******/
15335
+ /******/ // define getter function for harmony exports
15336
+ /******/ __webpack_require__.d = function(exports, name, getter) {
15337
+ /******/ if(!__webpack_require__.o(exports, name)) {
15338
+ /******/ Object.defineProperty(exports, name, {
15339
+ /******/ configurable: false,
15340
+ /******/ enumerable: true,
15341
+ /******/ get: getter
15342
+ /******/ });
15343
+ /******/ }
15344
+ /******/ };
15345
+ /******/
15346
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
15347
+ /******/ __webpack_require__.n = function(module) {
15348
+ /******/ var getter = module && module.__esModule ?
15349
+ /******/ function getDefault() { return module['default']; } :
15350
+ /******/ function getModuleExports() { return module; };
15351
+ /******/ __webpack_require__.d(getter, 'a', getter);
15352
+ /******/ return getter;
15353
+ /******/ };
15354
+ /******/
15355
+ /******/ // Object.prototype.hasOwnProperty.call
15356
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
15357
+ /******/
15358
+ /******/ // __webpack_public_path__
15359
+ /******/ __webpack_require__.p = "/dist/";
15360
+ /******/
15361
+ /******/ // Load entry module and return exports
15362
+ /******/ return __webpack_require__(__webpack_require__.s = 2);
15363
+ /******/ })
15364
+ /************************************************************************/
15365
+ /******/ ([
15366
+ /* 0 */
15367
+ /***/ (function(module, exports) {
15368
+
15369
+ // this module is a runtime utility for cleaner component module output and will
15370
+ // be included in the final webpack user bundle
15371
+
15372
+ module.exports = function normalizeComponent (
15373
+ rawScriptExports,
15374
+ compiledTemplate,
15375
+ scopeId,
15376
+ cssModules
15377
+ ) {
15378
+ var esModule
15379
+ var scriptExports = rawScriptExports = rawScriptExports || {}
15380
+
15381
+ // ES6 modules interop
15382
+ var type = typeof rawScriptExports.default
15383
+ if (type === 'object' || type === 'function') {
15384
+ esModule = rawScriptExports
15385
+ scriptExports = rawScriptExports.default
15386
+ }
15387
+
15388
+ // Vue.extend constructor export interop
15389
+ var options = typeof scriptExports === 'function'
15390
+ ? scriptExports.options
15391
+ : scriptExports
15392
+
15393
+ // render functions
15394
+ if (compiledTemplate) {
15395
+ options.render = compiledTemplate.render
15396
+ options.staticRenderFns = compiledTemplate.staticRenderFns
15397
+ }
15398
+
15399
+ // scopedId
15400
+ if (scopeId) {
15401
+ options._scopeId = scopeId
15402
+ }
15403
+
15404
+ // inject cssModules
15405
+ if (cssModules) {
15406
+ var computed = Object.create(options.computed || null)
15407
+ Object.keys(cssModules).forEach(function (key) {
15408
+ var module = cssModules[key]
15409
+ computed[key] = function () { return module }
15410
+ })
15411
+ options.computed = computed
15412
+ }
15413
+
15414
+ return {
15415
+ esModule: esModule,
15416
+ exports: scriptExports,
15417
+ options: options
15418
+ }
15419
+ }
15420
+
15421
+
15422
+ /***/ }),
15423
+ /* 1 */
15424
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15425
+
15426
+ "use strict";
15427
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return events; });
15428
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(20);
15429
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
15430
+
15431
+ var events = new __WEBPACK_IMPORTED_MODULE_0_vue___default.a();
15432
+
15433
+ /***/ }),
15434
+ /* 2 */
15435
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15436
+
15437
+ "use strict";
15438
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
15439
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Notifications_vue__ = __webpack_require__(3);
15440
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Notifications_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__Notifications_vue__);
15441
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(1);
15442
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
15443
+
15444
+
15445
+
15446
+
15447
+ var Notify = {
15448
+ install: function install(Vue) {
15449
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15450
+
15451
+ if (this.installed) {
15452
+ return;
15453
+ }
15454
+
15455
+ this.installed = true;
15456
+ this.params = params;
15457
+
15458
+ Vue.component('notifications', __WEBPACK_IMPORTED_MODULE_0__Notifications_vue___default.a);
15459
+
15460
+ Vue.prototype.$notify = function (params) {
15461
+ if (typeof params === 'string') {
15462
+ params = { title: '', text: params };
15463
+ }
15464
+
15465
+ if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {
15466
+ __WEBPACK_IMPORTED_MODULE_1__events__["a" /* events */].$emit('add', params);
15467
+ }
15468
+ };
15469
+ }
15470
+ };
15471
+
15472
+ /* harmony default export */ __webpack_exports__["default"] = (Notify);
15473
+
15474
+ /***/ }),
15475
+ /* 3 */
15476
+ /***/ (function(module, exports, __webpack_require__) {
15477
+
15478
+
15479
+ /* styles */
15480
+ __webpack_require__(17)
15481
+
15482
+ var Component = __webpack_require__(0)(
15483
+ /* script */
15484
+ __webpack_require__(5),
15485
+ /* template */
15486
+ __webpack_require__(15),
15487
+ /* scopeId */
15488
+ null,
15489
+ /* cssModules */
15490
+ null
15491
+ )
15492
+
15493
+ module.exports = Component.exports
15494
+
15495
+
15496
+ /***/ }),
15497
+ /* 4 */
15498
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15499
+
15500
+ "use strict";
15501
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
15502
+
15503
+
15504
+ /* harmony default export */ __webpack_exports__["default"] = ({
15505
+ name: 'CssGroup',
15506
+ props: ['name']
15507
+ });
15508
+
15509
+ /***/ }),
15510
+ /* 5 */
15511
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15512
+
15513
+ "use strict";
15514
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
15515
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(2);
15516
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__events__ = __webpack_require__(1);
15517
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(9);
15518
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__defaults__ = __webpack_require__(7);
15519
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue__ = __webpack_require__(13);
15520
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue__);
15521
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CssGroup_vue__ = __webpack_require__(12);
15522
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CssGroup_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__CssGroup_vue__);
15523
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__parser__ = __webpack_require__(8);
15524
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15525
+
15526
+
15527
+
15528
+
15529
+
15530
+
15531
+
15532
+
15533
+
15534
+ var STATE = {
15535
+ IDLE: 0,
15536
+ DESTROYED: 2
15537
+ };
15538
+
15539
+ var Component = {
15540
+ name: 'Notifications',
15541
+ components: {
15542
+ VelocityGroup: __WEBPACK_IMPORTED_MODULE_4__VelocityGroup_vue___default.a,
15543
+ CssGroup: __WEBPACK_IMPORTED_MODULE_5__CssGroup_vue___default.a
15544
+ },
15545
+ props: {
15546
+ group: {
15547
+ type: String,
15548
+ default: ''
15549
+ },
15550
+
15551
+ width: {
15552
+ type: [Number, String],
15553
+ default: 300
15554
+ },
15555
+
15556
+ reverse: {
15557
+ type: Boolean,
15558
+ default: false
15559
+ },
15560
+
15561
+ position: {
15562
+ type: [String, Array],
15563
+ default: function _default() {
15564
+ return __WEBPACK_IMPORTED_MODULE_3__defaults__["a" /* default */].position;
15565
+ }
15566
+ },
15567
+
15568
+ classes: {
15569
+ type: String,
15570
+ default: 'vue-notification'
15571
+ },
15572
+
15573
+ animationType: {
15574
+ type: String,
15575
+ default: 'css',
15576
+ validator: function validator(value) {
15577
+ return value === 'css' || value === 'velocity';
15578
+ }
15579
+ },
15580
+
15581
+ animation: {
15582
+ type: Object,
15583
+ default: function _default() {
15584
+ return __WEBPACK_IMPORTED_MODULE_3__defaults__["a" /* default */].velocityAnimation;
15585
+ }
15586
+ },
15587
+
15588
+ animationName: {
15589
+ type: String,
15590
+ default: __WEBPACK_IMPORTED_MODULE_3__defaults__["a" /* default */].cssAnimation
15591
+ },
15592
+
15593
+ speed: {
15594
+ type: Number,
15595
+ default: 300
15596
+ },
15597
+
15598
+ cooldown: {
15599
+ type: Number,
15600
+ default: 0
15601
+ },
15602
+
15603
+ duration: {
15604
+ type: Number,
15605
+ default: 3000
15606
+ },
15607
+
15608
+ delay: {
15609
+ type: Number,
15610
+ default: 0
15611
+ },
15612
+
15613
+ max: {
15614
+ type: Number,
15615
+ default: Infinity
15616
+ }
15617
+ },
15618
+ data: function data() {
15619
+ return {
15620
+ list: [],
15621
+ velocity: __WEBPACK_IMPORTED_MODULE_0__index__["default"].params.velocity
15622
+ };
15623
+ },
15624
+ mounted: function mounted() {
15625
+ __WEBPACK_IMPORTED_MODULE_1__events__["a" /* events */].$on('add', this.addItem);
15626
+ },
15627
+
15628
+ computed: {
15629
+ actualWidth: function actualWidth() {
15630
+ return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__parser__["a" /* default */])(this.width);
15631
+ },
15632
+ isVA: function isVA() {
15633
+ return this.animationType === 'velocity';
15634
+ },
15635
+ componentName: function componentName() {
15636
+ return this.isVA ? 'VelocityGroup' : 'CssGroup';
15637
+ },
15638
+ styles: function styles() {
15639
+ var _listToDirection = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["a" /* listToDirection */])(this.position),
15640
+ x = _listToDirection.x,
15641
+ y = _listToDirection.y;
15642
+
15643
+ var width = this.actualWidth.value;
15644
+ var suffix = this.actualWidth.type;
15645
+
15646
+ var styles = _defineProperty({
15647
+ width: width + suffix
15648
+ }, y, '0px');
15649
+
15650
+ if (x === 'center') {
15651
+ styles['left'] = 'calc(50% - ' + width / 2 + suffix + ')';
15652
+ } else {
15653
+ styles[x] = '0px';
15654
+ }
15655
+
15656
+ return styles;
15657
+ },
15658
+ active: function active() {
15659
+ return this.list.filter(function (v) {
15660
+ return v.state !== STATE.DESTROYED;
15661
+ });
15662
+ },
15663
+ botToTop: function botToTop() {
15664
+ return this.styles.hasOwnProperty('bottom');
15665
+ }
15666
+ },
15667
+ methods: {
15668
+ addItem: function addItem(event) {
15669
+ var _this = this;
15670
+
15671
+ event.group = event.group || '';
15672
+
15673
+ if (this.group !== event.group) {
15674
+ return;
15675
+ }
15676
+
15677
+ if (event.clean || event.clear) {
15678
+ this.destroyAll();
15679
+ return;
15680
+ }
15681
+
15682
+ var duration = typeof event.duration === 'number' ? event.duration : this.duration;
15683
+
15684
+ var speed = typeof event.speed === 'number' ? event.speed : this.speed;
15685
+
15686
+ var title = event.title,
15687
+ text = event.text,
15688
+ type = event.type,
15689
+ data = event.data;
15690
+
15691
+
15692
+ var item = {
15693
+ id: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util__["b" /* Id */])(),
15694
+ title: title,
15695
+ text: text,
15696
+ type: type,
15697
+ state: STATE.IDLE,
15698
+ speed: speed,
15699
+ length: duration + 2 * speed,
15700
+ data: data
15701
+ };
15702
+
15703
+ if (duration >= 0) {
15704
+ item.timer = setTimeout(function () {
15705
+ _this.destroy(item);
15706
+ }, item.length);
15707
+ }
15708
+
15709
+ var direction = this.reverse ? !this.botToTop : this.botToTop;
15710
+
15711
+ var indexToDestroy = -1;
15712
+
15713
+ if (direction) {
15714
+ this.list.push(item);
15715
+
15716
+ if (this.active.length > this.max) {
15717
+ indexToDestroy = -1;
15718
+ }
15719
+ } else {
15720
+ this.list.unshift(item);
15721
+
15722
+ if (this.active.length > this.max) {
15723
+ indexToDestroy = this.active.length - 1;
15724
+ }
15725
+ }
15726
+
15727
+ if (indexToDestroy !== -1) {
15728
+ this.destroy(this.active[indexToDestroy]);
15729
+ }
15730
+ },
15731
+ notifyClass: function notifyClass(item) {
15732
+ return ['notification', this.classes, item.type];
15733
+ },
15734
+ notifyWrapperStyle: function notifyWrapperStyle(item) {
15735
+ return this.isVA ? null : {
15736
+ transition: 'all ' + item.speed + 'ms'
15737
+ };
15738
+ },
15739
+ destroy: function destroy(item) {
15740
+ clearTimeout(item.timer);
15741
+ item.state = STATE.DESTROYED;
15742
+
15743
+ if (!this.isVA) {
15744
+ this.clean();
15745
+ }
15746
+ },
15747
+ destroyAll: function destroyAll() {
15748
+ this.active.forEach(this.destroy);
15749
+ },
15750
+ getAnimation: function getAnimation(index, el) {
15751
+ var animation = this.animation[index];
15752
+
15753
+ return typeof animation === 'function' ? animation.call(this, el) : animation;
15754
+ },
15755
+ enter: function enter(_ref) {
15756
+ var el = _ref.el,
15757
+ complete = _ref.complete;
15758
+
15759
+ var animation = this.getAnimation('enter', el);
15760
+
15761
+ this.velocity(el, animation, {
15762
+ duration: this.speed,
15763
+ complete: complete
15764
+ });
15765
+ },
15766
+ leave: function leave(_ref2) {
15767
+ var el = _ref2.el,
15768
+ complete = _ref2.complete;
15769
+
15770
+ var animation = this.getAnimation('leave', el);
15771
+
15772
+ this.velocity(el, animation, {
15773
+ duration: this.speed,
15774
+ complete: complete
15775
+ });
15776
+ },
15777
+ clean: function clean() {
15778
+ this.list = this.list.filter(function (v) {
15779
+ return v.state !== STATE.DESTROYED;
15780
+ });
15781
+ }
15782
+ }
15783
+ };
15784
+
15785
+ /* harmony default export */ __webpack_exports__["default"] = (Component);
15786
+
15787
+ /***/ }),
15788
+ /* 6 */
15789
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15790
+
15791
+ "use strict";
15792
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
15793
+
15794
+
15795
+ /* harmony default export */ __webpack_exports__["default"] = ({
15796
+ name: 'VelocityGroup',
15797
+ methods: {
15798
+ enter: function enter(el, complete) {
15799
+ this.$emit('enter', { el: el, complete: complete });
15800
+ },
15801
+ leave: function leave(el, complete) {
15802
+ this.$emit('leave', { el: el, complete: complete });
15803
+ },
15804
+ afterLeave: function afterLeave() {
15805
+ this.$emit('afterLeave');
15806
+ }
15807
+ }
15808
+ });
15809
+
15810
+ /***/ }),
15811
+ /* 7 */
15812
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15813
+
15814
+ "use strict";
15815
+ /* harmony default export */ __webpack_exports__["a"] = ({
15816
+ position: ['top', 'right'],
15817
+ cssAnimation: 'vn-fade',
15818
+ velocityAnimation: {
15819
+ enter: function enter(el) {
15820
+ var height = el.clientHeight;
15821
+
15822
+ return {
15823
+ height: [height, 0],
15824
+ opacity: [1, 0]
15825
+ };
15826
+ },
15827
+ leave: {
15828
+ height: 0,
15829
+ opacity: [0, 1]
15830
+ }
15831
+ }
15832
+ });
15833
+
15834
+ /***/ }),
15835
+ /* 8 */
15836
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15837
+
15838
+ "use strict";
15839
+ /* unused harmony export parse */
15840
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
15841
+
15842
+ var floatRegexp = '[-+]?[0-9]*.?[0-9]+';
15843
+
15844
+ var types = [{
15845
+ name: 'px',
15846
+ regexp: new RegExp('^' + floatRegexp + 'px$')
15847
+ }, {
15848
+ name: '%',
15849
+ regexp: new RegExp('^' + floatRegexp + '%$')
15850
+ }, {
15851
+ name: 'px',
15852
+ regexp: new RegExp('^' + floatRegexp + '$')
15853
+ }];
15854
+
15855
+ var getType = function getType(value) {
15856
+ if (value === 'auto') {
15857
+ return {
15858
+ type: value,
15859
+ value: 0
15860
+ };
15861
+ }
15862
+
15863
+ for (var i = 0; i < types.length; i++) {
15864
+ var type = types[i];
15865
+ if (type.regexp.test(value)) {
15866
+ return {
15867
+ type: type.name,
15868
+ value: parseFloat(value)
15869
+ };
15870
+ }
15871
+ }
15872
+
15873
+ return {
15874
+ type: '',
15875
+ value: value
15876
+ };
15877
+ };
15878
+
15879
+ var parse = function parse(value) {
15880
+ switch (typeof value === 'undefined' ? 'undefined' : _typeof(value)) {
15881
+ case 'number':
15882
+ return { type: 'px', value: value };
15883
+ case 'string':
15884
+ return getType(value);
15885
+ default:
15886
+ return { type: '', value: value };
15887
+ }
15888
+ };
15889
+
15890
+ /* harmony default export */ __webpack_exports__["a"] = (parse);
15891
+
15892
+ /***/ }),
15893
+ /* 9 */
15894
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
15895
+
15896
+ "use strict";
15897
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Id; });
15898
+ /* unused harmony export split */
15899
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return listToDirection; });
15900
+ var directions = {
15901
+ x: ['left', 'center', 'right'],
15902
+ y: ['top', 'bottom']
15903
+ };
15904
+
15905
+ var Id = function (i) {
15906
+ return function () {
15907
+ return i++;
15908
+ };
15909
+ }(0);
15910
+
15911
+ var split = function split(value) {
15912
+ if (typeof value !== 'string') {
15913
+ return [];
15914
+ }
15915
+
15916
+ return value.split(/\s+/gi).filter(function (v) {
15917
+ return v;
15918
+ });
15919
+ };
15920
+
15921
+ var listToDirection = function listToDirection(value) {
15922
+ if (typeof value === 'string') {
15923
+ value = split(value);
15924
+ }
15925
+
15926
+ var x = null;
15927
+ var y = null;
15928
+
15929
+ value.forEach(function (v) {
15930
+ if (directions.y.indexOf(v) !== -1) {
15931
+ y = v;
15932
+ }
15933
+ if (directions.x.indexOf(v) !== -1) {
15934
+ x = v;
15935
+ }
15936
+ });
15937
+
15938
+ return { x: x, y: y };
15939
+ };
15940
+
15941
+ /***/ }),
15942
+ /* 10 */
15943
+ /***/ (function(module, exports, __webpack_require__) {
15944
+
15945
+ exports = module.exports = __webpack_require__(11)();
15946
+ // imports
15947
+
15948
+
15949
+ // module
15950
+ exports.push([module.i, ".notifications{display:block;position:fixed;z-index:5000}.notification-wrapper{display:block;overflow:hidden;width:100%;margin:0;padding:0}.notification{display:block;box-sizing:border-box;background:#fff;text-align:left}.notification-title{font-weight:600}.vue-notification{font-size:12px;padding:10px;margin:0 5px 5px;color:#fff;background:#44a4fc;border-left:5px solid #187fe7}.vue-notification.warn{background:#ffb648;border-left-color:#f48a06}.vue-notification.error{background:#e54d42;border-left-color:#b82e24}.vue-notification.success{background:#68cd86;border-left-color:#42a85f}.vn-fade-enter-active,.vn-fade-leave-active,.vn-fade-move{transition:all .5s}.vn-fade-enter,.vn-fade-leave-to{opacity:0}", ""]);
15951
+
15952
+ // exports
15953
+
15954
+
15955
+ /***/ }),
15956
+ /* 11 */
15957
+ /***/ (function(module, exports) {
15958
+
15959
+ /*
15960
+ MIT License http://www.opensource.org/licenses/mit-license.php
15961
+ Author Tobias Koppers @sokra
15962
+ */
15963
+ // css base code, injected by the css-loader
15964
+ module.exports = function() {
15965
+ var list = [];
15966
+
15967
+ // return the list of modules as css string
15968
+ list.toString = function toString() {
15969
+ var result = [];
15970
+ for(var i = 0; i < this.length; i++) {
15971
+ var item = this[i];
15972
+ if(item[2]) {
15973
+ result.push("@media " + item[2] + "{" + item[1] + "}");
15974
+ } else {
15975
+ result.push(item[1]);
15976
+ }
15977
+ }
15978
+ return result.join("");
15979
+ };
15980
+
15981
+ // import a list of modules into the list
15982
+ list.i = function(modules, mediaQuery) {
15983
+ if(typeof modules === "string")
15984
+ modules = [[null, modules, ""]];
15985
+ var alreadyImportedModules = {};
15986
+ for(var i = 0; i < this.length; i++) {
15987
+ var id = this[i][0];
15988
+ if(typeof id === "number")
15989
+ alreadyImportedModules[id] = true;
15990
+ }
15991
+ for(i = 0; i < modules.length; i++) {
15992
+ var item = modules[i];
15993
+ // skip already imported module
15994
+ // this implementation is not 100% perfect for weird media query combinations
15995
+ // when a module is imported multiple times with different media queries.
15996
+ // I hope this will never occur (Hey this way we have smaller bundles)
15997
+ if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
15998
+ if(mediaQuery && !item[2]) {
15999
+ item[2] = mediaQuery;
16000
+ } else if(mediaQuery) {
16001
+ item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
16002
+ }
16003
+ list.push(item);
16004
+ }
16005
+ }
16006
+ };
16007
+ return list;
16008
+ };
16009
+
16010
+
16011
+ /***/ }),
16012
+ /* 12 */
16013
+ /***/ (function(module, exports, __webpack_require__) {
16014
+
16015
+ var Component = __webpack_require__(0)(
16016
+ /* script */
16017
+ __webpack_require__(4),
16018
+ /* template */
16019
+ __webpack_require__(16),
16020
+ /* scopeId */
16021
+ null,
16022
+ /* cssModules */
16023
+ null
16024
+ )
16025
+
16026
+ module.exports = Component.exports
16027
+
16028
+
16029
+ /***/ }),
16030
+ /* 13 */
16031
+ /***/ (function(module, exports, __webpack_require__) {
16032
+
16033
+ var Component = __webpack_require__(0)(
16034
+ /* script */
16035
+ __webpack_require__(6),
16036
+ /* template */
16037
+ __webpack_require__(14),
16038
+ /* scopeId */
16039
+ null,
16040
+ /* cssModules */
16041
+ null
16042
+ )
16043
+
16044
+ module.exports = Component.exports
16045
+
16046
+
16047
+ /***/ }),
16048
+ /* 14 */
16049
+ /***/ (function(module, exports) {
16050
+
16051
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
16052
+ return _c('transition-group', {
16053
+ attrs: {
16054
+ "css": false
16055
+ },
16056
+ on: {
16057
+ "enter": _vm.enter,
16058
+ "leave": _vm.leave,
16059
+ "after-leave": _vm.afterLeave
16060
+ }
16061
+ }, [_vm._t("default")], 2)
16062
+ },staticRenderFns: []}
16063
+
16064
+ /***/ }),
16065
+ /* 15 */
16066
+ /***/ (function(module, exports) {
16067
+
16068
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
16069
+ return _c('div', {
16070
+ staticClass: "notifications",
16071
+ style: (_vm.styles)
16072
+ }, [_c(_vm.componentName, {
16073
+ tag: "component",
16074
+ attrs: {
16075
+ "name": _vm.animationName
16076
+ },
16077
+ on: {
16078
+ "enter": _vm.enter,
16079
+ "leave": _vm.leave,
16080
+ "after-leave": _vm.clean
16081
+ }
16082
+ }, _vm._l((_vm.list), function(item) {
16083
+ return (item.state != 2) ? _c('div', {
16084
+ key: item.id,
16085
+ staticClass: "notification-wrapper",
16086
+ style: (_vm.notifyWrapperStyle(item)),
16087
+ attrs: {
16088
+ "data-id": item.id
16089
+ }
16090
+ }, [_vm._t("body", [_c('div', {
16091
+ class: _vm.notifyClass(item),
16092
+ on: {
16093
+ "click": function($event) {
16094
+ _vm.destroy(item)
16095
+ }
16096
+ }
16097
+ }, [(item.title) ? _c('div', {
16098
+ staticClass: "notification-title",
16099
+ domProps: {
16100
+ "innerHTML": _vm._s(item.title)
16101
+ }
16102
+ }) : _vm._e(), _vm._v(" "), _c('div', {
16103
+ staticClass: "notification-content",
16104
+ domProps: {
16105
+ "innerHTML": _vm._s(item.text)
16106
+ }
16107
+ })])], {
16108
+ item: item,
16109
+ close: function () { return _vm.destroy(item); }
16110
+ })], 2) : _vm._e()
16111
+ }))], 1)
16112
+ },staticRenderFns: []}
16113
+
16114
+ /***/ }),
16115
+ /* 16 */
16116
+ /***/ (function(module, exports) {
16117
+
16118
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
16119
+ return _c('transition-group', {
16120
+ attrs: {
16121
+ "name": _vm.name
16122
+ }
16123
+ }, [_vm._t("default")], 2)
16124
+ },staticRenderFns: []}
16125
+
16126
+ /***/ }),
16127
+ /* 17 */
16128
+ /***/ (function(module, exports, __webpack_require__) {
16129
+
16130
+ // style-loader: Adds some css to the DOM by adding a <style> tag
16131
+
16132
+ // load the styles
16133
+ var content = __webpack_require__(10);
16134
+ if(typeof content === 'string') content = [[module.i, content, '']];
16135
+ if(content.locals) module.exports = content.locals;
16136
+ // add the styles to the DOM
16137
+ var update = __webpack_require__(18)("2901aeae", content, true);
16138
+
16139
+ /***/ }),
16140
+ /* 18 */
16141
+ /***/ (function(module, exports, __webpack_require__) {
16142
+
16143
+ /*
16144
+ MIT License http://www.opensource.org/licenses/mit-license.php
16145
+ Author Tobias Koppers @sokra
16146
+ Modified by Evan You @yyx990803
16147
+ */
16148
+
16149
+ var hasDocument = typeof document !== 'undefined'
16150
+
16151
+ if (typeof DEBUG !== 'undefined' && DEBUG) {
16152
+ if (!hasDocument) {
16153
+ throw new Error(
16154
+ 'vue-style-loader cannot be used in a non-browser environment. ' +
16155
+ "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."
16156
+ ) }
16157
+ }
16158
+
16159
+ var listToStyles = __webpack_require__(19)
16160
+
16161
+ /*
16162
+ type StyleObject = {
16163
+ id: number;
16164
+ parts: Array<StyleObjectPart>
16165
+ }
16166
+
16167
+ type StyleObjectPart = {
16168
+ css: string;
16169
+ media: string;
16170
+ sourceMap: ?string
16171
+ }
16172
+ */
16173
+
16174
+ var stylesInDom = {/*
16175
+ [id: number]: {
16176
+ id: number,
16177
+ refs: number,
16178
+ parts: Array<(obj?: StyleObjectPart) => void>
16179
+ }
16180
+ */}
16181
+
16182
+ var head = hasDocument && (document.head || document.getElementsByTagName('head')[0])
16183
+ var singletonElement = null
16184
+ var singletonCounter = 0
16185
+ var isProduction = false
16186
+ var noop = function () {}
16187
+
16188
+ // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
16189
+ // tags it will allow on a page
16190
+ var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase())
16191
+
16192
+ module.exports = function (parentId, list, _isProduction) {
16193
+ isProduction = _isProduction
16194
+
16195
+ var styles = listToStyles(parentId, list)
16196
+ addStylesToDom(styles)
16197
+
16198
+ return function update (newList) {
16199
+ var mayRemove = []
16200
+ for (var i = 0; i < styles.length; i++) {
16201
+ var item = styles[i]
16202
+ var domStyle = stylesInDom[item.id]
16203
+ domStyle.refs--
16204
+ mayRemove.push(domStyle)
16205
+ }
16206
+ if (newList) {
16207
+ styles = listToStyles(parentId, newList)
16208
+ addStylesToDom(styles)
16209
+ } else {
16210
+ styles = []
16211
+ }
16212
+ for (var i = 0; i < mayRemove.length; i++) {
16213
+ var domStyle = mayRemove[i]
16214
+ if (domStyle.refs === 0) {
16215
+ for (var j = 0; j < domStyle.parts.length; j++) {
16216
+ domStyle.parts[j]()
16217
+ }
16218
+ delete stylesInDom[domStyle.id]
16219
+ }
16220
+ }
16221
+ }
16222
+ }
16223
+
16224
+ function addStylesToDom (styles /* Array<StyleObject> */) {
16225
+ for (var i = 0; i < styles.length; i++) {
16226
+ var item = styles[i]
16227
+ var domStyle = stylesInDom[item.id]
16228
+ if (domStyle) {
16229
+ domStyle.refs++
16230
+ for (var j = 0; j < domStyle.parts.length; j++) {
16231
+ domStyle.parts[j](item.parts[j])
16232
+ }
16233
+ for (; j < item.parts.length; j++) {
16234
+ domStyle.parts.push(addStyle(item.parts[j]))
16235
+ }
16236
+ if (domStyle.parts.length > item.parts.length) {
16237
+ domStyle.parts.length = item.parts.length
16238
+ }
16239
+ } else {
16240
+ var parts = []
16241
+ for (var j = 0; j < item.parts.length; j++) {
16242
+ parts.push(addStyle(item.parts[j]))
16243
+ }
16244
+ stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }
16245
+ }
16246
+ }
16247
+ }
16248
+
16249
+ function createStyleElement () {
16250
+ var styleElement = document.createElement('style')
16251
+ styleElement.type = 'text/css'
16252
+ head.appendChild(styleElement)
16253
+ return styleElement
16254
+ }
16255
+
16256
+ function addStyle (obj /* StyleObjectPart */) {
16257
+ var update, remove
16258
+ var styleElement = document.querySelector('style[data-vue-ssr-id~="' + obj.id + '"]')
16259
+
16260
+ if (styleElement) {
16261
+ if (isProduction) {
16262
+ // has SSR styles and in production mode.
16263
+ // simply do nothing.
16264
+ return noop
16265
+ } else {
16266
+ // has SSR styles but in dev mode.
16267
+ // for some reason Chrome can't handle source map in server-rendered
16268
+ // style tags - source maps in <style> only works if the style tag is
16269
+ // created and inserted dynamically. So we remove the server rendered
16270
+ // styles and inject new ones.
16271
+ styleElement.parentNode.removeChild(styleElement)
16272
+ }
16273
+ }
16274
+
16275
+ if (isOldIE) {
16276
+ // use singleton mode for IE9.
16277
+ var styleIndex = singletonCounter++
16278
+ styleElement = singletonElement || (singletonElement = createStyleElement())
16279
+ update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)
16280
+ remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)
16281
+ } else {
16282
+ // use multi-style-tag mode in all other cases
16283
+ styleElement = createStyleElement()
16284
+ update = applyToTag.bind(null, styleElement)
16285
+ remove = function () {
16286
+ styleElement.parentNode.removeChild(styleElement)
16287
+ }
16288
+ }
16289
+
16290
+ update(obj)
16291
+
16292
+ return function updateStyle (newObj /* StyleObjectPart */) {
16293
+ if (newObj) {
16294
+ if (newObj.css === obj.css &&
16295
+ newObj.media === obj.media &&
16296
+ newObj.sourceMap === obj.sourceMap) {
16297
+ return
16298
+ }
16299
+ update(obj = newObj)
16300
+ } else {
16301
+ remove()
16302
+ }
16303
+ }
16304
+ }
16305
+
16306
+ var replaceText = (function () {
16307
+ var textStore = []
16308
+
16309
+ return function (index, replacement) {
16310
+ textStore[index] = replacement
16311
+ return textStore.filter(Boolean).join('\n')
16312
+ }
16313
+ })()
16314
+
16315
+ function applyToSingletonTag (styleElement, index, remove, obj) {
16316
+ var css = remove ? '' : obj.css
16317
+
16318
+ if (styleElement.styleSheet) {
16319
+ styleElement.styleSheet.cssText = replaceText(index, css)
16320
+ } else {
16321
+ var cssNode = document.createTextNode(css)
16322
+ var childNodes = styleElement.childNodes
16323
+ if (childNodes[index]) styleElement.removeChild(childNodes[index])
16324
+ if (childNodes.length) {
16325
+ styleElement.insertBefore(cssNode, childNodes[index])
16326
+ } else {
16327
+ styleElement.appendChild(cssNode)
16328
+ }
16329
+ }
16330
+ }
16331
+
16332
+ function applyToTag (styleElement, obj) {
16333
+ var css = obj.css
16334
+ var media = obj.media
16335
+ var sourceMap = obj.sourceMap
16336
+
16337
+ if (media) {
16338
+ styleElement.setAttribute('media', media)
16339
+ }
16340
+
16341
+ if (sourceMap) {
16342
+ // https://developer.chrome.com/devtools/docs/javascript-debugging
16343
+ // this makes source maps inside style tags work properly in Chrome
16344
+ css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */'
16345
+ // http://stackoverflow.com/a/26603875
16346
+ css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'
16347
+ }
16348
+
16349
+ if (styleElement.styleSheet) {
16350
+ styleElement.styleSheet.cssText = css
16351
+ } else {
16352
+ while (styleElement.firstChild) {
16353
+ styleElement.removeChild(styleElement.firstChild)
16354
+ }
16355
+ styleElement.appendChild(document.createTextNode(css))
16356
+ }
16357
+ }
16358
+
16359
+
16360
+ /***/ }),
16361
+ /* 19 */
16362
+ /***/ (function(module, exports) {
16363
+
16364
+ /**
16365
+ * Translates the list format produced by css-loader into something
16366
+ * easier to manipulate.
16367
+ */
16368
+ module.exports = function listToStyles (parentId, list) {
16369
+ var styles = []
16370
+ var newStyles = {}
16371
+ for (var i = 0; i < list.length; i++) {
16372
+ var item = list[i]
16373
+ var id = item[0]
16374
+ var css = item[1]
16375
+ var media = item[2]
16376
+ var sourceMap = item[3]
16377
+ var part = {
16378
+ id: parentId + ':' + i,
16379
+ css: css,
16380
+ media: media,
16381
+ sourceMap: sourceMap
16382
+ }
16383
+ if (!newStyles[id]) {
16384
+ styles.push(newStyles[id] = { id: id, parts: [part] })
16385
+ } else {
16386
+ newStyles[id].parts.push(part)
16387
+ }
16388
+ }
16389
+ return styles
16390
+ }
16391
+
16392
+
16393
+ /***/ }),
16394
+ /* 20 */
16395
+ /***/ (function(module, exports) {
16396
+
16397
+ module.exports = __WEBPACK_EXTERNAL_MODULE_20__;
16398
+
16399
+ /***/ })
16400
+ /******/ ]);
16401
+ });
16402
+ //# sourceMappingURL=index.js.map
16403
+
16404
+ /***/ }),
16405
+ /* 31 */
16406
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
16407
+
16408
+ "use strict";
16409
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
16410
+ /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["install"] = install;
16411
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_ListTable_vue__ = __webpack_require__(110);
16412
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "ListTable", function() { return __WEBPACK_IMPORTED_MODULE_0__components_ListTable_vue__["a"]; });
16413
+
16414
+
16415
+ // Install the components
16416
+ function install (Vue) {
16417
+ Vue.component('ListTable', __WEBPACK_IMPORTED_MODULE_0__components_ListTable_vue__["a" /* default */])
16418
+ /* -- Add more components here -- */
16419
+ }
16420
+
16421
+ // Expose the components
16422
+
16423
+
16424
+ /* -- Plugin definition & Auto-install -- */
16425
+ /* You shouldn't have to modify the code below */
16426
+
16427
+ // Plugin
16428
+ const plugin = {
16429
+ /* eslint-disable no-undef */
16430
+ install,
16431
+ }
16432
+
16433
+ /* harmony default export */ __webpack_exports__["default"] = (__WEBPACK_IMPORTED_MODULE_0__components_ListTable_vue__["a" /* default */]);
16434
+
16435
+ // Auto-install
16436
+ let GlobalVue = null
16437
+ if (typeof window !== 'undefined') {
16438
+ GlobalVue = window.Vue
16439
+ } else if (typeof global !== 'undefined') {
16440
+ GlobalVue = global.Vue
16441
+ }
16442
+ if (GlobalVue) {
16443
+ GlobalVue.use(plugin)
16444
+ }
16445
+
16446
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(2)))
16447
+
16448
+ /***/ }),
16449
+ /* 32 */
16450
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
16451
+
16452
+ "use strict";
16453
+ //
16454
+ //
16455
+ //
16456
+ //
16457
+ //
16458
+ //
16459
+ //
16460
+ //
16461
+ //
16462
+ //
16463
+ //
16464
+ //
16465
+ //
16466
+ //
16467
+ //
16468
+ //
16469
+ //
16470
+ //
16471
+ //
16472
+ //
16473
+ //
16474
+ //
16475
+ //
16476
+ //
16477
+ //
16478
+ //
16479
+ //
16480
+ //
16481
+ //
16482
+ //
16483
+ //
16484
+ //
16485
+ //
16486
+ //
16487
+ //
16488
+ //
16489
+ //
16490
+ //
16491
+ //
16492
+ //
16493
+ //
16494
+ //
16495
+ //
16496
+ //
16497
+ //
16498
+ //
16499
+ //
16500
+ //
16501
+ //
16502
+ //
16503
+ //
16504
+ //
16505
+ //
16506
+ //
16507
+ //
16508
+ //
16509
+ //
16510
+ //
16511
+ //
16512
+ //
16513
+ //
16514
+ //
16515
+ //
16516
+ //
16517
+ //
16518
+ //
16519
+ //
16520
+ //
16521
+ //
16522
+ //
16523
+ //
16524
+ //
16525
+ //
16526
+ //
16527
+ //
16528
+ //
16529
+ //
16530
+ //
16531
+ //
16532
+ //
16533
+ //
16534
+ //
16535
+ //
16536
+ //
16537
+ //
16538
+ //
16539
+ //
16540
+ //
16541
+ //
16542
+ //
16543
+ //
16544
+ //
16545
+ //
16546
+ //
16547
+ //
16548
+ //
16549
+ //
16550
+ //
16551
+ //
16552
+ //
16553
+ //
16554
+ //
16555
+ //
16556
+ //
16557
+ //
16558
+ //
16559
+ //
16560
+ //
16561
+ //
16562
+ //
16563
+ //
16564
+ //
16565
+ //
16566
+ //
16567
+ //
16568
+ //
16569
+ //
16570
+ //
16571
+ //
16572
+ //
16573
+ //
16574
+ //
16575
+ //
16576
+ //
16577
+ //
16578
+ //
16579
+ //
16580
+ //
16581
+ //
16582
+ //
16583
+ //
16584
+ //
16585
+ //
16586
+ //
16587
+ //
16588
+ //
16589
+ //
16590
+ //
16591
+ //
16592
+ //
16593
+ //
16594
+ //
16595
+ //
16596
+ //
16597
+ //
16598
+ //
16599
+
16600
+ /* harmony default export */ __webpack_exports__["a"] = ({
16601
+
16602
+ name: 'ListTable',
16603
+
16604
+ props: {
16605
+ columns: {
16606
+ type: Object,
16607
+ required: true,
16608
+ default: {}
16609
+ },
16610
+ rows: {
16611
+ type: Array, // String, Number, Boolean, Function, Object, Array
16612
+ required: true,
16613
+ default: []
16614
+ },
16615
+ index: {
16616
+ type: String,
16617
+ default: 'id'
16618
+ },
16619
+ showCb: {
16620
+ type: Boolean,
16621
+ default: true
16622
+ },
16623
+ loading: {
16624
+ type: Boolean,
16625
+ default: false
16626
+ },
16627
+ actionColumn: {
16628
+ type: String,
16629
+ default: ''
16630
+ },
16631
+ actions: {
16632
+ type: Array,
16633
+ required: false,
16634
+ default: []
16635
+ },
16636
+ bulkActions: {
16637
+ type: Array,
16638
+ required: false,
16639
+ default: []
16640
+ },
16641
+ tableClass: {
16642
+ type: String,
16643
+ default: 'wp-list-table widefat fixed striped'
16644
+ },
16645
+ notFound: {
16646
+ type: String,
16647
+ default: 'No items found.'
16648
+ },
16649
+ totalItems: {
16650
+ type: Number,
16651
+ default: 0
16652
+ },
16653
+ totalPages: {
16654
+ type: Number,
16655
+ default: 1
16656
+ },
16657
+ perPage: {
16658
+ type: Number,
16659
+ default: 20
16660
+ },
16661
+ currentPage: {
16662
+ type: Number,
16663
+ default: 1
16664
+ },
16665
+ sortBy: {
16666
+ type: String,
16667
+ default: null
16668
+ },
16669
+ sortOrder: {
16670
+ type: String,
16671
+ default: "asc"
16672
+ }
16673
+ },
16674
+
16675
+ data: function data() {
16676
+ return {
16677
+ bulkLocal: '-1',
16678
+ checkedItems: []
16679
+ };
16680
+ },
16681
+
16682
+
16683
+ computed: {
16684
+ hasActions: function hasActions() {
16685
+ return this.actions.length > 0;
16686
+ },
16687
+ hasBulkActions: function hasBulkActions() {
16688
+ return this.bulkActions.length > 0;
16689
+ },
16690
+ itemsTotal: function itemsTotal() {
16691
+ return this.totalItems || this.rows.length;
16692
+ },
16693
+ hasPagination: function hasPagination() {
16694
+ return this.itemsTotal > this.perPage;
16695
+ },
16696
+ disableFirst: function disableFirst() {
16697
+ if (this.currentPage === 1 || this.currentPage === 2) {
16698
+ return true;
16699
+ }
16700
+
16701
+ return false;
16702
+ },
16703
+ disablePrev: function disablePrev() {
16704
+ if (this.currentPage === 1) {
16705
+ return true;
16706
+ }
16707
+
16708
+ return false;
16709
+ },
16710
+ disableNext: function disableNext() {
16711
+ if (this.currentPage === this.totalPages) {
16712
+ return true;
16713
+ }
16714
+
16715
+ return false;
16716
+ },
16717
+ disableLast: function disableLast() {
16718
+ if (this.currentPage === this.totalPages || this.currentPage == this.totalPages - 1) {
16719
+ return true;
16720
+ }
16721
+
16722
+ return false;
16723
+ },
16724
+ colspan: function colspan() {
16725
+ var columns = Object.keys(this.columns).length;
16726
+
16727
+ if (this.showCb) {
16728
+ columns += 1;
16729
+ }
16730
+
16731
+ return columns;
16732
+ },
16733
+
16734
+
16735
+ selectAll: {
16736
+
16737
+ get: function get() {
16738
+ if (!this.rows.length) {
16739
+ return false;
16740
+ }
16741
+
16742
+ return this.rows ? this.checkedItems.length == this.rows.length : false;
16743
+ },
16744
+
16745
+ set: function set(value) {
16746
+ var selected = [],
16747
+ self = this;
16748
+
16749
+ if (value) {
16750
+ this.rows.forEach(function (item) {
16751
+ if (item[self.index] !== undefined) {
16752
+ selected.push(item[self.index]);
16753
+ } else {
16754
+ selected.push(item.id);
16755
+ }
16756
+ });
16757
+ }
16758
+
16759
+ this.checkedItems = selected;
16760
+ }
16761
+ }
16762
+ },
16763
+
16764
+ methods: {
16765
+ hideActionSeparator: function hideActionSeparator(action) {
16766
+ return action === this.actions[this.actions.length - 1].key;
16767
+ },
16768
+ actionClicked: function actionClicked(action, row) {
16769
+ this.$emit('action:click', action, row);
16770
+ },
16771
+ goToPage: function goToPage(page) {
16772
+ this.$emit('pagination', page);
16773
+ },
16774
+ goToCustomPage: function goToCustomPage(event) {
16775
+ var page = parseInt(event.target.value);
16776
+
16777
+ if (!isNaN(page) && page > 0 && page <= this.totalPages) {
16778
+ this.$emit('pagination', page);
16779
+ }
16780
+ },
16781
+ handleBulkAction: function handleBulkAction() {
16782
+ if (this.bulkLocal === '-1') {
16783
+ return;
16784
+ }
16785
+
16786
+ this.$emit('bulk:click', this.bulkLocal, this.checkedItems);
16787
+ },
16788
+ isSortable: function isSortable(column) {
16789
+ if (column.hasOwnProperty('sortable') && column.sortable === true) {
16790
+ return true;
16791
+ }
16792
+
16793
+ return false;
16794
+ },
16795
+ isSorted: function isSorted(column) {
16796
+ return column === this.sortBy;
16797
+ },
16798
+ handleSortBy: function handleSortBy(column) {
16799
+ var order = this.sortOrder === 'asc' ? 'desc' : 'asc';
16800
+
16801
+ this.$emit('sort', column, order);
16802
+ }
16803
+ }
16804
+ });
16805
+
16806
+ /***/ }),
16807
+ /* 33 */
16808
+ /***/ (function(module, exports, __webpack_require__) {
16809
+
16810
+ !function(t,e){ true?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},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=66)}([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){t.exports=!n(12)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(10),r=n(43),o=n(31),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(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,n){var i=n(77),r=n(21);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(9),r=n(52),o=n(18),s=n(55),u=n(53),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,y=t&a.P,g=t&a.B,b=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,m=d?r:r[e]||(r[e]={}),_=m.prototype||(m.prototype={});d&&(n=e);for(l in n)c=!h&&b&&void 0!==b[l],f=(c?b:n)[l],p=g&&c?u(f,i):y&&"function"==typeof f?u(Function.call,f):f,b&&s(b,l,f,t&a.U),m[l]!=f&&o(m,l,p),y&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){var i=n(3),r=n(15);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(29)("wks"),r=n(16),o=n(0).Symbol,s="function"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))}).store=i},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},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 i=n(13);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var i=n(48),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},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){var i=n(109),r=n(110);t.exports=n(35)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var i=n(8);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var i=n(0),r=n(11),o=n(74),s=n(6),u=function(t,e,n){var a,l,c,f=t&u.F,p=t&u.G,h=t&u.S,d=t&u.P,v=t&u.B,y=t&u.W,g=p?r:r[e]||(r[e]={}),b=g.prototype,m=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(a in n)(l=!f&&m&&void 0!==m[a])&&a in g||(c=l?m[a]:n[a],g[a]=p&&"function"!=typeof m[a]?n[a]:v&&l?o(c,i):y&&m[a]==c?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(c):d&&"function"==typeof c?o(Function.call,c):c,d&&((g.virtual||(g.virtual={}))[a]=c,t&u.R&&b&&!b[a]&&s(b,a,c)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(3).f,r=n(2),o=n(7)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(29)("keys"),r=n(16);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(0),r=i["__core-js_shared__"]||(i["__core-js_shared__"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var i=n(0),r=n(11),o=n(25),s=n(33),u=n(3).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(7)},function(t,e,n){var i=n(53),r=n(36),o=n(57),s=n(37),u=n(104);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,y,g=o(e),b=r(g),m=i(u,d,3),_=s(b.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in b)&&(v=b[x],y=m(v,x,g),t))if(n)w[x]=y;else if(y)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){t.exports=!n(8)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var i=n(51);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e,n){var i=n(56),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(111)("wks"),r=n(58),o=n(9).Symbol,s="function"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))}).store=i},function(t,e,n){"use strict";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t="undefined"),null===t&&(t="null"),!1===t&&(t="false"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,n,i,r){return function(o){return o.map(function(o){var u;if(!o[n])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];var a=s(o[n],t,e,r);return a.length?(u={},v()(u,i,o[i]),v()(u,n,a),u):[]})}}var c=n(65),f=n.n(c),p=n(59),h=(n.n(p),n(122)),d=(n.n(h),n(64)),v=n.n(d),y=n(120),g=(n.n(y),n(121)),b=(n.n(g),n(117)),m=(n.n(b),n(123)),_=(n.n(m),n(118)),x=(n.n(_),n(119)),w=(n.n(x),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,prefferedOpenDirection:"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 i(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.clearOnSelect||console.warn("[Vue-Multiselect warn]: ClearOnSelect and Multiple props can’t be both set to false."),!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):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(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 w(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return w(a(this.groupValues,this.groupLabel),u)(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},getOptionLabel:function(t){if(i(t))return"";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?"":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);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 i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit("input",i,this.id)}else{var o=n[this.groupValues].filter(r(this.isSelected));this.$emit("select",o,this.id),this.$emit("input",this.internalValue.concat(o),this.id)}},wholeGroupSelected:function(t){return t[this.groupValues].every(this.isSelected)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var n="object"===f()(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,n).concat(this.internalValue.slice(n+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.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.prefferedOpenDirection="below",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.prefferedOpenDirection="above",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){"use strict";var i=n(59);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--disabled"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return[this.groupSelect?"multiselect__option--group":"multiselect__option--disabled",{"multiselect__option--highlight":t===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(i)}]},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Enter",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),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){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(1)&&!n(12)(function(){return 7!=Object.defineProperty(n(42)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var i=n(25),r=n(23),o=n(49),s=n(6),u=n(2),a=n(24),l=n(79),c=n(27),f=n(86),p=n(7)("iterator"),h=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,v,y,g,b){l(n,e,v);var m,_,x,w=function(t){if(!h&&t in P)return P[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",O="values"==y,L=!1,P=t.prototype,k=P[p]||P["@@iterator"]||y&&P[y],E=k||w(y),j=y?O?w("entries"):E:void 0,V="Array"==e?P.entries||k:k;if(V&&(x=f(V.call(new t)))!==Object.prototype&&(c(x,S,!0),i||u(x,p)||s(x,p,d)),O&&k&&"values"!==k.name&&(L=!0,E=function(){return k.call(this)}),i&&!b||!h&&!L&&P[p]||s(P,p,E),a[e]=E,a[S]=d,y)if(m={values:O?E:w("values"),keys:g?E:w("keys"),entries:j},b)for(_ in m)_ in P||o(P,_,m[_]);else r(r.P+r.F*(h||L),e,m);return m}},function(t,e,n){var i=n(10),r=n(83),o=n(22),s=n(28)("IE_PROTO"),u=function(){},a=function(){var t,e=n(42)("iframe"),i=o.length;for(e.style.display="none",n(76).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(48),r=n(22).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(2),r=n(4),o=n(73)(!1),s=n(28)("IE_PROTO");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(6)},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return 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.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(50);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(51);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){var i=n(9),r=n(18),o=n(107),s=n(58)("src"),u=Function.toString,a=(""+u).split("toString");n(52).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l="function"==typeof n;l&&(o(n,"name")||r(n,"name",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?""+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[s]||u.call(this)})},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(17);t.exports=function(t){return Object(i(t))}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e,n){"use strict";var i=n(5),r=n(34)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,"Array",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(99)("find")},function(t,e,n){"use strict";function i(t){n(124)}var r=n(67),o=n(126),s=n(125),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){t.exports=n(68)},function(t,e,n){t.exports=n(69)},function(t,e,n){t.exports=n(70)},function(t,e,n){function i(t,e,n){return e in t?r(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r=n(61);t.exports=i},function(t,e,n){function i(t){return(i="function"==typeof s&&"symbol"==typeof o?function(t){return typeof t}:function(t){return t&&"function"==typeof s&&t.constructor===s&&t!==s.prototype?"symbol":typeof t})(t)}function r(e){return"function"==typeof s&&"symbol"===i(o)?t.exports=r=function(t){return i(t)}:t.exports=r=function(t){return t&&"function"==typeof s&&t.constructor===s&&t!==s.prototype?"symbol":i(t)},r(e)}var o=n(63),s=n(62);t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(60),r=n(39),o=n(40);n.d(e,"Multiselect",function(){return i.a}),n.d(e,"multiselectMixin",function(){return r.a}),n.d(e,"pointerMixin",function(){return o.a}),e.default=i.a},function(t,e,n){"use strict";var i=n(39),r=n(40);e.a={name:"vue-multiselect",mixins:[i.a,r.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:""},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return 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.multiple&&this.value&&this.value.length)return this.isOpen?{width:"auto"}:{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.prefferedOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){n(92);var i=n(11).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},function(t,e,n){n(95),n(93),n(96),n(97),t.exports=n(11).Symbol},function(t,e,n){n(94),n(98),t.exports=n(33).f("iterator")},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(){}},function(t,e,n){var i=n(4),r=n(89),o=n(88);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(71);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(14),r=n(47),o=n(26);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,l=0;u.length>l;)a.call(t,s=u[l++])&&e.push(s);return e}},function(t,e,n){t.exports=n(0).document&&document.documentElement},function(t,e,n){var i=n(41);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e,n){var i=n(41);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e,n){"use strict";var i=n(45),r=n(15),o=n(27),s={};n(6)(s,n(7)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(14),r=n(4);t.exports=function(t,e){for(var n,o=r(t),s=i(o),u=s.length,a=0;u>a;)if(o[n=s[a++]]===e)return n}},function(t,e,n){var i=n(16)("meta"),r=n(13),o=n(2),s=n(3).f,u=0,a=Object.isExtensible||function(){return!0},l=!n(12)(function(){return a(Object.preventExtensions({}))}),c=function(t){s(t,i,{value:{i:"O"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!a(t))return"F";if(!e)return"E";c(t)}return t[i].i},p=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;c(t)}return t[i].w},h=function(t){return l&&d.NEED&&a(t)&&!o(t,i)&&c(t),t},d=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},function(t,e,n){var i=n(3),r=n(10),o=n(14);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(26),r=n(15),o=n(4),s=n(31),u=n(2),a=n(43),l=Object.getOwnPropertyDescriptor;e.f=n(1)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(4),r=n(46).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&"[object Window]"==o.call(t)?u(t):r(i(t))}},function(t,e,n){var i=n(2),r=n(90),o=n(28)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(30),r=n(21);t.exports=function(t){return function(e,n){var o,s,u=String(r(e)),a=i(n),l=u.length;return a<0||a>=l?t?"":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===l||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}},function(t,e,n){var i=n(30),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(30),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(21);t.exports=function(t){return Object(i(t))}},function(t,e,n){"use strict";var i=n(72),r=n(80),o=n(24),s=n(4);t.exports=n(44)(Array,"Array",function(t,e){this._t=s(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,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){var i=n(23);i(i.S+i.F*!n(1),"Object",{defineProperty:n(3).f})},function(t,e){},function(t,e,n){"use strict";var i=n(87)(!0);n(44)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var i=n(0),r=n(2),o=n(1),s=n(23),u=n(49),a=n(82).KEY,l=n(12),c=n(29),f=n(27),p=n(16),h=n(7),d=n(33),v=n(32),y=n(81),g=n(75),b=n(78),m=n(10),_=n(4),x=n(31),w=n(15),S=n(45),O=n(85),L=n(84),P=n(3),k=n(14),E=L.f,j=P.f,V=O.f,C=i.Symbol,T=i.JSON,A=T&&T.stringify,$=h("_hidden"),D=h("toPrimitive"),F={}.propertyIsEnumerable,M=c("symbol-registry"),B=c("symbols"),N=c("op-symbols"),R=Object.prototype,H="function"==typeof C,G=i.QObject,I=!G||!G.prototype||!G.prototype.findChild,K=o&&l(function(){return 7!=S(j({},"a",{get:function(){return j(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=E(R,e);i&&delete R[e],j(t,e,n),i&&t!==R&&j(R,e,i)}:j,z=function(t){var e=B[t]=S(C.prototype);return e._k=t,e},U=H&&"symbol"==typeof C.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof C},W=function(t,e,n){return t===R&&W(N,e,n),m(t),e=x(e,!0),m(n),r(B,e)?(n.enumerable?(r(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:w(0,!1)})):(r(t,$)||j(t,$,w(1,{})),t[$][e]=!0),K(t,e,n)):j(t,e,n)},J=function(t,e){m(t);for(var n,i=g(e=_(e)),r=0,o=i.length;o>r;)W(t,n=i[r++],e[n]);return t},q=function(t,e){return void 0===e?S(t):J(S(t),e)},X=function(t){var e=F.call(this,t=x(t,!0));return!(this===R&&r(B,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(B,t)||r(this,$)&&this[$][t])||e)},Y=function(t,e){if(t=_(t),e=x(e,!0),t!==R||!r(B,e)||r(N,e)){var n=E(t,e);return!n||!r(B,e)||r(t,$)&&t[$][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=V(_(t)),i=[],o=0;n.length>o;)r(B,e=n[o++])||e==$||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=V(n?N:_(t)),o=[],s=0;i.length>s;)!r(B,e=i[s++])||n&&!r(R,e)||o.push(B[e]);return o};H||(C=function(){if(this instanceof C)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,$)&&r(this[$],t)&&(this[$][t]=!1),K(this,t,w(1,n))};return o&&I&&K(R,t,{configurable:!0,set:e}),z(t)},u(C.prototype,"toString",function(){return this._k}),L.f=Y,P.f=W,n(46).f=O.f=Q,n(26).f=X,n(47).f=Z,o&&!n(25)&&u(R,"propertyIsEnumerable",X,!0),d.f=function(t){return z(h(t))}),s(s.G+s.W+s.F*!H,{Symbol:C});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)h(tt[et++]);for(var tt=k(h.store),et=0;tt.length>et;)v(tt[et++]);s(s.S+s.F*!H,"Symbol",{for:function(t){return r(M,t+="")?M[t]:M[t]=C(t)},keyFor:function(t){if(U(t))return y(M,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){I=!0},useSimple:function(){I=!1}}),s(s.S+s.F*!H,"Object",{create:q,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),T&&s(s.S+s.F*(!H||l(function(){var t=C();return"[null]"!=A([t])||"{}"!=A({a:t})||"{}"!=A(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!U(t)){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);return e=i[1],"function"==typeof e&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!U(e))return e}),i[1]=e,A.apply(T,i)}}}),C.prototype[D]||n(6)(C.prototype,D,C.prototype.valueOf),f(C,"Symbol"),f(Math,"Math",!0),f(i.JSON,"JSON",!0)},function(t,e,n){n(32)("asyncIterator")},function(t,e,n){n(32)("observable")},function(t,e,n){n(91);for(var i=n(0),r=n(6),o=n(24),s=n(7)("toStringTag"),u=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],a=0;a<5;a++){var l=u[a],c=i[l],f=c&&c.prototype;f&&!f[s]&&r(f,s,l),o[l]=o.Array}},function(t,e,n){var i=n(38)("unscopables"),r=Array.prototype;void 0==r[i]&&n(18)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(19);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var i=n(115),r=n(37),o=n(114);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(50),r=n(57),o=n(36),s=n(37);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(19),r=n(54),o=n(38)("species");t.exports=function(t){var e;return r(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(103);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(19),r=n(9).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){"use strict";var i=n(18),r=n(55),o=n(8),s=n(17),u=n(38);t.exports=function(t,e,n){var a=u(t),l=n(s,a,""[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(35)&&!n(8)(function(){return 7!=Object.defineProperty(n(105)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var i=n(100),r=n(108),o=n(116),s=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(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,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(9),r=i["__core-js_shared__"]||(i["__core-js_shared__"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e,n){var i=n(5),r=n(17),o=n(8),s=n(113),u="["+s+"]",a="​…",l=RegExp("^"+u+u+"*"),c=RegExp(u+u+"*$"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,"String",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,"")),2&e&&(t=t.replace(c,"")),t};t.exports=f},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var i=n(56),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(36),r=n(17);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(19);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){"use strict";var i=n(5),r=n(34)(2);i(i.P+i.F*!n(20)([].filter,!0),"Array",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(5),r=n(101)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(20)(o)),"Array",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(5);i(i.S,"Array",{isArray:n(54)})},function(t,e,n){"use strict";var i=n(5),r=n(34)(1);i(i.P+i.F*!n(20)([].map,!0),"Array",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(5),r=n(102);i(i.P+i.F*!n(20)([].reduce,!0),"Array",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){n(106)("search",1,function(t,e,n){return[function(n){"use strict";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){"use strict";n(112)("trim",function(t){return function(){return t(this,3)}})},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(s=t,u=t.default);var l="function"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){"use strict";var i=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,"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,"ArrowUp")?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null},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"},[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){return[t._t("tag",[n("span",{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:{keydown: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(),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(" "),n("input",{directives:[{name:"show",rawName:"v-show",value:t.isOpen&&t.searchable,expression:"isOpen && searchable"}],ref:"search",staticClass:"multiselect__input",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:"text",autocomplete:"off",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,"ArrowDown"))return null;e.preventDefault(),t.pointerForward()},function(e){if(!("button"in e)&&t._k(e.keyCode,"up",38,e.key,"ArrowUp"))return null;e.preventDefault(),t.pointerBackward()},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},function(e){if(!("button"in e)&&t._k(e.keyCode,"delete",[8,46],e.key,["Backspace","Delete"]))return null;e.stopPropagation(),t.removeLastElement()}]}}),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",{on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t("placeholder",[n("span",{staticClass:"multiselect__single"},[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"},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,i){return n("li",{key:i,staticClass:"multiselect__element"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n("span",{staticClass:"multiselect__option",class:t.optionHighlight(i,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(i)}}},[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(i,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(i)},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.")])],2)]),t._v(" "),t._t("afterList")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});
16811
+
16812
+ /***/ }),
16813
+ /* 34 */
16814
+ /***/ (function(module, exports, __webpack_require__) {
16815
+
16816
+ !function(t,e){ true?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueContentLoading=e():t.VueContentLoading=e()}(this,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.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=1)}([function(t,e,n){"use strict";var r=function(t){return/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$/.test(t)};e.a={props:{speed:{default:2,type:Number},width:{default:400,type:Number},height:{default:130,type:Number},primary:{type:String,default:"#f0f0f0",validator:r},secondary:{type:String,default:"#e0e0e0",validator:r}},computed:{viewbox:function(){return"0 0 "+this.width+" "+this.height},formatedSpeed:function(){return this.speed+"s"},gradientId:function(){return"gradient-"+this._uid},clipPathId:function(){return"clipPath-"+this._uid}},template:'\n <svg :viewBox="viewbox" preserveAspectRatio="xMidYMid meet">\n <rect\n :style="{ fill: \'url(#\' + gradientId + \')\' }" \n :clip-path="\'url(#\' + clipPathId + \')\'"\n x="0" \n y="0" \n :width="width" \n :height="height" \n />\n\n <defs>\n <clipPath :id="clipPathId">\n <slot>\n <rect x="0" y="0" rx="5" ry="5" width="70" height="70" />\n <rect x="80" y="17" rx="4" ry="4" width="300" height="13" />\n <rect x="80" y="40" rx="3" ry="3" width="250" height="10" />\n <rect x="0" y="80" rx="3" ry="3" width="350" height="10" />\n <rect x="0" y="100" rx="3" ry="3" width="400" height="10" />\n <rect x="0" y="120" rx="3" ry="3" width="360" height="10" />\n </slot>\n </clipPath>\n\n <linearGradient :id="gradientId">\n <stop offset="0%" :stop-color="primary">\n <animate attributeName="offset" values="-2; 1" :dur="formatedSpeed" repeatCount="indefinite" />\n </stop>\n\n <stop offset="50%" :stop-color="secondary">\n <animate attributeName="offset" values="-1.5; 1.5" :dur="formatedSpeed" repeatCount="indefinite" />\n </stop>\n\n <stop offset="100%" :stop-color="primary">\n <animate attributeName="offset" values="-1; 2" :dur="formatedSpeed" repeatCount="indefinite" />\n </stop>\n </linearGradient>\n </defs>\n </svg>\n '}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=n(2),o=n(3),h=n(4),d=n(5),a=n(6),c=n(7);n.d(e,"VclCode",function(){return i.a}),n.d(e,"VclList",function(){return o.a}),n.d(e,"VclTwitch",function(){return h.a}),n.d(e,"VclFacebook",function(){return d.a}),n.d(e,"VclInstagram",function(){return a.a}),n.d(e,"VclBulletList",function(){return c.a}),n.d(e,"VueContentLoading",function(){return r.a}),e.default=r.a},function(t,e,n){"use strict";var r=n(0);e.a={components:{VueContentLoading:r.a},template:'\n <vue-content-loading v-bind="$attrs" :width="300" :height="80">\n <rect x="0" y="0" rx="3" ry="3" width="70" height="10" />\n <rect x="80" y="0" rx="3" ry="3" width="100" height="10" />\n <rect x="190" y="0" rx="3" ry="3" width="10" height="10" />\n <rect x="15" y="20" rx="3" ry="3" width="130" height="10" />\n <rect x="155" y="20" rx="3" ry="3" width="130" height="10" />\n <rect x="15" y="40" rx="3" ry="3" width="90" height="10" />\n <rect x="115" y="40" rx="3" ry="3" width="60" height="10" />\n <rect x="185" y="40" rx="3" ry="3" width="60" height="10" />\n <rect x="0" y="60" rx="3" ry="3" width="30" height="10" />\n </vue-content-loading>\n '}},function(t,e,n){"use strict";var r=n(0);e.a={components:{VueContentLoading:r.a},template:'\n <vue-content-loading v-bind="$attrs" :width="300" :height="120">\n <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />\n <rect x="20" y="20" rx="3" ry="3" width="220" height="10" />\n <rect x="20" y="40" rx="3" ry="3" width="170" height="10" />\n <rect x="0" y="60" rx="3" ry="3" width="250" height="10" />\n <rect x="20" y="80" rx="3" ry="3" width="200" height="10" />\n <rect x="20" y="100" rx="3" ry="3" width="80" height="10" />\n </vue-content-loading>\n '}},function(t,e,n){"use strict";var r=n(0);e.a={components:{VueContentLoading:r.a},template:'\n <vue-content-loading v-bind="$attrs" :width="300" :height="225">\n <rect x="0" y="0" rx="3" ry="3" width="300" height="170" />\n <rect x="0" y="180" rx="2" ry="2" width="35" height="45" />\n <rect x="45" y="180" rx="2" ry="2" width="150" height="15" />\n <rect x="45" y="203" rx="2" ry="2" width="100" height="10" />\n </vue-content-loading>\n '}},function(t,e,n){"use strict";var r=n(0);e.a={components:{VueContentLoading:r.a},template:'\n <vue-content-loading v-bind="$attrs">\n <rect x="0" y="0" rx="5" ry="5" width="70" height="70" />\n <rect x="80" y="17" rx="4" ry="4" width="300" height="13" />\n <rect x="80" y="40" rx="3" ry="3" width="250" height="10" />\n <rect x="0" y="80" rx="3" ry="3" width="350" height="10" />\n <rect x="0" y="100" rx="3" ry="3" width="400" height="10" />\n <rect x="0" y="120" rx="3" ry="3" width="360" height="10" />\n </vue-content-loading>\n '}},function(t,e,n){"use strict";var r=n(0);e.a={components:{VueContentLoading:r.a},template:'\n <vue-content-loading v-bind="$attrs" :height="480">\n <circle cx="30" cy="30" r="30" />\n <rect x="75" y="13" rx="4" ry="4" width="100" height="13" />\n <rect x="75" y="37" rx="4" ry="4" width="50" height="8" />\n <rect x="0" y="70" rx="5" ry="5" width="400" height="400" />\n </vue-content-loading>\n '}},function(t,e,n){"use strict";var r=n(0);e.a={components:{VueContentLoading:r.a},props:{rows:{default:5,type:Number}},computed:{height:function(){return 21*this.rows}},methods:{getYPos:function(t,e){return e+22*(t-1)}},template:'\n <vue-content-loading v-bind="$attrs" :width="230" :height="height">\n <template v-for="i in rows">\n <circle cx="8" :cy="getYPos(i, 8)" r="8" />\n <rect x="22" :y="getYPos(i, 3)" rx="3" ry="3" width="200" height="9" />\n </template>\n </vue-content-loading>\n '}}])});
16817
+ //# sourceMappingURL=vuecontentloading.js.map
16818
+
16819
+ /***/ }),
16820
+ /* 35 */,
16821
+ /* 36 */,
16822
+ /* 37 */,
16823
+ /* 38 */,
16824
+ /* 39 */,
16825
+ /* 40 */,
16826
+ /* 41 */
16827
+ /***/ (function(module, exports, __webpack_require__) {
16828
+
16829
+ /* WEBPACK VAR INJECTION */(function(global) {var apply = Function.prototype.apply;
16830
+
16831
+ // DOM APIs, for completeness
16832
+
16833
+ exports.setTimeout = function() {
16834
+ return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);
16835
+ };
16836
+ exports.setInterval = function() {
16837
+ return new Timeout(apply.call(setInterval, window, arguments), clearInterval);
16838
+ };
16839
+ exports.clearTimeout =
16840
+ exports.clearInterval = function(timeout) {
16841
+ if (timeout) {
16842
+ timeout.close();
16843
+ }
16844
+ };
16845
+
16846
+ function Timeout(id, clearFn) {
16847
+ this._id = id;
16848
+ this._clearFn = clearFn;
16849
+ }
16850
+ Timeout.prototype.unref = Timeout.prototype.ref = function() {};
16851
+ Timeout.prototype.close = function() {
16852
+ this._clearFn.call(window, this._id);
16853
+ };
16854
+
16855
+ // Does not start the time, just sets up the members needed.
16856
+ exports.enroll = function(item, msecs) {
16857
+ clearTimeout(item._idleTimeoutId);
16858
+ item._idleTimeout = msecs;
16859
+ };
16860
+
16861
+ exports.unenroll = function(item) {
16862
+ clearTimeout(item._idleTimeoutId);
16863
+ item._idleTimeout = -1;
16864
+ };
16865
+
16866
+ exports._unrefActive = exports.active = function(item) {
16867
+ clearTimeout(item._idleTimeoutId);
16868
+
16869
+ var msecs = item._idleTimeout;
16870
+ if (msecs >= 0) {
16871
+ item._idleTimeoutId = setTimeout(function onTimeout() {
16872
+ if (item._onTimeout)
16873
+ item._onTimeout();
16874
+ }, msecs);
16875
+ }
16876
+ };
16877
+
16878
+ // setimmediate attaches itself to the global object
16879
+ __webpack_require__(42);
16880
+ // On some exotic environments, it's not clear which object `setimmeidate` was
16881
+ // able to install onto. Search each possibility in the same order as the
16882
+ // `setimmediate` library.
16883
+ exports.setImmediate = (typeof self !== "undefined" && self.setImmediate) ||
16884
+ (typeof global !== "undefined" && global.setImmediate) ||
16885
+ (this && this.setImmediate);
16886
+ exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) ||
16887
+ (typeof global !== "undefined" && global.clearImmediate) ||
16888
+ (this && this.clearImmediate);
16889
+
16890
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
16891
+
16892
+ /***/ }),
16893
+ /* 42 */
16894
+ /***/ (function(module, exports, __webpack_require__) {
16895
+
16896
+ /* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {
16897
+ "use strict";
16898
+
16899
+ if (global.setImmediate) {
16900
+ return;
16901
+ }
16902
+
16903
+ var nextHandle = 1; // Spec says greater than zero
16904
+ var tasksByHandle = {};
16905
+ var currentlyRunningATask = false;
16906
+ var doc = global.document;
16907
+ var registerImmediate;
16908
+
16909
+ function setImmediate(callback) {
16910
+ // Callback can either be a function or a string
16911
+ if (typeof callback !== "function") {
16912
+ callback = new Function("" + callback);
16913
+ }
16914
+ // Copy function arguments
16915
+ var args = new Array(arguments.length - 1);
16916
+ for (var i = 0; i < args.length; i++) {
16917
+ args[i] = arguments[i + 1];
16918
+ }
16919
+ // Store and register the task
16920
+ var task = { callback: callback, args: args };
16921
+ tasksByHandle[nextHandle] = task;
16922
+ registerImmediate(nextHandle);
16923
+ return nextHandle++;
16924
+ }
16925
+
16926
+ function clearImmediate(handle) {
16927
+ delete tasksByHandle[handle];
16928
+ }
16929
+
16930
+ function run(task) {
16931
+ var callback = task.callback;
16932
+ var args = task.args;
16933
+ switch (args.length) {
16934
+ case 0:
16935
+ callback();
16936
+ break;
16937
+ case 1:
16938
+ callback(args[0]);
16939
+ break;
16940
+ case 2:
16941
+ callback(args[0], args[1]);
16942
+ break;
16943
+ case 3:
16944
+ callback(args[0], args[1], args[2]);
16945
+ break;
16946
+ default:
16947
+ callback.apply(undefined, args);
16948
+ break;
16949
+ }
16950
+ }
16951
+
16952
+ function runIfPresent(handle) {
16953
+ // From the spec: "Wait until any invocations of this algorithm started before this one have completed."
16954
+ // So if we're currently running a task, we'll need to delay this invocation.
16955
+ if (currentlyRunningATask) {
16956
+ // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a
16957
+ // "too much recursion" error.
16958
+ setTimeout(runIfPresent, 0, handle);
16959
+ } else {
16960
+ var task = tasksByHandle[handle];
16961
+ if (task) {
16962
+ currentlyRunningATask = true;
16963
+ try {
16964
+ run(task);
16965
+ } finally {
16966
+ clearImmediate(handle);
16967
+ currentlyRunningATask = false;
16968
+ }
16969
+ }
16970
+ }
16971
+ }
16972
+
16973
+ function installNextTickImplementation() {
16974
+ registerImmediate = function(handle) {
16975
+ process.nextTick(function () { runIfPresent(handle); });
16976
+ };
16977
+ }
16978
+
16979
+ function canUsePostMessage() {
16980
+ // The test against `importScripts` prevents this implementation from being installed inside a web worker,
16981
+ // where `global.postMessage` means something completely different and can't be used for this purpose.
16982
+ if (global.postMessage && !global.importScripts) {
16983
+ var postMessageIsAsynchronous = true;
16984
+ var oldOnMessage = global.onmessage;
16985
+ global.onmessage = function() {
16986
+ postMessageIsAsynchronous = false;
16987
+ };
16988
+ global.postMessage("", "*");
16989
+ global.onmessage = oldOnMessage;
16990
+ return postMessageIsAsynchronous;
16991
+ }
16992
+ }
16993
+
16994
+ function installPostMessageImplementation() {
16995
+ // Installs an event handler on `global` for the `message` event: see
16996
+ // * https://developer.mozilla.org/en/DOM/window.postMessage
16997
+ // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages
16998
+
16999
+ var messagePrefix = "setImmediate$" + Math.random() + "$";
17000
+ var onGlobalMessage = function(event) {
17001
+ if (event.source === global &&
17002
+ typeof event.data === "string" &&
17003
+ event.data.indexOf(messagePrefix) === 0) {
17004
+ runIfPresent(+event.data.slice(messagePrefix.length));
17005
+ }
17006
+ };
17007
+
17008
+ if (global.addEventListener) {
17009
+ global.addEventListener("message", onGlobalMessage, false);
17010
+ } else {
17011
+ global.attachEvent("onmessage", onGlobalMessage);
17012
+ }
17013
+
17014
+ registerImmediate = function(handle) {
17015
+ global.postMessage(messagePrefix + handle, "*");
17016
+ };
17017
+ }
17018
+
17019
+ function installMessageChannelImplementation() {
17020
+ var channel = new MessageChannel();
17021
+ channel.port1.onmessage = function(event) {
17022
+ var handle = event.data;
17023
+ runIfPresent(handle);
17024
+ };
17025
+
17026
+ registerImmediate = function(handle) {
17027
+ channel.port2.postMessage(handle);
17028
+ };
17029
+ }
17030
+
17031
+ function installReadyStateChangeImplementation() {
17032
+ var html = doc.documentElement;
17033
+ registerImmediate = function(handle) {
17034
+ // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
17035
+ // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
17036
+ var script = doc.createElement("script");
17037
+ script.onreadystatechange = function () {
17038
+ runIfPresent(handle);
17039
+ script.onreadystatechange = null;
17040
+ html.removeChild(script);
17041
+ script = null;
17042
+ };
17043
+ html.appendChild(script);
17044
+ };
17045
+ }
17046
+
17047
+ function installSetTimeoutImplementation() {
17048
+ registerImmediate = function(handle) {
17049
+ setTimeout(runIfPresent, 0, handle);
17050
+ };
17051
+ }
17052
+
17053
+ // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.
17054
+ var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);
17055
+ attachTo = attachTo && attachTo.setTimeout ? attachTo : global;
17056
+
17057
+ // Don't get fooled by e.g. browserify environments.
17058
+ if ({}.toString.call(global.process) === "[object process]") {
17059
+ // For Node.js before 0.9
17060
+ installNextTickImplementation();
17061
+
17062
+ } else if (canUsePostMessage()) {
17063
+ // For non-IE10 modern browsers
17064
+ installPostMessageImplementation();
17065
+
17066
+ } else if (global.MessageChannel) {
17067
+ // For web workers, where supported
17068
+ installMessageChannelImplementation();
17069
+
17070
+ } else if (doc && "onreadystatechange" in doc.createElement("script")) {
17071
+ // For IE 6–8
17072
+ installReadyStateChangeImplementation();
17073
+
17074
+ } else {
17075
+ // For older browsers
17076
+ installSetTimeoutImplementation();
17077
+ }
17078
+
17079
+ attachTo.setImmediate = setImmediate;
17080
+ attachTo.clearImmediate = clearImmediate;
17081
+ }(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self));
17082
+
17083
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2), __webpack_require__(5)))
17084
+
17085
+ /***/ }),
17086
+ /* 43 */,
17087
+ /* 44 */,
17088
+ /* 45 */,
17089
+ /* 46 */,
17090
+ /* 47 */,
17091
+ /* 48 */,
17092
+ /* 49 */,
17093
+ /* 50 */,
17094
+ /* 51 */,
17095
+ /* 52 */,
17096
+ /* 53 */,
17097
+ /* 54 */,
17098
+ /* 55 */,
17099
+ /* 56 */,
17100
+ /* 57 */,
17101
+ /* 58 */,
17102
+ /* 59 */,
17103
+ /* 60 */
17104
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
17105
+
17106
+ "use strict";
17107
+ /* unused harmony export reactiveData */
17108
+ /* unused harmony export reactiveProp */
17109
+ function dataHandler(newData, oldData) {
17110
+ if (oldData) {
17111
+ var chart = this.$data._chart;
17112
+ var newDatasetLabels = newData.datasets.map(function (dataset) {
17113
+ return dataset.label;
17114
+ });
17115
+ var oldDatasetLabels = oldData.datasets.map(function (dataset) {
17116
+ return dataset.label;
17117
+ });
17118
+ var oldLabels = JSON.stringify(oldDatasetLabels);
17119
+ var newLabels = JSON.stringify(newDatasetLabels);
17120
+
17121
+ if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {
17122
+ newData.datasets.forEach(function (dataset, i) {
17123
+ var oldDatasetKeys = Object.keys(oldData.datasets[i]);
17124
+ var newDatasetKeys = Object.keys(dataset);
17125
+ var deletionKeys = oldDatasetKeys.filter(function (key) {
17126
+ return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;
17127
+ });
17128
+ deletionKeys.forEach(function (deletionKey) {
17129
+ delete chart.data.datasets[i][deletionKey];
17130
+ });
17131
+
17132
+ for (var attribute in dataset) {
17133
+ if (dataset.hasOwnProperty(attribute)) {
17134
+ chart.data.datasets[i][attribute] = dataset[attribute];
17135
+ }
17136
+ }
17137
+ });
17138
+
17139
+ if (newData.hasOwnProperty('labels')) {
17140
+ chart.data.labels = newData.labels;
17141
+ }
17142
+
17143
+ if (newData.hasOwnProperty('xLabels')) {
17144
+ chart.data.xLabels = newData.xLabels;
17145
+ }
17146
+
17147
+ if (newData.hasOwnProperty('yLabels')) {
17148
+ chart.data.yLabels = newData.yLabels;
17149
+ }
17150
+
17151
+ chart.update();
17152
+ } else {
17153
+ chart.destroy();
17154
+ this.renderChart(this.chartData, this.options);
17155
+ }
17156
+ } else {
17157
+ if (this.$data._chart) {
17158
+ this.$data._chart.destroy();
17159
+ }
17160
+
17161
+ this.renderChart(this.chartData, this.options);
17162
+ }
17163
+ }
17164
+
17165
+ var reactiveData = {
17166
+ data: function data() {
17167
+ return {
17168
+ chartData: null
17169
+ };
17170
+ },
17171
+ watch: {
17172
+ 'chartData': dataHandler
17173
+ }
17174
+ };
17175
+ var reactiveProp = {
17176
+ props: {
17177
+ chartData: {
17178
+ required: true
17179
+ }
17180
+ },
17181
+ watch: {
17182
+ 'chartData': dataHandler
17183
+ }
17184
+ };
17185
+ /* harmony default export */ __webpack_exports__["a"] = ({
17186
+ reactiveData: reactiveData,
17187
+ reactiveProp: reactiveProp
17188
+ });
17189
+
17190
+ /***/ }),
17191
+ /* 61 */
17192
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
17193
+
17194
+ "use strict";
17195
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Bar; });
17196
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return HorizontalBar; });
17197
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return Doughnut; });
17198
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return Line; });
17199
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return Pie; });
17200
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return PolarArea; });
17201
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return Radar; });
17202
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Bubble; });
17203
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return Scatter; });
17204
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_chart_js__ = __webpack_require__(62);
17205
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_chart_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_chart_js__);
17206
+
17207
+
17208
+ function generateChart(chartId, chartType) {
17209
+ return {
17210
+ render: function render(createElement) {
17211
+ return createElement('div', {
17212
+ style: this.styles,
17213
+ class: this.cssClasses
17214
+ }, [createElement('canvas', {
17215
+ attrs: {
17216
+ id: this.chartId,
17217
+ width: this.width,
17218
+ height: this.height
17219
+ },
17220
+ ref: 'canvas'
17221
+ })]);
17222
+ },
17223
+ props: {
17224
+ chartId: {
17225
+ default: chartId,
17226
+ type: String
17227
+ },
17228
+ width: {
17229
+ default: 400,
17230
+ type: Number
17231
+ },
17232
+ height: {
17233
+ default: 400,
17234
+ type: Number
17235
+ },
17236
+ cssClasses: {
17237
+ type: String,
17238
+ default: ''
17239
+ },
17240
+ styles: {
17241
+ type: Object
17242
+ },
17243
+ plugins: {
17244
+ type: Array,
17245
+ default: function _default() {
17246
+ return [];
17247
+ }
17248
+ }
17249
+ },
17250
+ data: function data() {
17251
+ return {
17252
+ _chart: null,
17253
+ _plugins: this.plugins
17254
+ };
17255
+ },
17256
+ methods: {
17257
+ addPlugin: function addPlugin(plugin) {
17258
+ this.$data._plugins.push(plugin);
17259
+ },
17260
+ renderChart: function renderChart(data, options) {
17261
+ this.$data._chart = new __WEBPACK_IMPORTED_MODULE_0_chart_js___default.a(this.$refs.canvas.getContext('2d'), {
17262
+ type: chartType,
17263
+ data: data,
17264
+ options: options,
17265
+ plugins: this.$data._plugins
17266
+ });
17267
+ }
17268
+ },
17269
+ beforeDestroy: function beforeDestroy() {
17270
+ if (this.$data._chart) {
17271
+ this.$data._chart.destroy();
17272
+ }
17273
+ }
17274
+ };
17275
+ }
17276
+
17277
+ var Bar = generateChart('bar-chart', 'bar');
17278
+ var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');
17279
+ var Doughnut = generateChart('doughnut-chart', 'doughnut');
17280
+ var Line = generateChart('line-chart', 'line');
17281
+ var Pie = generateChart('pie-chart', 'pie');
17282
+ var PolarArea = generateChart('polar-chart', 'polarArea');
17283
+ var Radar = generateChart('radar-chart', 'radar');
17284
+ var Bubble = generateChart('bubble-chart', 'bubble');
17285
+ var Scatter = generateChart('scatter-chart', 'scatter');
17286
+ /* unused harmony default export */ var _unused_webpack_default_export = ({
17287
+ Bar: Bar,
17288
+ HorizontalBar: HorizontalBar,
17289
+ Doughnut: Doughnut,
17290
+ Line: Line,
17291
+ Pie: Pie,
17292
+ PolarArea: PolarArea,
17293
+ Radar: Radar,
17294
+ Bubble: Bubble,
17295
+ Scatter: Scatter
17296
+ });
17297
+
17298
+ /***/ }),
17299
+ /* 62 */
17300
+ /***/ (function(module, exports) {
17301
+
17302
+ module.exports = Chart;
17303
+
17304
+ /***/ }),
17305
+ /* 63 */,
17306
+ /* 64 */,
17307
+ /* 65 */,
17308
+ /* 66 */,
17309
+ /* 67 */,
17310
+ /* 68 */,
17311
+ /* 69 */
17312
+ /***/ (function(module, exports, __webpack_require__) {
17313
+
17314
+
17315
+ var content = __webpack_require__(70);
17316
+
17317
+ if(typeof content === 'string') content = [[module.i, content, '']];
17318
+
17319
+ var transform;
17320
+ var insertInto;
17321
+
17322
+
17323
+
17324
+ var options = {"hmr":true}
17325
+
17326
+ options.transform = transform
17327
+ options.insertInto = undefined;
17328
+
17329
+ var update = __webpack_require__(16)(content, options);
17330
+
17331
+ if(content.locals) module.exports = content.locals;
17332
+
17333
+ if(false) {
17334
+ module.hot.accept("!!../../css-loader/index.js!./slick.css", function() {
17335
+ var newContent = require("!!../../css-loader/index.js!./slick.css");
17336
+
17337
+ if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
17338
+
17339
+ var locals = (function(a, b) {
17340
+ var key, idx = 0;
17341
+
17342
+ for(key in a) {
17343
+ if(!b || a[key] !== b[key]) return false;
17344
+ idx++;
17345
+ }
17346
+
17347
+ for(key in b) idx--;
17348
+
17349
+ return idx === 0;
17350
+ }(content.locals, newContent.locals));
17351
+
17352
+ if(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');
17353
+
17354
+ update(newContent);
17355
+ });
17356
+
17357
+ module.hot.dispose(function() { update(); });
17358
+ }
17359
+
17360
+ /***/ }),
17361
+ /* 70 */
17362
+ /***/ (function(module, exports, __webpack_require__) {
17363
+
17364
+ exports = module.exports = __webpack_require__(8)(false);
17365
+ // imports
17366
+
17367
+
17368
+ // module
17369
+ exports.push([module.i, "/* Slider */\n.slick-slider\n{\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n}\n\n.slick-list\n{\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n}\n.slick-list:focus\n{\n outline: none;\n}\n.slick-list.dragging\n{\n cursor: pointer;\n cursor: hand;\n}\n\n.slick-slider .slick-track,\n.slick-slider .slick-list\n{\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n\n.slick-track\n{\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.slick-track:before,\n.slick-track:after\n{\n display: table;\n\n content: '';\n}\n.slick-track:after\n{\n clear: both;\n}\n.slick-loading .slick-track\n{\n visibility: hidden;\n}\n\n.slick-slide\n{\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n}\n[dir='rtl'] .slick-slide\n{\n float: right;\n}\n.slick-slide img\n{\n display: block;\n}\n.slick-slide.slick-loading img\n{\n display: none;\n}\n.slick-slide.dragging img\n{\n pointer-events: none;\n}\n.slick-initialized .slick-slide\n{\n display: block;\n}\n.slick-loading .slick-slide\n{\n visibility: hidden;\n}\n.slick-vertical .slick-slide\n{\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n}\n.slick-arrow.slick-hidden {\n display: none;\n}\n", ""]);
17370
+
17371
+ // exports
17372
+
17373
+
17374
+ /***/ }),
17375
+ /* 71 */
17376
+ /***/ (function(module, exports) {
17377
+
17378
+
17379
+ /**
17380
+ * When source maps are enabled, `style-loader` uses a link element with a data-uri to
17381
+ * embed the css on the page. This breaks all relative urls because now they are relative to a
17382
+ * bundle instead of the current page.
17383
+ *
17384
+ * One solution is to only use full urls, but that may be impossible.
17385
+ *
17386
+ * Instead, this function "fixes" the relative urls to be absolute according to the current page location.
17387
+ *
17388
+ * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.
17389
+ *
17390
+ */
17391
+
17392
+ module.exports = function (css) {
17393
+ // get current location
17394
+ var location = typeof window !== "undefined" && window.location;
17395
+
17396
+ if (!location) {
17397
+ throw new Error("fixUrls requires window.location");
17398
+ }
17399
+
17400
+ // blank or null?
17401
+ if (!css || typeof css !== "string") {
17402
+ return css;
17403
+ }
17404
+
17405
+ var baseUrl = location.protocol + "//" + location.host;
17406
+ var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/");
17407
+
17408
+ // convert each url(...)
17409
+ /*
17410
+ This regular expression is just a way to recursively match brackets within
17411
+ a string.
17412
+
17413
+ /url\s*\( = Match on the word "url" with any whitespace after it and then a parens
17414
+ ( = Start a capturing group
17415
+ (?: = Start a non-capturing group
17416
+ [^)(] = Match anything that isn't a parentheses
17417
+ | = OR
17418
+ \( = Match a start parentheses
17419
+ (?: = Start another non-capturing groups
17420
+ [^)(]+ = Match anything that isn't a parentheses
17421
+ | = OR
17422
+ \( = Match a start parentheses
17423
+ [^)(]* = Match anything that isn't a parentheses
17424
+ \) = Match a end parentheses
17425
+ ) = End Group
17426
+ *\) = Match anything and then a close parens
17427
+ ) = Close non-capturing group
17428
+ * = Match anything
17429
+ ) = Close capturing group
17430
+ \) = Match a close parens
17431
+
17432
+ /gi = Get all matches, not the first. Be case insensitive.
17433
+ */
17434
+ var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(fullMatch, origUrl) {
17435
+ // strip quotes (if they exist)
17436
+ var unquotedOrigUrl = origUrl
17437
+ .trim()
17438
+ .replace(/^"(.*)"$/, function(o, $1){ return $1; })
17439
+ .replace(/^'(.*)'$/, function(o, $1){ return $1; });
17440
+
17441
+ // already a full url? no change
17442
+ if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(unquotedOrigUrl)) {
17443
+ return fullMatch;
17444
+ }
17445
+
17446
+ // convert the url to a full url
17447
+ var newUrl;
17448
+
17449
+ if (unquotedOrigUrl.indexOf("//") === 0) {
17450
+ //TODO: should we add protocol?
17451
+ newUrl = unquotedOrigUrl;
17452
+ } else if (unquotedOrigUrl.indexOf("/") === 0) {
17453
+ // path should be relative to the base url
17454
+ newUrl = baseUrl + unquotedOrigUrl; // already starts with '/'
17455
+ } else {
17456
+ // path should be relative to current directory
17457
+ newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './'
17458
+ }
17459
+
17460
+ // send back the fixed url(...)
17461
+ return "url(" + JSON.stringify(newUrl) + ")";
17462
+ });
17463
+
17464
+ // send back the fixed css
17465
+ return fixedCss;
17466
+ };
17467
+
17468
+
17469
+ /***/ }),
17470
+ /* 72 */
17471
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
17472
+
17473
+ "use strict";
17474
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_loader_lib_selector_type_script_index_0_slickCarousel_vue__ = __webpack_require__(17);
17475
+ /* unused harmony namespace reexport */
17476
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vue_loader_lib_template_compiler_index_id_data_v_14c5b163_hasScoped_false_buble_transforms_vue_loader_lib_selector_type_template_index_0_slickCarousel_vue__ = __webpack_require__(74);
17477
+ var disposed = false
17478
+ var normalizeComponent = __webpack_require__(0)
17479
+ /* script */
17480
+
17481
+
17482
+ /* template */
17483
+
17484
+ /* template functional */
17485
+ var __vue_template_functional__ = false
17486
+ /* styles */
17487
+ var __vue_styles__ = null
17488
+ /* scopeId */
17489
+ var __vue_scopeId__ = null
17490
+ /* moduleIdentifier (server only) */
17491
+ var __vue_module_identifier__ = null
17492
+ var Component = normalizeComponent(
17493
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_loader_lib_selector_type_script_index_0_slickCarousel_vue__["a" /* default */],
17494
+ __WEBPACK_IMPORTED_MODULE_1__vue_loader_lib_template_compiler_index_id_data_v_14c5b163_hasScoped_false_buble_transforms_vue_loader_lib_selector_type_template_index_0_slickCarousel_vue__["a" /* default */],
17495
+ __vue_template_functional__,
17496
+ __vue_styles__,
17497
+ __vue_scopeId__,
17498
+ __vue_module_identifier__
17499
+ )
17500
+ Component.options.__file = "node_modules/vue-slick/slickCarousel.vue"
17501
+
17502
+ /* hot reload */
17503
+ if (false) {(function () {
17504
+ var hotAPI = require("vue-hot-reload-api")
17505
+ hotAPI.install(require("vue"), false)
17506
+ if (!hotAPI.compatible) return
17507
+ module.hot.accept()
17508
+ if (!module.hot.data) {
17509
+ hotAPI.createRecord("data-v-14c5b163", Component.options)
17510
+ } else {
17511
+ hotAPI.reload("data-v-14c5b163", Component.options)
17512
+ }
17513
+ module.hot.dispose(function (data) {
17514
+ disposed = true
17515
+ })
17516
+ })()}
17517
+
17518
+ /* harmony default export */ __webpack_exports__["a"] = (Component.exports);
17519
+
17520
+
17521
+ /***/ }),
17522
+ /* 73 */
17523
+ /***/ (function(module, exports, __webpack_require__) {
17524
+
17525
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
17526
+ _ _ _ _
17527
+ ___| (_) ___| | __ (_)___
17528
+ / __| | |/ __| |/ / | / __|
17529
+ \__ \ | | (__| < _ | \__ \
17530
+ |___/_|_|\___|_|\_(_)/ |___/
17531
+ |__/
17532
+
17533
+ Version: 1.8.1
17534
+ Author: Ken Wheeler
17535
+ Website: http://kenwheeler.github.io
17536
+ Docs: http://kenwheeler.github.io/slick
17537
+ Repo: http://github.com/kenwheeler/slick
17538
+ Issues: http://github.com/kenwheeler/slick/issues
17539
+
17540
+ */
17541
+ /* global window, document, define, jQuery, setInterval, clearInterval */
17542
+ ;(function(factory) {
17543
+ 'use strict';
17544
+ if (true) {
17545
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(18)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
17546
+ __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
17547
+ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
17548
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
17549
+ } else if (typeof exports !== 'undefined') {
17550
+ module.exports = factory(require('jquery'));
17551
+ } else {
17552
+ factory(jQuery);
17553
+ }
17554
+
17555
+ }(function($) {
17556
+ 'use strict';
17557
+ var Slick = window.Slick || {};
17558
+
17559
+ Slick = (function() {
17560
+
17561
+ var instanceUid = 0;
17562
+
17563
+ function Slick(element, settings) {
17564
+
17565
+ var _ = this, dataSettings;
17566
+
17567
+ _.defaults = {
17568
+ accessibility: true,
17569
+ adaptiveHeight: false,
17570
+ appendArrows: $(element),
17571
+ appendDots: $(element),
17572
+ arrows: true,
17573
+ asNavFor: null,
17574
+ prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
17575
+ nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
17576
+ autoplay: false,
17577
+ autoplaySpeed: 3000,
17578
+ centerMode: false,
17579
+ centerPadding: '50px',
17580
+ cssEase: 'ease',
17581
+ customPaging: function(slider, i) {
17582
+ return $('<button type="button" />').text(i + 1);
17583
+ },
17584
+ dots: false,
17585
+ dotsClass: 'slick-dots',
17586
+ draggable: true,
17587
+ easing: 'linear',
17588
+ edgeFriction: 0.35,
17589
+ fade: false,
17590
+ focusOnSelect: false,
17591
+ focusOnChange: false,
17592
+ infinite: true,
17593
+ initialSlide: 0,
17594
+ lazyLoad: 'ondemand',
17595
+ mobileFirst: false,
17596
+ pauseOnHover: true,
17597
+ pauseOnFocus: true,
17598
+ pauseOnDotsHover: false,
17599
+ respondTo: 'window',
17600
+ responsive: null,
17601
+ rows: 1,
17602
+ rtl: false,
17603
+ slide: '',
17604
+ slidesPerRow: 1,
17605
+ slidesToShow: 1,
17606
+ slidesToScroll: 1,
17607
+ speed: 500,
17608
+ swipe: true,
17609
+ swipeToSlide: false,
17610
+ touchMove: true,
17611
+ touchThreshold: 5,
17612
+ useCSS: true,
17613
+ useTransform: true,
17614
+ variableWidth: false,
17615
+ vertical: false,
17616
+ verticalSwiping: false,
17617
+ waitForAnimate: true,
17618
+ zIndex: 1000
17619
+ };
17620
+
17621
+ _.initials = {
17622
+ animating: false,
17623
+ dragging: false,
17624
+ autoPlayTimer: null,
17625
+ currentDirection: 0,
17626
+ currentLeft: null,
17627
+ currentSlide: 0,
17628
+ direction: 1,
17629
+ $dots: null,
17630
+ listWidth: null,
17631
+ listHeight: null,
17632
+ loadIndex: 0,
17633
+ $nextArrow: null,
17634
+ $prevArrow: null,
17635
+ scrolling: false,
17636
+ slideCount: null,
17637
+ slideWidth: null,
17638
+ $slideTrack: null,
17639
+ $slides: null,
17640
+ sliding: false,
17641
+ slideOffset: 0,
17642
+ swipeLeft: null,
17643
+ swiping: false,
17644
+ $list: null,
17645
+ touchObject: {},
17646
+ transformsEnabled: false,
17647
+ unslicked: false
17648
+ };
17649
+
17650
+ $.extend(_, _.initials);
17651
+
17652
+ _.activeBreakpoint = null;
17653
+ _.animType = null;
17654
+ _.animProp = null;
17655
+ _.breakpoints = [];
17656
+ _.breakpointSettings = [];
17657
+ _.cssTransitions = false;
17658
+ _.focussed = false;
17659
+ _.interrupted = false;
17660
+ _.hidden = 'hidden';
17661
+ _.paused = true;
17662
+ _.positionProp = null;
17663
+ _.respondTo = null;
17664
+ _.rowCount = 1;
17665
+ _.shouldClick = true;
17666
+ _.$slider = $(element);
17667
+ _.$slidesCache = null;
17668
+ _.transformType = null;
17669
+ _.transitionType = null;
17670
+ _.visibilityChange = 'visibilitychange';
17671
+ _.windowWidth = 0;
17672
+ _.windowTimer = null;
17673
+
17674
+ dataSettings = $(element).data('slick') || {};
17675
+
17676
+ _.options = $.extend({}, _.defaults, settings, dataSettings);
17677
+
17678
+ _.currentSlide = _.options.initialSlide;
17679
+
17680
+ _.originalSettings = _.options;
17681
+
17682
+ if (typeof document.mozHidden !== 'undefined') {
17683
+ _.hidden = 'mozHidden';
17684
+ _.visibilityChange = 'mozvisibilitychange';
17685
+ } else if (typeof document.webkitHidden !== 'undefined') {
17686
+ _.hidden = 'webkitHidden';
17687
+ _.visibilityChange = 'webkitvisibilitychange';
17688
+ }
17689
+
17690
+ _.autoPlay = $.proxy(_.autoPlay, _);
17691
+ _.autoPlayClear = $.proxy(_.autoPlayClear, _);
17692
+ _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
17693
+ _.changeSlide = $.proxy(_.changeSlide, _);
17694
+ _.clickHandler = $.proxy(_.clickHandler, _);
17695
+ _.selectHandler = $.proxy(_.selectHandler, _);
17696
+ _.setPosition = $.proxy(_.setPosition, _);
17697
+ _.swipeHandler = $.proxy(_.swipeHandler, _);
17698
+ _.dragHandler = $.proxy(_.dragHandler, _);
17699
+ _.keyHandler = $.proxy(_.keyHandler, _);
17700
+
17701
+ _.instanceUid = instanceUid++;
17702
+
17703
+ // A simple way to check for HTML strings
17704
+ // Strict HTML recognition (must start with <)
17705
+ // Extracted from jQuery v1.11 source
17706
+ _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
17707
+
17708
+
17709
+ _.registerBreakpoints();
17710
+ _.init(true);
17711
+
17712
+ }
17713
+
17714
+ return Slick;
17715
+
17716
+ }());
17717
+
17718
+ Slick.prototype.activateADA = function() {
17719
+ var _ = this;
17720
+
17721
+ _.$slideTrack.find('.slick-active').attr({
17722
+ 'aria-hidden': 'false'
17723
+ }).find('a, input, button, select').attr({
17724
+ 'tabindex': '0'
17725
+ });
17726
+
17727
+ };
17728
+
17729
+ Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
17730
+
17731
+ var _ = this;
17732
+
17733
+ if (typeof(index) === 'boolean') {
17734
+ addBefore = index;
17735
+ index = null;
17736
+ } else if (index < 0 || (index >= _.slideCount)) {
17737
+ return false;
17738
+ }
17739
+
17740
+ _.unload();
17741
+
17742
+ if (typeof(index) === 'number') {
17743
+ if (index === 0 && _.$slides.length === 0) {
17744
+ $(markup).appendTo(_.$slideTrack);
17745
+ } else if (addBefore) {
17746
+ $(markup).insertBefore(_.$slides.eq(index));
17747
+ } else {
17748
+ $(markup).insertAfter(_.$slides.eq(index));
17749
+ }
17750
+ } else {
17751
+ if (addBefore === true) {
17752
+ $(markup).prependTo(_.$slideTrack);
17753
+ } else {
17754
+ $(markup).appendTo(_.$slideTrack);
17755
+ }
17756
+ }
17757
+
17758
+ _.$slides = _.$slideTrack.children(this.options.slide);
17759
+
17760
+ _.$slideTrack.children(this.options.slide).detach();
17761
+
17762
+ _.$slideTrack.append(_.$slides);
17763
+
17764
+ _.$slides.each(function(index, element) {
17765
+ $(element).attr('data-slick-index', index);
17766
+ });
17767
+
17768
+ _.$slidesCache = _.$slides;
17769
+
17770
+ _.reinit();
17771
+
17772
+ };
17773
+
17774
+ Slick.prototype.animateHeight = function() {
17775
+ var _ = this;
17776
+ if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
17777
+ var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
17778
+ _.$list.animate({
17779
+ height: targetHeight
17780
+ }, _.options.speed);
17781
+ }
17782
+ };
17783
+
17784
+ Slick.prototype.animateSlide = function(targetLeft, callback) {
17785
+
17786
+ var animProps = {},
17787
+ _ = this;
17788
+
17789
+ _.animateHeight();
17790
+
17791
+ if (_.options.rtl === true && _.options.vertical === false) {
17792
+ targetLeft = -targetLeft;
17793
+ }
17794
+ if (_.transformsEnabled === false) {
17795
+ if (_.options.vertical === false) {
17796
+ _.$slideTrack.animate({
17797
+ left: targetLeft
17798
+ }, _.options.speed, _.options.easing, callback);
17799
+ } else {
17800
+ _.$slideTrack.animate({
17801
+ top: targetLeft
17802
+ }, _.options.speed, _.options.easing, callback);
17803
+ }
17804
+
17805
+ } else {
17806
+
17807
+ if (_.cssTransitions === false) {
17808
+ if (_.options.rtl === true) {
17809
+ _.currentLeft = -(_.currentLeft);
17810
+ }
17811
+ $({
17812
+ animStart: _.currentLeft
17813
+ }).animate({
17814
+ animStart: targetLeft
17815
+ }, {
17816
+ duration: _.options.speed,
17817
+ easing: _.options.easing,
17818
+ step: function(now) {
17819
+ now = Math.ceil(now);
17820
+ if (_.options.vertical === false) {
17821
+ animProps[_.animType] = 'translate(' +
17822
+ now + 'px, 0px)';
17823
+ _.$slideTrack.css(animProps);
17824
+ } else {
17825
+ animProps[_.animType] = 'translate(0px,' +
17826
+ now + 'px)';
17827
+ _.$slideTrack.css(animProps);
17828
+ }
17829
+ },
17830
+ complete: function() {
17831
+ if (callback) {
17832
+ callback.call();
17833
+ }
17834
+ }
17835
+ });
17836
+
17837
+ } else {
17838
+
17839
+ _.applyTransition();
17840
+ targetLeft = Math.ceil(targetLeft);
17841
+
17842
+ if (_.options.vertical === false) {
17843
+ animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
17844
+ } else {
17845
+ animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
17846
+ }
17847
+ _.$slideTrack.css(animProps);
17848
+
17849
+ if (callback) {
17850
+ setTimeout(function() {
17851
+
17852
+ _.disableTransition();
17853
+
17854
+ callback.call();
17855
+ }, _.options.speed);
17856
+ }
17857
+
17858
+ }
17859
+
17860
+ }
17861
+
17862
+ };
17863
+
17864
+ Slick.prototype.getNavTarget = function() {
17865
+
17866
+ var _ = this,
17867
+ asNavFor = _.options.asNavFor;
17868
+
17869
+ if ( asNavFor && asNavFor !== null ) {
17870
+ asNavFor = $(asNavFor).not(_.$slider);
17871
+ }
17872
+
17873
+ return asNavFor;
17874
+
17875
+ };
17876
+
17877
+ Slick.prototype.asNavFor = function(index) {
17878
+
17879
+ var _ = this,
17880
+ asNavFor = _.getNavTarget();
17881
+
17882
+ if ( asNavFor !== null && typeof asNavFor === 'object' ) {
17883
+ asNavFor.each(function() {
17884
+ var target = $(this).slick('getSlick');
17885
+ if(!target.unslicked) {
17886
+ target.slideHandler(index, true);
17887
+ }
17888
+ });
17889
+ }
17890
+
17891
+ };
17892
+
17893
+ Slick.prototype.applyTransition = function(slide) {
17894
+
17895
+ var _ = this,
17896
+ transition = {};
17897
+
17898
+ if (_.options.fade === false) {
17899
+ transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
17900
+ } else {
17901
+ transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
17902
+ }
17903
+
17904
+ if (_.options.fade === false) {
17905
+ _.$slideTrack.css(transition);
17906
+ } else {
17907
+ _.$slides.eq(slide).css(transition);
17908
+ }
17909
+
17910
+ };
17911
+
17912
+ Slick.prototype.autoPlay = function() {
17913
+
17914
+ var _ = this;
17915
+
17916
+ _.autoPlayClear();
17917
+
17918
+ if ( _.slideCount > _.options.slidesToShow ) {
17919
+ _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
17920
+ }
17921
+
17922
+ };
17923
+
17924
+ Slick.prototype.autoPlayClear = function() {
17925
+
17926
+ var _ = this;
17927
+
17928
+ if (_.autoPlayTimer) {
17929
+ clearInterval(_.autoPlayTimer);
17930
+ }
17931
+
17932
+ };
17933
+
17934
+ Slick.prototype.autoPlayIterator = function() {
17935
+
17936
+ var _ = this,
17937
+ slideTo = _.currentSlide + _.options.slidesToScroll;
17938
+
17939
+ if ( !_.paused && !_.interrupted && !_.focussed ) {
17940
+
17941
+ if ( _.options.infinite === false ) {
17942
+
17943
+ if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
17944
+ _.direction = 0;
17945
+ }
17946
+
17947
+ else if ( _.direction === 0 ) {
17948
+
17949
+ slideTo = _.currentSlide - _.options.slidesToScroll;
17950
+
17951
+ if ( _.currentSlide - 1 === 0 ) {
17952
+ _.direction = 1;
17953
+ }
17954
+
17955
+ }
17956
+
17957
+ }
17958
+
17959
+ _.slideHandler( slideTo );
17960
+
17961
+ }
17962
+
17963
+ };
17964
+
17965
+ Slick.prototype.buildArrows = function() {
17966
+
17967
+ var _ = this;
17968
+
17969
+ if (_.options.arrows === true ) {
17970
+
17971
+ _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
17972
+ _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
17973
+
17974
+ if( _.slideCount > _.options.slidesToShow ) {
17975
+
17976
+ _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
17977
+ _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
17978
+
17979
+ if (_.htmlExpr.test(_.options.prevArrow)) {
17980
+ _.$prevArrow.prependTo(_.options.appendArrows);
17981
+ }
17982
+
17983
+ if (_.htmlExpr.test(_.options.nextArrow)) {
17984
+ _.$nextArrow.appendTo(_.options.appendArrows);
17985
+ }
17986
+
17987
+ if (_.options.infinite !== true) {
17988
+ _.$prevArrow
17989
+ .addClass('slick-disabled')
17990
+ .attr('aria-disabled', 'true');
17991
+ }
17992
+
17993
+ } else {
17994
+
17995
+ _.$prevArrow.add( _.$nextArrow )
17996
+
17997
+ .addClass('slick-hidden')
17998
+ .attr({
17999
+ 'aria-disabled': 'true',
18000
+ 'tabindex': '-1'
18001
+ });
18002
+
18003
+ }
18004
+
18005
+ }
18006
+
18007
+ };
18008
+
18009
+ Slick.prototype.buildDots = function() {
18010
+
18011
+ var _ = this,
18012
+ i, dot;
18013
+
18014
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
18015
+
18016
+ _.$slider.addClass('slick-dotted');
18017
+
18018
+ dot = $('<ul />').addClass(_.options.dotsClass);
18019
+
18020
+ for (i = 0; i <= _.getDotCount(); i += 1) {
18021
+ dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
18022
+ }
18023
+
18024
+ _.$dots = dot.appendTo(_.options.appendDots);
18025
+
18026
+ _.$dots.find('li').first().addClass('slick-active');
18027
+
18028
+ }
18029
+
18030
+ };
18031
+
18032
+ Slick.prototype.buildOut = function() {
18033
+
18034
+ var _ = this;
18035
+
18036
+ _.$slides =
18037
+ _.$slider
18038
+ .children( _.options.slide + ':not(.slick-cloned)')
18039
+ .addClass('slick-slide');
18040
+
18041
+ _.slideCount = _.$slides.length;
18042
+
18043
+ _.$slides.each(function(index, element) {
18044
+ $(element)
18045
+ .attr('data-slick-index', index)
18046
+ .data('originalStyling', $(element).attr('style') || '');
18047
+ });
18048
+
18049
+ _.$slider.addClass('slick-slider');
18050
+
18051
+ _.$slideTrack = (_.slideCount === 0) ?
18052
+ $('<div class="slick-track"/>').appendTo(_.$slider) :
18053
+ _.$slides.wrapAll('<div class="slick-track"/>').parent();
18054
+
18055
+ _.$list = _.$slideTrack.wrap(
18056
+ '<div class="slick-list"/>').parent();
18057
+ _.$slideTrack.css('opacity', 0);
18058
+
18059
+ if (_.options.centerMode === true || _.options.swipeToSlide === true) {
18060
+ _.options.slidesToScroll = 1;
18061
+ }
18062
+
18063
+ $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
18064
+
18065
+ _.setupInfinite();
18066
+
18067
+ _.buildArrows();
18068
+
18069
+ _.buildDots();
18070
+
18071
+ _.updateDots();
18072
+
18073
+
18074
+ _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
18075
+
18076
+ if (_.options.draggable === true) {
18077
+ _.$list.addClass('draggable');
18078
+ }
18079
+
18080
+ };
18081
+
18082
+ Slick.prototype.buildRows = function() {
18083
+
18084
+ var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
18085
+
18086
+ newSlides = document.createDocumentFragment();
18087
+ originalSlides = _.$slider.children();
18088
+
18089
+ if(_.options.rows > 0) {
18090
+
18091
+ slidesPerSection = _.options.slidesPerRow * _.options.rows;
18092
+ numOfSlides = Math.ceil(
18093
+ originalSlides.length / slidesPerSection
18094
+ );
18095
+
18096
+ for(a = 0; a < numOfSlides; a++){
18097
+ var slide = document.createElement('div');
18098
+ for(b = 0; b < _.options.rows; b++) {
18099
+ var row = document.createElement('div');
18100
+ for(c = 0; c < _.options.slidesPerRow; c++) {
18101
+ var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
18102
+ if (originalSlides.get(target)) {
18103
+ row.appendChild(originalSlides.get(target));
18104
+ }
18105
+ }
18106
+ slide.appendChild(row);
18107
+ }
18108
+ newSlides.appendChild(slide);
18109
+ }
18110
+
18111
+ _.$slider.empty().append(newSlides);
18112
+ _.$slider.children().children().children()
18113
+ .css({
18114
+ 'width':(100 / _.options.slidesPerRow) + '%',
18115
+ 'display': 'inline-block'
18116
+ });
18117
+
18118
+ }
18119
+
18120
+ };
18121
+
18122
+ Slick.prototype.checkResponsive = function(initial, forceUpdate) {
18123
+
18124
+ var _ = this,
18125
+ breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
18126
+ var sliderWidth = _.$slider.width();
18127
+ var windowWidth = window.innerWidth || $(window).width();
18128
+
18129
+ if (_.respondTo === 'window') {
18130
+ respondToWidth = windowWidth;
18131
+ } else if (_.respondTo === 'slider') {
18132
+ respondToWidth = sliderWidth;
18133
+ } else if (_.respondTo === 'min') {
18134
+ respondToWidth = Math.min(windowWidth, sliderWidth);
18135
+ }
18136
+
18137
+ if ( _.options.responsive &&
18138
+ _.options.responsive.length &&
18139
+ _.options.responsive !== null) {
18140
+
18141
+ targetBreakpoint = null;
18142
+
18143
+ for (breakpoint in _.breakpoints) {
18144
+ if (_.breakpoints.hasOwnProperty(breakpoint)) {
18145
+ if (_.originalSettings.mobileFirst === false) {
18146
+ if (respondToWidth < _.breakpoints[breakpoint]) {
18147
+ targetBreakpoint = _.breakpoints[breakpoint];
18148
+ }
18149
+ } else {
18150
+ if (respondToWidth > _.breakpoints[breakpoint]) {
18151
+ targetBreakpoint = _.breakpoints[breakpoint];
18152
+ }
18153
+ }
18154
+ }
18155
+ }
18156
+
18157
+ if (targetBreakpoint !== null) {
18158
+ if (_.activeBreakpoint !== null) {
18159
+ if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
18160
+ _.activeBreakpoint =
18161
+ targetBreakpoint;
18162
+ if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
18163
+ _.unslick(targetBreakpoint);
18164
+ } else {
18165
+ _.options = $.extend({}, _.originalSettings,
18166
+ _.breakpointSettings[
18167
+ targetBreakpoint]);
18168
+ if (initial === true) {
18169
+ _.currentSlide = _.options.initialSlide;
18170
+ }
18171
+ _.refresh(initial);
18172
+ }
18173
+ triggerBreakpoint = targetBreakpoint;
18174
+ }
18175
+ } else {
18176
+ _.activeBreakpoint = targetBreakpoint;
18177
+ if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
18178
+ _.unslick(targetBreakpoint);
18179
+ } else {
18180
+ _.options = $.extend({}, _.originalSettings,
18181
+ _.breakpointSettings[
18182
+ targetBreakpoint]);
18183
+ if (initial === true) {
18184
+ _.currentSlide = _.options.initialSlide;
18185
+ }
18186
+ _.refresh(initial);
18187
+ }
18188
+ triggerBreakpoint = targetBreakpoint;
18189
+ }
18190
+ } else {
18191
+ if (_.activeBreakpoint !== null) {
18192
+ _.activeBreakpoint = null;
18193
+ _.options = _.originalSettings;
18194
+ if (initial === true) {
18195
+ _.currentSlide = _.options.initialSlide;
18196
+ }
18197
+ _.refresh(initial);
18198
+ triggerBreakpoint = targetBreakpoint;
18199
+ }
18200
+ }
18201
+
18202
+ // only trigger breakpoints during an actual break. not on initialize.
18203
+ if( !initial && triggerBreakpoint !== false ) {
18204
+ _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
18205
+ }
18206
+ }
18207
+
18208
+ };
18209
+
18210
+ Slick.prototype.changeSlide = function(event, dontAnimate) {
18211
+
18212
+ var _ = this,
18213
+ $target = $(event.currentTarget),
18214
+ indexOffset, slideOffset, unevenOffset;
18215
+
18216
+ // If target is a link, prevent default action.
18217
+ if($target.is('a')) {
18218
+ event.preventDefault();
18219
+ }
18220
+
18221
+ // If target is not the <li> element (ie: a child), find the <li>.
18222
+ if(!$target.is('li')) {
18223
+ $target = $target.closest('li');
18224
+ }
18225
+
18226
+ unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
18227
+ indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
18228
+
18229
+ switch (event.data.message) {
18230
+
18231
+ case 'previous':
18232
+ slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
18233
+ if (_.slideCount > _.options.slidesToShow) {
18234
+ _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
18235
+ }
18236
+ break;
18237
+
18238
+ case 'next':
18239
+ slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
18240
+ if (_.slideCount > _.options.slidesToShow) {
18241
+ _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
18242
+ }
18243
+ break;
18244
+
18245
+ case 'index':
18246
+ var index = event.data.index === 0 ? 0 :
18247
+ event.data.index || $target.index() * _.options.slidesToScroll;
18248
+
18249
+ _.slideHandler(_.checkNavigable(index), false, dontAnimate);
18250
+ $target.children().trigger('focus');
18251
+ break;
18252
+
18253
+ default:
18254
+ return;
18255
+ }
18256
+
18257
+ };
18258
+
18259
+ Slick.prototype.checkNavigable = function(index) {
18260
+
18261
+ var _ = this,
18262
+ navigables, prevNavigable;
18263
+
18264
+ navigables = _.getNavigableIndexes();
18265
+ prevNavigable = 0;
18266
+ if (index > navigables[navigables.length - 1]) {
18267
+ index = navigables[navigables.length - 1];
18268
+ } else {
18269
+ for (var n in navigables) {
18270
+ if (index < navigables[n]) {
18271
+ index = prevNavigable;
18272
+ break;
18273
+ }
18274
+ prevNavigable = navigables[n];
18275
+ }
18276
+ }
18277
+
18278
+ return index;
18279
+ };
18280
+
18281
+ Slick.prototype.cleanUpEvents = function() {
18282
+
18283
+ var _ = this;
18284
+
18285
+ if (_.options.dots && _.$dots !== null) {
18286
+
18287
+ $('li', _.$dots)
18288
+ .off('click.slick', _.changeSlide)
18289
+ .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
18290
+ .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
18291
+
18292
+ if (_.options.accessibility === true) {
18293
+ _.$dots.off('keydown.slick', _.keyHandler);
18294
+ }
18295
+ }
18296
+
18297
+ _.$slider.off('focus.slick blur.slick');
18298
+
18299
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
18300
+ _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
18301
+ _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
18302
+
18303
+ if (_.options.accessibility === true) {
18304
+ _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);
18305
+ _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);
18306
+ }
18307
+ }
18308
+
18309
+ _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
18310
+ _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
18311
+ _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
18312
+ _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
18313
+
18314
+ _.$list.off('click.slick', _.clickHandler);
18315
+
18316
+ $(document).off(_.visibilityChange, _.visibility);
18317
+
18318
+ _.cleanUpSlideEvents();
18319
+
18320
+ if (_.options.accessibility === true) {
18321
+ _.$list.off('keydown.slick', _.keyHandler);
18322
+ }
18323
+
18324
+ if (_.options.focusOnSelect === true) {
18325
+ $(_.$slideTrack).children().off('click.slick', _.selectHandler);
18326
+ }
18327
+
18328
+ $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
18329
+
18330
+ $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
18331
+
18332
+ $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
18333
+
18334
+ $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
18335
+
18336
+ };
18337
+
18338
+ Slick.prototype.cleanUpSlideEvents = function() {
18339
+
18340
+ var _ = this;
18341
+
18342
+ _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
18343
+ _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
18344
+
18345
+ };
18346
+
18347
+ Slick.prototype.cleanUpRows = function() {
18348
+
18349
+ var _ = this, originalSlides;
18350
+
18351
+ if(_.options.rows > 0) {
18352
+ originalSlides = _.$slides.children().children();
18353
+ originalSlides.removeAttr('style');
18354
+ _.$slider.empty().append(originalSlides);
18355
+ }
18356
+
18357
+ };
18358
+
18359
+ Slick.prototype.clickHandler = function(event) {
18360
+
18361
+ var _ = this;
18362
+
18363
+ if (_.shouldClick === false) {
18364
+ event.stopImmediatePropagation();
18365
+ event.stopPropagation();
18366
+ event.preventDefault();
18367
+ }
18368
+
18369
+ };
18370
+
18371
+ Slick.prototype.destroy = function(refresh) {
18372
+
18373
+ var _ = this;
18374
+
18375
+ _.autoPlayClear();
18376
+
18377
+ _.touchObject = {};
18378
+
18379
+ _.cleanUpEvents();
18380
+
18381
+ $('.slick-cloned', _.$slider).detach();
18382
+
18383
+ if (_.$dots) {
18384
+ _.$dots.remove();
18385
+ }
18386
+
18387
+ if ( _.$prevArrow && _.$prevArrow.length ) {
18388
+
18389
+ _.$prevArrow
18390
+ .removeClass('slick-disabled slick-arrow slick-hidden')
18391
+ .removeAttr('aria-hidden aria-disabled tabindex')
18392
+ .css('display','');
18393
+
18394
+ if ( _.htmlExpr.test( _.options.prevArrow )) {
18395
+ _.$prevArrow.remove();
18396
+ }
18397
+ }
18398
+
18399
+ if ( _.$nextArrow && _.$nextArrow.length ) {
18400
+
18401
+ _.$nextArrow
18402
+ .removeClass('slick-disabled slick-arrow slick-hidden')
18403
+ .removeAttr('aria-hidden aria-disabled tabindex')
18404
+ .css('display','');
18405
+
18406
+ if ( _.htmlExpr.test( _.options.nextArrow )) {
18407
+ _.$nextArrow.remove();
18408
+ }
18409
+ }
18410
+
18411
+
18412
+ if (_.$slides) {
18413
+
18414
+ _.$slides
18415
+ .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
18416
+ .removeAttr('aria-hidden')
18417
+ .removeAttr('data-slick-index')
18418
+ .each(function(){
18419
+ $(this).attr('style', $(this).data('originalStyling'));
18420
+ });
18421
+
18422
+ _.$slideTrack.children(this.options.slide).detach();
18423
+
18424
+ _.$slideTrack.detach();
18425
+
18426
+ _.$list.detach();
18427
+
18428
+ _.$slider.append(_.$slides);
18429
+ }
18430
+
18431
+ _.cleanUpRows();
18432
+
18433
+ _.$slider.removeClass('slick-slider');
18434
+ _.$slider.removeClass('slick-initialized');
18435
+ _.$slider.removeClass('slick-dotted');
18436
+
18437
+ _.unslicked = true;
18438
+
18439
+ if(!refresh) {
18440
+ _.$slider.trigger('destroy', [_]);
18441
+ }
18442
+
18443
+ };
18444
+
18445
+ Slick.prototype.disableTransition = function(slide) {
18446
+
18447
+ var _ = this,
18448
+ transition = {};
18449
+
18450
+ transition[_.transitionType] = '';
18451
+
18452
+ if (_.options.fade === false) {
18453
+ _.$slideTrack.css(transition);
18454
+ } else {
18455
+ _.$slides.eq(slide).css(transition);
18456
+ }
18457
+
18458
+ };
18459
+
18460
+ Slick.prototype.fadeSlide = function(slideIndex, callback) {
18461
+
18462
+ var _ = this;
18463
+
18464
+ if (_.cssTransitions === false) {
18465
+
18466
+ _.$slides.eq(slideIndex).css({
18467
+ zIndex: _.options.zIndex
18468
+ });
18469
+
18470
+ _.$slides.eq(slideIndex).animate({
18471
+ opacity: 1
18472
+ }, _.options.speed, _.options.easing, callback);
18473
+
18474
+ } else {
18475
+
18476
+ _.applyTransition(slideIndex);
18477
+
18478
+ _.$slides.eq(slideIndex).css({
18479
+ opacity: 1,
18480
+ zIndex: _.options.zIndex
18481
+ });
18482
+
18483
+ if (callback) {
18484
+ setTimeout(function() {
18485
+
18486
+ _.disableTransition(slideIndex);
18487
+
18488
+ callback.call();
18489
+ }, _.options.speed);
18490
+ }
18491
+
18492
+ }
18493
+
18494
+ };
18495
+
18496
+ Slick.prototype.fadeSlideOut = function(slideIndex) {
18497
+
18498
+ var _ = this;
18499
+
18500
+ if (_.cssTransitions === false) {
18501
+
18502
+ _.$slides.eq(slideIndex).animate({
18503
+ opacity: 0,
18504
+ zIndex: _.options.zIndex - 2
18505
+ }, _.options.speed, _.options.easing);
18506
+
18507
+ } else {
18508
+
18509
+ _.applyTransition(slideIndex);
18510
+
18511
+ _.$slides.eq(slideIndex).css({
18512
+ opacity: 0,
18513
+ zIndex: _.options.zIndex - 2
18514
+ });
18515
+
18516
+ }
18517
+
18518
+ };
18519
+
18520
+ Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
18521
+
18522
+ var _ = this;
18523
+
18524
+ if (filter !== null) {
18525
+
18526
+ _.$slidesCache = _.$slides;
18527
+
18528
+ _.unload();
18529
+
18530
+ _.$slideTrack.children(this.options.slide).detach();
18531
+
18532
+ _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
18533
+
18534
+ _.reinit();
18535
+
18536
+ }
18537
+
18538
+ };
18539
+
18540
+ Slick.prototype.focusHandler = function() {
18541
+
18542
+ var _ = this;
18543
+
18544
+ _.$slider
18545
+ .off('focus.slick blur.slick')
18546
+ .on('focus.slick blur.slick', '*', function(event) {
18547
+
18548
+ event.stopImmediatePropagation();
18549
+ var $sf = $(this);
18550
+
18551
+ setTimeout(function() {
18552
+
18553
+ if( _.options.pauseOnFocus ) {
18554
+ _.focussed = $sf.is(':focus');
18555
+ _.autoPlay();
18556
+ }
18557
+
18558
+ }, 0);
18559
+
18560
+ });
18561
+ };
18562
+
18563
+ Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
18564
+
18565
+ var _ = this;
18566
+ return _.currentSlide;
18567
+
18568
+ };
18569
+
18570
+ Slick.prototype.getDotCount = function() {
18571
+
18572
+ var _ = this;
18573
+
18574
+ var breakPoint = 0;
18575
+ var counter = 0;
18576
+ var pagerQty = 0;
18577
+
18578
+ if (_.options.infinite === true) {
18579
+ if (_.slideCount <= _.options.slidesToShow) {
18580
+ ++pagerQty;
18581
+ } else {
18582
+ while (breakPoint < _.slideCount) {
18583
+ ++pagerQty;
18584
+ breakPoint = counter + _.options.slidesToScroll;
18585
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
18586
+ }
18587
+ }
18588
+ } else if (_.options.centerMode === true) {
18589
+ pagerQty = _.slideCount;
18590
+ } else if(!_.options.asNavFor) {
18591
+ pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
18592
+ }else {
18593
+ while (breakPoint < _.slideCount) {
18594
+ ++pagerQty;
18595
+ breakPoint = counter + _.options.slidesToScroll;
18596
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
18597
+ }
18598
+ }
18599
+
18600
+ return pagerQty - 1;
18601
+
18602
+ };
18603
+
18604
+ Slick.prototype.getLeft = function(slideIndex) {
18605
+
18606
+ var _ = this,
18607
+ targetLeft,
18608
+ verticalHeight,
18609
+ verticalOffset = 0,
18610
+ targetSlide,
18611
+ coef;
18612
+
18613
+ _.slideOffset = 0;
18614
+ verticalHeight = _.$slides.first().outerHeight(true);
18615
+
18616
+ if (_.options.infinite === true) {
18617
+ if (_.slideCount > _.options.slidesToShow) {
18618
+ _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
18619
+ coef = -1
18620
+
18621
+ if (_.options.vertical === true && _.options.centerMode === true) {
18622
+ if (_.options.slidesToShow === 2) {
18623
+ coef = -1.5;
18624
+ } else if (_.options.slidesToShow === 1) {
18625
+ coef = -2
18626
+ }
18627
+ }
18628
+ verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;
18629
+ }
18630
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
18631
+ if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
18632
+ if (slideIndex > _.slideCount) {
18633
+ _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
18634
+ verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
18635
+ } else {
18636
+ _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
18637
+ verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
18638
+ }
18639
+ }
18640
+ }
18641
+ } else {
18642
+ if (slideIndex + _.options.slidesToShow > _.slideCount) {
18643
+ _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
18644
+ verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
18645
+ }
18646
+ }
18647
+
18648
+ if (_.slideCount <= _.options.slidesToShow) {
18649
+ _.slideOffset = 0;
18650
+ verticalOffset = 0;
18651
+ }
18652
+
18653
+ if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {
18654
+ _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
18655
+ } else if (_.options.centerMode === true && _.options.infinite === true) {
18656
+ _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
18657
+ } else if (_.options.centerMode === true) {
18658
+ _.slideOffset = 0;
18659
+ _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
18660
+ }
18661
+
18662
+ if (_.options.vertical === false) {
18663
+ targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
18664
+ } else {
18665
+ targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
18666
+ }
18667
+
18668
+ if (_.options.variableWidth === true) {
18669
+
18670
+ if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
18671
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
18672
+ } else {
18673
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
18674
+ }
18675
+
18676
+ if (_.options.rtl === true) {
18677
+ if (targetSlide[0]) {
18678
+ targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
18679
+ } else {
18680
+ targetLeft = 0;
18681
+ }
18682
+ } else {
18683
+ targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
18684
+ }
18685
+
18686
+ if (_.options.centerMode === true) {
18687
+ if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
18688
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
18689
+ } else {
18690
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
18691
+ }
18692
+
18693
+ if (_.options.rtl === true) {
18694
+ if (targetSlide[0]) {
18695
+ targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
18696
+ } else {
18697
+ targetLeft = 0;
18698
+ }
18699
+ } else {
18700
+ targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
18701
+ }
18702
+
18703
+ targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
18704
+ }
18705
+ }
18706
+
18707
+ return targetLeft;
18708
+
18709
+ };
18710
+
18711
+ Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
18712
+
18713
+ var _ = this;
18714
+
18715
+ return _.options[option];
18716
+
18717
+ };
18718
+
18719
+ Slick.prototype.getNavigableIndexes = function() {
18720
+
18721
+ var _ = this,
18722
+ breakPoint = 0,
18723
+ counter = 0,
18724
+ indexes = [],
18725
+ max;
18726
+
18727
+ if (_.options.infinite === false) {
18728
+ max = _.slideCount;
18729
+ } else {
18730
+ breakPoint = _.options.slidesToScroll * -1;
18731
+ counter = _.options.slidesToScroll * -1;
18732
+ max = _.slideCount * 2;
18733
+ }
18734
+
18735
+ while (breakPoint < max) {
18736
+ indexes.push(breakPoint);
18737
+ breakPoint = counter + _.options.slidesToScroll;
18738
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
18739
+ }
18740
+
18741
+ return indexes;
18742
+
18743
+ };
18744
+
18745
+ Slick.prototype.getSlick = function() {
18746
+
18747
+ return this;
18748
+
18749
+ };
18750
+
18751
+ Slick.prototype.getSlideCount = function() {
18752
+
18753
+ var _ = this,
18754
+ slidesTraversed, swipedSlide, centerOffset;
18755
+
18756
+ centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
18757
+
18758
+ if (_.options.swipeToSlide === true) {
18759
+ _.$slideTrack.find('.slick-slide').each(function(index, slide) {
18760
+ if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
18761
+ swipedSlide = slide;
18762
+ return false;
18763
+ }
18764
+ });
18765
+
18766
+ slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
18767
+
18768
+ return slidesTraversed;
18769
+
18770
+ } else {
18771
+ return _.options.slidesToScroll;
18772
+ }
18773
+
18774
+ };
18775
+
18776
+ Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
18777
+
18778
+ var _ = this;
18779
+
18780
+ _.changeSlide({
18781
+ data: {
18782
+ message: 'index',
18783
+ index: parseInt(slide)
18784
+ }
18785
+ }, dontAnimate);
18786
+
18787
+ };
18788
+
18789
+ Slick.prototype.init = function(creation) {
18790
+
18791
+ var _ = this;
18792
+
18793
+ if (!$(_.$slider).hasClass('slick-initialized')) {
18794
+
18795
+ $(_.$slider).addClass('slick-initialized');
18796
+
18797
+ _.buildRows();
18798
+ _.buildOut();
18799
+ _.setProps();
18800
+ _.startLoad();
18801
+ _.loadSlider();
18802
+ _.initializeEvents();
18803
+ _.updateArrows();
18804
+ _.updateDots();
18805
+ _.checkResponsive(true);
18806
+ _.focusHandler();
18807
+
18808
+ }
18809
+
18810
+ if (creation) {
18811
+ _.$slider.trigger('init', [_]);
18812
+ }
18813
+
18814
+ if (_.options.accessibility === true) {
18815
+ _.initADA();
18816
+ }
18817
+
18818
+ if ( _.options.autoplay ) {
18819
+
18820
+ _.paused = false;
18821
+ _.autoPlay();
18822
+
18823
+ }
18824
+
18825
+ };
18826
+
18827
+ Slick.prototype.initADA = function() {
18828
+ var _ = this,
18829
+ numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
18830
+ tabControlIndexes = _.getNavigableIndexes().filter(function(val) {
18831
+ return (val >= 0) && (val < _.slideCount);
18832
+ });
18833
+
18834
+ _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
18835
+ 'aria-hidden': 'true',
18836
+ 'tabindex': '-1'
18837
+ }).find('a, input, button, select').attr({
18838
+ 'tabindex': '-1'
18839
+ });
18840
+
18841
+ if (_.$dots !== null) {
18842
+ _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
18843
+ var slideControlIndex = tabControlIndexes.indexOf(i);
18844
+
18845
+ $(this).attr({
18846
+ 'role': 'tabpanel',
18847
+ 'id': 'slick-slide' + _.instanceUid + i,
18848
+ 'tabindex': -1
18849
+ });
18850
+
18851
+ if (slideControlIndex !== -1) {
18852
+ var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex
18853
+ if ($('#' + ariaButtonControl).length) {
18854
+ $(this).attr({
18855
+ 'aria-describedby': ariaButtonControl
18856
+ });
18857
+ }
18858
+ }
18859
+ });
18860
+
18861
+ _.$dots.attr('role', 'tablist').find('li').each(function(i) {
18862
+ var mappedSlideIndex = tabControlIndexes[i];
18863
+
18864
+ $(this).attr({
18865
+ 'role': 'presentation'
18866
+ });
18867
+
18868
+ $(this).find('button').first().attr({
18869
+ 'role': 'tab',
18870
+ 'id': 'slick-slide-control' + _.instanceUid + i,
18871
+ 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
18872
+ 'aria-label': (i + 1) + ' of ' + numDotGroups,
18873
+ 'aria-selected': null,
18874
+ 'tabindex': '-1'
18875
+ });
18876
+
18877
+ }).eq(_.currentSlide).find('button').attr({
18878
+ 'aria-selected': 'true',
18879
+ 'tabindex': '0'
18880
+ }).end();
18881
+ }
18882
+
18883
+ for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) {
18884
+ if (_.options.focusOnChange) {
18885
+ _.$slides.eq(i).attr({'tabindex': '0'});
18886
+ } else {
18887
+ _.$slides.eq(i).removeAttr('tabindex');
18888
+ }
18889
+ }
18890
+
18891
+ _.activateADA();
18892
+
18893
+ };
18894
+
18895
+ Slick.prototype.initArrowEvents = function() {
18896
+
18897
+ var _ = this;
18898
+
18899
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
18900
+ _.$prevArrow
18901
+ .off('click.slick')
18902
+ .on('click.slick', {
18903
+ message: 'previous'
18904
+ }, _.changeSlide);
18905
+ _.$nextArrow
18906
+ .off('click.slick')
18907
+ .on('click.slick', {
18908
+ message: 'next'
18909
+ }, _.changeSlide);
18910
+
18911
+ if (_.options.accessibility === true) {
18912
+ _.$prevArrow.on('keydown.slick', _.keyHandler);
18913
+ _.$nextArrow.on('keydown.slick', _.keyHandler);
18914
+ }
18915
+ }
18916
+
18917
+ };
18918
+
18919
+ Slick.prototype.initDotEvents = function() {
18920
+
18921
+ var _ = this;
18922
+
18923
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
18924
+ $('li', _.$dots).on('click.slick', {
18925
+ message: 'index'
18926
+ }, _.changeSlide);
18927
+
18928
+ if (_.options.accessibility === true) {
18929
+ _.$dots.on('keydown.slick', _.keyHandler);
18930
+ }
18931
+ }
18932
+
18933
+ if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) {
18934
+
18935
+ $('li', _.$dots)
18936
+ .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
18937
+ .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
18938
+
18939
+ }
18940
+
18941
+ };
18942
+
18943
+ Slick.prototype.initSlideEvents = function() {
18944
+
18945
+ var _ = this;
18946
+
18947
+ if ( _.options.pauseOnHover ) {
18948
+
18949
+ _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
18950
+ _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
18951
+
18952
+ }
18953
+
18954
+ };
18955
+
18956
+ Slick.prototype.initializeEvents = function() {
18957
+
18958
+ var _ = this;
18959
+
18960
+ _.initArrowEvents();
18961
+
18962
+ _.initDotEvents();
18963
+ _.initSlideEvents();
18964
+
18965
+ _.$list.on('touchstart.slick mousedown.slick', {
18966
+ action: 'start'
18967
+ }, _.swipeHandler);
18968
+ _.$list.on('touchmove.slick mousemove.slick', {
18969
+ action: 'move'
18970
+ }, _.swipeHandler);
18971
+ _.$list.on('touchend.slick mouseup.slick', {
18972
+ action: 'end'
18973
+ }, _.swipeHandler);
18974
+ _.$list.on('touchcancel.slick mouseleave.slick', {
18975
+ action: 'end'
18976
+ }, _.swipeHandler);
18977
+
18978
+ _.$list.on('click.slick', _.clickHandler);
18979
+
18980
+ $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
18981
+
18982
+ if (_.options.accessibility === true) {
18983
+ _.$list.on('keydown.slick', _.keyHandler);
18984
+ }
18985
+
18986
+ if (_.options.focusOnSelect === true) {
18987
+ $(_.$slideTrack).children().on('click.slick', _.selectHandler);
18988
+ }
18989
+
18990
+ $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
18991
+
18992
+ $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
18993
+
18994
+ $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
18995
+
18996
+ $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
18997
+ $(_.setPosition);
18998
+
18999
+ };
19000
+
19001
+ Slick.prototype.initUI = function() {
19002
+
19003
+ var _ = this;
19004
+
19005
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
19006
+
19007
+ _.$prevArrow.show();
19008
+ _.$nextArrow.show();
19009
+
19010
+ }
19011
+
19012
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
19013
+
19014
+ _.$dots.show();
19015
+
19016
+ }
19017
+
19018
+ };
19019
+
19020
+ Slick.prototype.keyHandler = function(event) {
19021
+
19022
+ var _ = this;
19023
+ //Dont slide if the cursor is inside the form fields and arrow keys are pressed
19024
+ if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
19025
+ if (event.keyCode === 37 && _.options.accessibility === true) {
19026
+ _.changeSlide({
19027
+ data: {
19028
+ message: _.options.rtl === true ? 'next' : 'previous'
19029
+ }
19030
+ });
19031
+ } else if (event.keyCode === 39 && _.options.accessibility === true) {
19032
+ _.changeSlide({
19033
+ data: {
19034
+ message: _.options.rtl === true ? 'previous' : 'next'
19035
+ }
19036
+ });
19037
+ }
19038
+ }
19039
+
19040
+ };
19041
+
19042
+ Slick.prototype.lazyLoad = function() {
19043
+
19044
+ var _ = this,
19045
+ loadRange, cloneRange, rangeStart, rangeEnd;
19046
+
19047
+ function loadImages(imagesScope) {
19048
+
19049
+ $('img[data-lazy]', imagesScope).each(function() {
19050
+
19051
+ var image = $(this),
19052
+ imageSource = $(this).attr('data-lazy'),
19053
+ imageSrcSet = $(this).attr('data-srcset'),
19054
+ imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),
19055
+ imageToLoad = document.createElement('img');
19056
+
19057
+ imageToLoad.onload = function() {
19058
+
19059
+ image
19060
+ .animate({ opacity: 0 }, 100, function() {
19061
+
19062
+ if (imageSrcSet) {
19063
+ image
19064
+ .attr('srcset', imageSrcSet );
19065
+
19066
+ if (imageSizes) {
19067
+ image
19068
+ .attr('sizes', imageSizes );
19069
+ }
19070
+ }
19071
+
19072
+ image
19073
+ .attr('src', imageSource)
19074
+ .animate({ opacity: 1 }, 200, function() {
19075
+ image
19076
+ .removeAttr('data-lazy data-srcset data-sizes')
19077
+ .removeClass('slick-loading');
19078
+ });
19079
+ _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
19080
+ });
19081
+
19082
+ };
19083
+
19084
+ imageToLoad.onerror = function() {
19085
+
19086
+ image
19087
+ .removeAttr( 'data-lazy' )
19088
+ .removeClass( 'slick-loading' )
19089
+ .addClass( 'slick-lazyload-error' );
19090
+
19091
+ _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
19092
+
19093
+ };
19094
+
19095
+ imageToLoad.src = imageSource;
19096
+
19097
+ });
19098
+
19099
+ }
19100
+
19101
+ if (_.options.centerMode === true) {
19102
+ if (_.options.infinite === true) {
19103
+ rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
19104
+ rangeEnd = rangeStart + _.options.slidesToShow + 2;
19105
+ } else {
19106
+ rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
19107
+ rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
19108
+ }
19109
+ } else {
19110
+ rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
19111
+ rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
19112
+ if (_.options.fade === true) {
19113
+ if (rangeStart > 0) rangeStart--;
19114
+ if (rangeEnd <= _.slideCount) rangeEnd++;
19115
+ }
19116
+ }
19117
+
19118
+ loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
19119
+
19120
+ if (_.options.lazyLoad === 'anticipated') {
19121
+ var prevSlide = rangeStart - 1,
19122
+ nextSlide = rangeEnd,
19123
+ $slides = _.$slider.find('.slick-slide');
19124
+
19125
+ for (var i = 0; i < _.options.slidesToScroll; i++) {
19126
+ if (prevSlide < 0) prevSlide = _.slideCount - 1;
19127
+ loadRange = loadRange.add($slides.eq(prevSlide));
19128
+ loadRange = loadRange.add($slides.eq(nextSlide));
19129
+ prevSlide--;
19130
+ nextSlide++;
19131
+ }
19132
+ }
19133
+
19134
+ loadImages(loadRange);
19135
+
19136
+ if (_.slideCount <= _.options.slidesToShow) {
19137
+ cloneRange = _.$slider.find('.slick-slide');
19138
+ loadImages(cloneRange);
19139
+ } else
19140
+ if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
19141
+ cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
19142
+ loadImages(cloneRange);
19143
+ } else if (_.currentSlide === 0) {
19144
+ cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
19145
+ loadImages(cloneRange);
19146
+ }
19147
+
19148
+ };
19149
+
19150
+ Slick.prototype.loadSlider = function() {
19151
+
19152
+ var _ = this;
19153
+
19154
+ _.setPosition();
19155
+
19156
+ _.$slideTrack.css({
19157
+ opacity: 1
19158
+ });
19159
+
19160
+ _.$slider.removeClass('slick-loading');
19161
+
19162
+ _.initUI();
19163
+
19164
+ if (_.options.lazyLoad === 'progressive') {
19165
+ _.progressiveLazyLoad();
19166
+ }
19167
+
19168
+ };
19169
+
19170
+ Slick.prototype.next = Slick.prototype.slickNext = function() {
19171
+
19172
+ var _ = this;
19173
+
19174
+ _.changeSlide({
19175
+ data: {
19176
+ message: 'next'
19177
+ }
19178
+ });
19179
+
19180
+ };
19181
+
19182
+ Slick.prototype.orientationChange = function() {
19183
+
19184
+ var _ = this;
19185
+
19186
+ _.checkResponsive();
19187
+ _.setPosition();
19188
+
19189
+ };
19190
+
19191
+ Slick.prototype.pause = Slick.prototype.slickPause = function() {
19192
+
19193
+ var _ = this;
19194
+
19195
+ _.autoPlayClear();
19196
+ _.paused = true;
19197
+
19198
+ };
19199
+
19200
+ Slick.prototype.play = Slick.prototype.slickPlay = function() {
19201
+
19202
+ var _ = this;
19203
+
19204
+ _.autoPlay();
19205
+ _.options.autoplay = true;
19206
+ _.paused = false;
19207
+ _.focussed = false;
19208
+ _.interrupted = false;
19209
+
19210
+ };
19211
+
19212
+ Slick.prototype.postSlide = function(index) {
19213
+
19214
+ var _ = this;
19215
+
19216
+ if( !_.unslicked ) {
19217
+
19218
+ _.$slider.trigger('afterChange', [_, index]);
19219
+
19220
+ _.animating = false;
19221
+
19222
+ if (_.slideCount > _.options.slidesToShow) {
19223
+ _.setPosition();
19224
+ }
19225
+
19226
+ _.swipeLeft = null;
19227
+
19228
+ if ( _.options.autoplay ) {
19229
+ _.autoPlay();
19230
+ }
19231
+
19232
+ if (_.options.accessibility === true) {
19233
+ _.initADA();
19234
+
19235
+ if (_.options.focusOnChange) {
19236
+ var $currentSlide = $(_.$slides.get(_.currentSlide));
19237
+ $currentSlide.attr('tabindex', 0).focus();
19238
+ }
19239
+ }
19240
+
19241
+ }
19242
+
19243
+ };
19244
+
19245
+ Slick.prototype.prev = Slick.prototype.slickPrev = function() {
19246
+
19247
+ var _ = this;
19248
+
19249
+ _.changeSlide({
19250
+ data: {
19251
+ message: 'previous'
19252
+ }
19253
+ });
19254
+
19255
+ };
19256
+
19257
+ Slick.prototype.preventDefault = function(event) {
19258
+
19259
+ event.preventDefault();
19260
+
19261
+ };
19262
+
19263
+ Slick.prototype.progressiveLazyLoad = function( tryCount ) {
19264
+
19265
+ tryCount = tryCount || 1;
19266
+
19267
+ var _ = this,
19268
+ $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
19269
+ image,
19270
+ imageSource,
19271
+ imageSrcSet,
19272
+ imageSizes,
19273
+ imageToLoad;
19274
+
19275
+ if ( $imgsToLoad.length ) {
19276
+
19277
+ image = $imgsToLoad.first();
19278
+ imageSource = image.attr('data-lazy');
19279
+ imageSrcSet = image.attr('data-srcset');
19280
+ imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes');
19281
+ imageToLoad = document.createElement('img');
19282
+
19283
+ imageToLoad.onload = function() {
19284
+
19285
+ if (imageSrcSet) {
19286
+ image
19287
+ .attr('srcset', imageSrcSet );
19288
+
19289
+ if (imageSizes) {
19290
+ image
19291
+ .attr('sizes', imageSizes );
19292
+ }
19293
+ }
19294
+
19295
+ image
19296
+ .attr( 'src', imageSource )
19297
+ .removeAttr('data-lazy data-srcset data-sizes')
19298
+ .removeClass('slick-loading');
19299
+
19300
+ if ( _.options.adaptiveHeight === true ) {
19301
+ _.setPosition();
19302
+ }
19303
+
19304
+ _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
19305
+ _.progressiveLazyLoad();
19306
+
19307
+ };
19308
+
19309
+ imageToLoad.onerror = function() {
19310
+
19311
+ if ( tryCount < 3 ) {
19312
+
19313
+ /**
19314
+ * try to load the image 3 times,
19315
+ * leave a slight delay so we don't get
19316
+ * servers blocking the request.
19317
+ */
19318
+ setTimeout( function() {
19319
+ _.progressiveLazyLoad( tryCount + 1 );
19320
+ }, 500 );
19321
+
19322
+ } else {
19323
+
19324
+ image
19325
+ .removeAttr( 'data-lazy' )
19326
+ .removeClass( 'slick-loading' )
19327
+ .addClass( 'slick-lazyload-error' );
19328
+
19329
+ _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
19330
+
19331
+ _.progressiveLazyLoad();
19332
+
19333
+ }
19334
+
19335
+ };
19336
+
19337
+ imageToLoad.src = imageSource;
19338
+
19339
+ } else {
19340
+
19341
+ _.$slider.trigger('allImagesLoaded', [ _ ]);
19342
+
19343
+ }
19344
+
19345
+ };
19346
+
19347
+ Slick.prototype.refresh = function( initializing ) {
19348
+
19349
+ var _ = this, currentSlide, lastVisibleIndex;
19350
+
19351
+ lastVisibleIndex = _.slideCount - _.options.slidesToShow;
19352
+
19353
+ // in non-infinite sliders, we don't want to go past the
19354
+ // last visible index.
19355
+ if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
19356
+ _.currentSlide = lastVisibleIndex;
19357
+ }
19358
+
19359
+ // if less slides than to show, go to start.
19360
+ if ( _.slideCount <= _.options.slidesToShow ) {
19361
+ _.currentSlide = 0;
19362
+
19363
+ }
19364
+
19365
+ currentSlide = _.currentSlide;
19366
+
19367
+ _.destroy(true);
19368
+
19369
+ $.extend(_, _.initials, { currentSlide: currentSlide });
19370
+
19371
+ _.init();
19372
+
19373
+ if( !initializing ) {
19374
+
19375
+ _.changeSlide({
19376
+ data: {
19377
+ message: 'index',
19378
+ index: currentSlide
19379
+ }
19380
+ }, false);
19381
+
19382
+ }
19383
+
19384
+ };
19385
+
19386
+ Slick.prototype.registerBreakpoints = function() {
19387
+
19388
+ var _ = this, breakpoint, currentBreakpoint, l,
19389
+ responsiveSettings = _.options.responsive || null;
19390
+
19391
+ if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
19392
+
19393
+ _.respondTo = _.options.respondTo || 'window';
19394
+
19395
+ for ( breakpoint in responsiveSettings ) {
19396
+
19397
+ l = _.breakpoints.length-1;
19398
+
19399
+ if (responsiveSettings.hasOwnProperty(breakpoint)) {
19400
+ currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
19401
+
19402
+ // loop through the breakpoints and cut out any existing
19403
+ // ones with the same breakpoint number, we don't want dupes.
19404
+ while( l >= 0 ) {
19405
+ if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
19406
+ _.breakpoints.splice(l,1);
19407
+ }
19408
+ l--;
19409
+ }
19410
+
19411
+ _.breakpoints.push(currentBreakpoint);
19412
+ _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
19413
+
19414
+ }
19415
+
19416
+ }
19417
+
19418
+ _.breakpoints.sort(function(a, b) {
19419
+ return ( _.options.mobileFirst ) ? a-b : b-a;
19420
+ });
19421
+
19422
+ }
19423
+
19424
+ };
19425
+
19426
+ Slick.prototype.reinit = function() {
19427
+
19428
+ var _ = this;
19429
+
19430
+ _.$slides =
19431
+ _.$slideTrack
19432
+ .children(_.options.slide)
19433
+ .addClass('slick-slide');
19434
+
19435
+ _.slideCount = _.$slides.length;
19436
+
19437
+ if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
19438
+ _.currentSlide = _.currentSlide - _.options.slidesToScroll;
19439
+ }
19440
+
19441
+ if (_.slideCount <= _.options.slidesToShow) {
19442
+ _.currentSlide = 0;
19443
+ }
19444
+
19445
+ _.registerBreakpoints();
19446
+
19447
+ _.setProps();
19448
+ _.setupInfinite();
19449
+ _.buildArrows();
19450
+ _.updateArrows();
19451
+ _.initArrowEvents();
19452
+ _.buildDots();
19453
+ _.updateDots();
19454
+ _.initDotEvents();
19455
+ _.cleanUpSlideEvents();
19456
+ _.initSlideEvents();
19457
+
19458
+ _.checkResponsive(false, true);
19459
+
19460
+ if (_.options.focusOnSelect === true) {
19461
+ $(_.$slideTrack).children().on('click.slick', _.selectHandler);
19462
+ }
19463
+
19464
+ _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
19465
+
19466
+ _.setPosition();
19467
+ _.focusHandler();
19468
+
19469
+ _.paused = !_.options.autoplay;
19470
+ _.autoPlay();
19471
+
19472
+ _.$slider.trigger('reInit', [_]);
19473
+
19474
+ };
19475
+
19476
+ Slick.prototype.resize = function() {
19477
+
19478
+ var _ = this;
19479
+
19480
+ if ($(window).width() !== _.windowWidth) {
19481
+ clearTimeout(_.windowDelay);
19482
+ _.windowDelay = window.setTimeout(function() {
19483
+ _.windowWidth = $(window).width();
19484
+ _.checkResponsive();
19485
+ if( !_.unslicked ) { _.setPosition(); }
19486
+ }, 50);
19487
+ }
19488
+ };
19489
+
19490
+ Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
19491
+
19492
+ var _ = this;
19493
+
19494
+ if (typeof(index) === 'boolean') {
19495
+ removeBefore = index;
19496
+ index = removeBefore === true ? 0 : _.slideCount - 1;
19497
+ } else {
19498
+ index = removeBefore === true ? --index : index;
19499
+ }
19500
+
19501
+ if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
19502
+ return false;
19503
+ }
19504
+
19505
+ _.unload();
19506
+
19507
+ if (removeAll === true) {
19508
+ _.$slideTrack.children().remove();
19509
+ } else {
19510
+ _.$slideTrack.children(this.options.slide).eq(index).remove();
19511
+ }
19512
+
19513
+ _.$slides = _.$slideTrack.children(this.options.slide);
19514
+
19515
+ _.$slideTrack.children(this.options.slide).detach();
19516
+
19517
+ _.$slideTrack.append(_.$slides);
19518
+
19519
+ _.$slidesCache = _.$slides;
19520
+
19521
+ _.reinit();
19522
+
19523
+ };
19524
+
19525
+ Slick.prototype.setCSS = function(position) {
19526
+
19527
+ var _ = this,
19528
+ positionProps = {},
19529
+ x, y;
19530
+
19531
+ if (_.options.rtl === true) {
19532
+ position = -position;
19533
+ }
19534
+ x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
19535
+ y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
19536
+
19537
+ positionProps[_.positionProp] = position;
19538
+
19539
+ if (_.transformsEnabled === false) {
19540
+ _.$slideTrack.css(positionProps);
19541
+ } else {
19542
+ positionProps = {};
19543
+ if (_.cssTransitions === false) {
19544
+ positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
19545
+ _.$slideTrack.css(positionProps);
19546
+ } else {
19547
+ positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
19548
+ _.$slideTrack.css(positionProps);
19549
+ }
19550
+ }
19551
+
19552
+ };
19553
+
19554
+ Slick.prototype.setDimensions = function() {
19555
+
19556
+ var _ = this;
19557
+
19558
+ if (_.options.vertical === false) {
19559
+ if (_.options.centerMode === true) {
19560
+ _.$list.css({
19561
+ padding: ('0px ' + _.options.centerPadding)
19562
+ });
19563
+ }
19564
+ } else {
19565
+ _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
19566
+ if (_.options.centerMode === true) {
19567
+ _.$list.css({
19568
+ padding: (_.options.centerPadding + ' 0px')
19569
+ });
19570
+ }
19571
+ }
19572
+
19573
+ _.listWidth = _.$list.width();
19574
+ _.listHeight = _.$list.height();
19575
+
19576
+
19577
+ if (_.options.vertical === false && _.options.variableWidth === false) {
19578
+ _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
19579
+ _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
19580
+
19581
+ } else if (_.options.variableWidth === true) {
19582
+ _.$slideTrack.width(5000 * _.slideCount);
19583
+ } else {
19584
+ _.slideWidth = Math.ceil(_.listWidth);
19585
+ _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
19586
+ }
19587
+
19588
+ var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
19589
+ if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
19590
+
19591
+ };
19592
+
19593
+ Slick.prototype.setFade = function() {
19594
+
19595
+ var _ = this,
19596
+ targetLeft;
19597
+
19598
+ _.$slides.each(function(index, element) {
19599
+ targetLeft = (_.slideWidth * index) * -1;
19600
+ if (_.options.rtl === true) {
19601
+ $(element).css({
19602
+ position: 'relative',
19603
+ right: targetLeft,
19604
+ top: 0,
19605
+ zIndex: _.options.zIndex - 2,
19606
+ opacity: 0
19607
+ });
19608
+ } else {
19609
+ $(element).css({
19610
+ position: 'relative',
19611
+ left: targetLeft,
19612
+ top: 0,
19613
+ zIndex: _.options.zIndex - 2,
19614
+ opacity: 0
19615
+ });
19616
+ }
19617
+ });
19618
+
19619
+ _.$slides.eq(_.currentSlide).css({
19620
+ zIndex: _.options.zIndex - 1,
19621
+ opacity: 1
19622
+ });
19623
+
19624
+ };
19625
+
19626
+ Slick.prototype.setHeight = function() {
19627
+
19628
+ var _ = this;
19629
+
19630
+ if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
19631
+ var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
19632
+ _.$list.css('height', targetHeight);
19633
+ }
19634
+
19635
+ };
19636
+
19637
+ Slick.prototype.setOption =
19638
+ Slick.prototype.slickSetOption = function() {
19639
+
19640
+ /**
19641
+ * accepts arguments in format of:
19642
+ *
19643
+ * - for changing a single option's value:
19644
+ * .slick("setOption", option, value, refresh )
19645
+ *
19646
+ * - for changing a set of responsive options:
19647
+ * .slick("setOption", 'responsive', [{}, ...], refresh )
19648
+ *
19649
+ * - for updating multiple values at once (not responsive)
19650
+ * .slick("setOption", { 'option': value, ... }, refresh )
19651
+ */
19652
+
19653
+ var _ = this, l, item, option, value, refresh = false, type;
19654
+
19655
+ if( $.type( arguments[0] ) === 'object' ) {
19656
+
19657
+ option = arguments[0];
19658
+ refresh = arguments[1];
19659
+ type = 'multiple';
19660
+
19661
+ } else if ( $.type( arguments[0] ) === 'string' ) {
19662
+
19663
+ option = arguments[0];
19664
+ value = arguments[1];
19665
+ refresh = arguments[2];
19666
+
19667
+ if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
19668
+
19669
+ type = 'responsive';
19670
+
19671
+ } else if ( typeof arguments[1] !== 'undefined' ) {
19672
+
19673
+ type = 'single';
19674
+
19675
+ }
19676
+
19677
+ }
19678
+
19679
+ if ( type === 'single' ) {
19680
+
19681
+ _.options[option] = value;
19682
+
19683
+
19684
+ } else if ( type === 'multiple' ) {
19685
+
19686
+ $.each( option , function( opt, val ) {
19687
+
19688
+ _.options[opt] = val;
19689
+
19690
+ });
19691
+
19692
+
19693
+ } else if ( type === 'responsive' ) {
19694
+
19695
+ for ( item in value ) {
19696
+
19697
+ if( $.type( _.options.responsive ) !== 'array' ) {
19698
+
19699
+ _.options.responsive = [ value[item] ];
19700
+
19701
+ } else {
19702
+
19703
+ l = _.options.responsive.length-1;
19704
+
19705
+ // loop through the responsive object and splice out duplicates.
19706
+ while( l >= 0 ) {
19707
+
19708
+ if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
19709
+
19710
+ _.options.responsive.splice(l,1);
19711
+
19712
+ }
19713
+
19714
+ l--;
19715
+
19716
+ }
19717
+
19718
+ _.options.responsive.push( value[item] );
19719
+
19720
+ }
19721
+
19722
+ }
19723
+
19724
+ }
19725
+
19726
+ if ( refresh ) {
19727
+
19728
+ _.unload();
19729
+ _.reinit();
19730
+
19731
+ }
19732
+
19733
+ };
19734
+
19735
+ Slick.prototype.setPosition = function() {
19736
+
19737
+ var _ = this;
19738
+
19739
+ _.setDimensions();
19740
+
19741
+ _.setHeight();
19742
+
19743
+ if (_.options.fade === false) {
19744
+ _.setCSS(_.getLeft(_.currentSlide));
19745
+ } else {
19746
+ _.setFade();
19747
+ }
19748
+
19749
+ _.$slider.trigger('setPosition', [_]);
19750
+
19751
+ };
19752
+
19753
+ Slick.prototype.setProps = function() {
19754
+
19755
+ var _ = this,
19756
+ bodyStyle = document.body.style;
19757
+
19758
+ _.positionProp = _.options.vertical === true ? 'top' : 'left';
19759
+
19760
+ if (_.positionProp === 'top') {
19761
+ _.$slider.addClass('slick-vertical');
19762
+ } else {
19763
+ _.$slider.removeClass('slick-vertical');
19764
+ }
19765
+
19766
+ if (bodyStyle.WebkitTransition !== undefined ||
19767
+ bodyStyle.MozTransition !== undefined ||
19768
+ bodyStyle.msTransition !== undefined) {
19769
+ if (_.options.useCSS === true) {
19770
+ _.cssTransitions = true;
19771
+ }
19772
+ }
19773
+
19774
+ if ( _.options.fade ) {
19775
+ if ( typeof _.options.zIndex === 'number' ) {
19776
+ if( _.options.zIndex < 3 ) {
19777
+ _.options.zIndex = 3;
19778
+ }
19779
+ } else {
19780
+ _.options.zIndex = _.defaults.zIndex;
19781
+ }
19782
+ }
19783
+
19784
+ if (bodyStyle.OTransform !== undefined) {
19785
+ _.animType = 'OTransform';
19786
+ _.transformType = '-o-transform';
19787
+ _.transitionType = 'OTransition';
19788
+ if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
19789
+ }
19790
+ if (bodyStyle.MozTransform !== undefined) {
19791
+ _.animType = 'MozTransform';
19792
+ _.transformType = '-moz-transform';
19793
+ _.transitionType = 'MozTransition';
19794
+ if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
19795
+ }
19796
+ if (bodyStyle.webkitTransform !== undefined) {
19797
+ _.animType = 'webkitTransform';
19798
+ _.transformType = '-webkit-transform';
19799
+ _.transitionType = 'webkitTransition';
19800
+ if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
19801
+ }
19802
+ if (bodyStyle.msTransform !== undefined) {
19803
+ _.animType = 'msTransform';
19804
+ _.transformType = '-ms-transform';
19805
+ _.transitionType = 'msTransition';
19806
+ if (bodyStyle.msTransform === undefined) _.animType = false;
19807
+ }
19808
+ if (bodyStyle.transform !== undefined && _.animType !== false) {
19809
+ _.animType = 'transform';
19810
+ _.transformType = 'transform';
19811
+ _.transitionType = 'transition';
19812
+ }
19813
+ _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
19814
+ };
19815
+
19816
+
19817
+ Slick.prototype.setSlideClasses = function(index) {
19818
+
19819
+ var _ = this,
19820
+ centerOffset, allSlides, indexOffset, remainder;
19821
+
19822
+ allSlides = _.$slider
19823
+ .find('.slick-slide')
19824
+ .removeClass('slick-active slick-center slick-current')
19825
+ .attr('aria-hidden', 'true');
19826
+
19827
+ _.$slides
19828
+ .eq(index)
19829
+ .addClass('slick-current');
19830
+
19831
+ if (_.options.centerMode === true) {
19832
+
19833
+ var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;
19834
+
19835
+ centerOffset = Math.floor(_.options.slidesToShow / 2);
19836
+
19837
+ if (_.options.infinite === true) {
19838
+
19839
+ if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
19840
+ _.$slides
19841
+ .slice(index - centerOffset + evenCoef, index + centerOffset + 1)
19842
+ .addClass('slick-active')
19843
+ .attr('aria-hidden', 'false');
19844
+
19845
+ } else {
19846
+
19847
+ indexOffset = _.options.slidesToShow + index;
19848
+ allSlides
19849
+ .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
19850
+ .addClass('slick-active')
19851
+ .attr('aria-hidden', 'false');
19852
+
19853
+ }
19854
+
19855
+ if (index === 0) {
19856
+
19857
+ allSlides
19858
+ .eq(allSlides.length - 1 - _.options.slidesToShow)
19859
+ .addClass('slick-center');
19860
+
19861
+ } else if (index === _.slideCount - 1) {
19862
+
19863
+ allSlides
19864
+ .eq(_.options.slidesToShow)
19865
+ .addClass('slick-center');
19866
+
19867
+ }
19868
+
19869
+ }
19870
+
19871
+ _.$slides
19872
+ .eq(index)
19873
+ .addClass('slick-center');
19874
+
19875
+ } else {
19876
+
19877
+ if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
19878
+
19879
+ _.$slides
19880
+ .slice(index, index + _.options.slidesToShow)
19881
+ .addClass('slick-active')
19882
+ .attr('aria-hidden', 'false');
19883
+
19884
+ } else if (allSlides.length <= _.options.slidesToShow) {
19885
+
19886
+ allSlides
19887
+ .addClass('slick-active')
19888
+ .attr('aria-hidden', 'false');
19889
+
19890
+ } else {
19891
+
19892
+ remainder = _.slideCount % _.options.slidesToShow;
19893
+ indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
19894
+
19895
+ if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
19896
+
19897
+ allSlides
19898
+ .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
19899
+ .addClass('slick-active')
19900
+ .attr('aria-hidden', 'false');
19901
+
19902
+ } else {
19903
+
19904
+ allSlides
19905
+ .slice(indexOffset, indexOffset + _.options.slidesToShow)
19906
+ .addClass('slick-active')
19907
+ .attr('aria-hidden', 'false');
19908
+
19909
+ }
19910
+
19911
+ }
19912
+
19913
+ }
19914
+
19915
+ if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {
19916
+ _.lazyLoad();
19917
+ }
19918
+ };
19919
+
19920
+ Slick.prototype.setupInfinite = function() {
19921
+
19922
+ var _ = this,
19923
+ i, slideIndex, infiniteCount;
19924
+
19925
+ if (_.options.fade === true) {
19926
+ _.options.centerMode = false;
19927
+ }
19928
+
19929
+ if (_.options.infinite === true && _.options.fade === false) {
19930
+
19931
+ slideIndex = null;
19932
+
19933
+ if (_.slideCount > _.options.slidesToShow) {
19934
+
19935
+ if (_.options.centerMode === true) {
19936
+ infiniteCount = _.options.slidesToShow + 1;
19937
+ } else {
19938
+ infiniteCount = _.options.slidesToShow;
19939
+ }
19940
+
19941
+ for (i = _.slideCount; i > (_.slideCount -
19942
+ infiniteCount); i -= 1) {
19943
+ slideIndex = i - 1;
19944
+ $(_.$slides[slideIndex]).clone(true).attr('id', '')
19945
+ .attr('data-slick-index', slideIndex - _.slideCount)
19946
+ .prependTo(_.$slideTrack).addClass('slick-cloned');
19947
+ }
19948
+ for (i = 0; i < infiniteCount + _.slideCount; i += 1) {
19949
+ slideIndex = i;
19950
+ $(_.$slides[slideIndex]).clone(true).attr('id', '')
19951
+ .attr('data-slick-index', slideIndex + _.slideCount)
19952
+ .appendTo(_.$slideTrack).addClass('slick-cloned');
19953
+ }
19954
+ _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
19955
+ $(this).attr('id', '');
19956
+ });
19957
+
19958
+ }
19959
+
19960
+ }
19961
+
19962
+ };
19963
+
19964
+ Slick.prototype.interrupt = function( toggle ) {
19965
+
19966
+ var _ = this;
19967
+
19968
+ if( !toggle ) {
19969
+ _.autoPlay();
19970
+ }
19971
+ _.interrupted = toggle;
19972
+
19973
+ };
19974
+
19975
+ Slick.prototype.selectHandler = function(event) {
19976
+
19977
+ var _ = this;
19978
+
19979
+ var targetElement =
19980
+ $(event.target).is('.slick-slide') ?
19981
+ $(event.target) :
19982
+ $(event.target).parents('.slick-slide');
19983
+
19984
+ var index = parseInt(targetElement.attr('data-slick-index'));
19985
+
19986
+ if (!index) index = 0;
19987
+
19988
+ if (_.slideCount <= _.options.slidesToShow) {
19989
+
19990
+ _.slideHandler(index, false, true);
19991
+ return;
19992
+
19993
+ }
19994
+
19995
+ _.slideHandler(index);
19996
+
19997
+ };
19998
+
19999
+ Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
20000
+
20001
+ var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
20002
+ _ = this, navTarget;
20003
+
20004
+ sync = sync || false;
20005
+
20006
+ if (_.animating === true && _.options.waitForAnimate === true) {
20007
+ return;
20008
+ }
20009
+
20010
+ if (_.options.fade === true && _.currentSlide === index) {
20011
+ return;
20012
+ }
20013
+
20014
+ if (sync === false) {
20015
+ _.asNavFor(index);
20016
+ }
20017
+
20018
+ targetSlide = index;
20019
+ targetLeft = _.getLeft(targetSlide);
20020
+ slideLeft = _.getLeft(_.currentSlide);
20021
+
20022
+ _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
20023
+
20024
+ if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
20025
+ if (_.options.fade === false) {
20026
+ targetSlide = _.currentSlide;
20027
+ if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
20028
+ _.animateSlide(slideLeft, function() {
20029
+ _.postSlide(targetSlide);
20030
+ });
20031
+ } else {
20032
+ _.postSlide(targetSlide);
20033
+ }
20034
+ }
20035
+ return;
20036
+ } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
20037
+ if (_.options.fade === false) {
20038
+ targetSlide = _.currentSlide;
20039
+ if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
20040
+ _.animateSlide(slideLeft, function() {
20041
+ _.postSlide(targetSlide);
20042
+ });
20043
+ } else {
20044
+ _.postSlide(targetSlide);
20045
+ }
20046
+ }
20047
+ return;
20048
+ }
20049
+
20050
+ if ( _.options.autoplay ) {
20051
+ clearInterval(_.autoPlayTimer);
20052
+ }
20053
+
20054
+ if (targetSlide < 0) {
20055
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
20056
+ animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
20057
+ } else {
20058
+ animSlide = _.slideCount + targetSlide;
20059
+ }
20060
+ } else if (targetSlide >= _.slideCount) {
20061
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
20062
+ animSlide = 0;
20063
+ } else {
20064
+ animSlide = targetSlide - _.slideCount;
20065
+ }
20066
+ } else {
20067
+ animSlide = targetSlide;
20068
+ }
20069
+
20070
+ _.animating = true;
20071
+
20072
+ _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
20073
+
20074
+ oldSlide = _.currentSlide;
20075
+ _.currentSlide = animSlide;
20076
+
20077
+ _.setSlideClasses(_.currentSlide);
20078
+
20079
+ if ( _.options.asNavFor ) {
20080
+
20081
+ navTarget = _.getNavTarget();
20082
+ navTarget = navTarget.slick('getSlick');
20083
+
20084
+ if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
20085
+ navTarget.setSlideClasses(_.currentSlide);
20086
+ }
20087
+
20088
+ }
20089
+
20090
+ _.updateDots();
20091
+ _.updateArrows();
20092
+
20093
+ if (_.options.fade === true) {
20094
+ if (dontAnimate !== true) {
20095
+
20096
+ _.fadeSlideOut(oldSlide);
20097
+
20098
+ _.fadeSlide(animSlide, function() {
20099
+ _.postSlide(animSlide);
20100
+ });
20101
+
20102
+ } else {
20103
+ _.postSlide(animSlide);
20104
+ }
20105
+ _.animateHeight();
20106
+ return;
20107
+ }
20108
+
20109
+ if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
20110
+ _.animateSlide(targetLeft, function() {
20111
+ _.postSlide(animSlide);
20112
+ });
20113
+ } else {
20114
+ _.postSlide(animSlide);
20115
+ }
20116
+
20117
+ };
20118
+
20119
+ Slick.prototype.startLoad = function() {
20120
+
20121
+ var _ = this;
20122
+
20123
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
20124
+
20125
+ _.$prevArrow.hide();
20126
+ _.$nextArrow.hide();
20127
+
20128
+ }
20129
+
20130
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
20131
+
20132
+ _.$dots.hide();
20133
+
20134
+ }
20135
+
20136
+ _.$slider.addClass('slick-loading');
20137
+
20138
+ };
20139
+
20140
+ Slick.prototype.swipeDirection = function() {
20141
+
20142
+ var xDist, yDist, r, swipeAngle, _ = this;
20143
+
20144
+ xDist = _.touchObject.startX - _.touchObject.curX;
20145
+ yDist = _.touchObject.startY - _.touchObject.curY;
20146
+ r = Math.atan2(yDist, xDist);
20147
+
20148
+ swipeAngle = Math.round(r * 180 / Math.PI);
20149
+ if (swipeAngle < 0) {
20150
+ swipeAngle = 360 - Math.abs(swipeAngle);
20151
+ }
20152
+
20153
+ if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
20154
+ return (_.options.rtl === false ? 'left' : 'right');
20155
+ }
20156
+ if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
20157
+ return (_.options.rtl === false ? 'left' : 'right');
20158
+ }
20159
+ if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
20160
+ return (_.options.rtl === false ? 'right' : 'left');
20161
+ }
20162
+ if (_.options.verticalSwiping === true) {
20163
+ if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
20164
+ return 'down';
20165
+ } else {
20166
+ return 'up';
20167
+ }
20168
+ }
20169
+
20170
+ return 'vertical';
20171
+
20172
+ };
20173
+
20174
+ Slick.prototype.swipeEnd = function(event) {
20175
+
20176
+ var _ = this,
20177
+ slideCount,
20178
+ direction;
20179
+
20180
+ _.dragging = false;
20181
+ _.swiping = false;
20182
+
20183
+ if (_.scrolling) {
20184
+ _.scrolling = false;
20185
+ return false;
20186
+ }
20187
+
20188
+ _.interrupted = false;
20189
+ _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
20190
+
20191
+ if ( _.touchObject.curX === undefined ) {
20192
+ return false;
20193
+ }
20194
+
20195
+ if ( _.touchObject.edgeHit === true ) {
20196
+ _.$slider.trigger('edge', [_, _.swipeDirection() ]);
20197
+ }
20198
+
20199
+ if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
20200
+
20201
+ direction = _.swipeDirection();
20202
+
20203
+ switch ( direction ) {
20204
+
20205
+ case 'left':
20206
+ case 'down':
20207
+
20208
+ slideCount =
20209
+ _.options.swipeToSlide ?
20210
+ _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
20211
+ _.currentSlide + _.getSlideCount();
20212
+
20213
+ _.currentDirection = 0;
20214
+
20215
+ break;
20216
+
20217
+ case 'right':
20218
+ case 'up':
20219
+
20220
+ slideCount =
20221
+ _.options.swipeToSlide ?
20222
+ _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
20223
+ _.currentSlide - _.getSlideCount();
20224
+
20225
+ _.currentDirection = 1;
20226
+
20227
+ break;
20228
+
20229
+ default:
20230
+
20231
+
20232
+ }
20233
+
20234
+ if( direction != 'vertical' ) {
20235
+
20236
+ _.slideHandler( slideCount );
20237
+ _.touchObject = {};
20238
+ _.$slider.trigger('swipe', [_, direction ]);
20239
+
20240
+ }
20241
+
20242
+ } else {
20243
+
20244
+ if ( _.touchObject.startX !== _.touchObject.curX ) {
20245
+
20246
+ _.slideHandler( _.currentSlide );
20247
+ _.touchObject = {};
20248
+
20249
+ }
20250
+
20251
+ }
20252
+
20253
+ };
20254
+
20255
+ Slick.prototype.swipeHandler = function(event) {
20256
+
20257
+ var _ = this;
20258
+
20259
+ if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
20260
+ return;
20261
+ } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
20262
+ return;
20263
+ }
20264
+
20265
+ _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
20266
+ event.originalEvent.touches.length : 1;
20267
+
20268
+ _.touchObject.minSwipe = _.listWidth / _.options
20269
+ .touchThreshold;
20270
+
20271
+ if (_.options.verticalSwiping === true) {
20272
+ _.touchObject.minSwipe = _.listHeight / _.options
20273
+ .touchThreshold;
20274
+ }
20275
+
20276
+ switch (event.data.action) {
20277
+
20278
+ case 'start':
20279
+ _.swipeStart(event);
20280
+ break;
20281
+
20282
+ case 'move':
20283
+ _.swipeMove(event);
20284
+ break;
20285
+
20286
+ case 'end':
20287
+ _.swipeEnd(event);
20288
+ break;
20289
+
20290
+ }
20291
+
20292
+ };
20293
+
20294
+ Slick.prototype.swipeMove = function(event) {
20295
+
20296
+ var _ = this,
20297
+ edgeWasHit = false,
20298
+ curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;
20299
+
20300
+ touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
20301
+
20302
+ if (!_.dragging || _.scrolling || touches && touches.length !== 1) {
20303
+ return false;
20304
+ }
20305
+
20306
+ curLeft = _.getLeft(_.currentSlide);
20307
+
20308
+ _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
20309
+ _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
20310
+
20311
+ _.touchObject.swipeLength = Math.round(Math.sqrt(
20312
+ Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
20313
+
20314
+ verticalSwipeLength = Math.round(Math.sqrt(
20315
+ Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
20316
+
20317
+ if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {
20318
+ _.scrolling = true;
20319
+ return false;
20320
+ }
20321
+
20322
+ if (_.options.verticalSwiping === true) {
20323
+ _.touchObject.swipeLength = verticalSwipeLength;
20324
+ }
20325
+
20326
+ swipeDirection = _.swipeDirection();
20327
+
20328
+ if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
20329
+ _.swiping = true;
20330
+ event.preventDefault();
20331
+ }
20332
+
20333
+ positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
20334
+ if (_.options.verticalSwiping === true) {
20335
+ positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
20336
+ }
20337
+
20338
+
20339
+ swipeLength = _.touchObject.swipeLength;
20340
+
20341
+ _.touchObject.edgeHit = false;
20342
+
20343
+ if (_.options.infinite === false) {
20344
+ if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
20345
+ swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
20346
+ _.touchObject.edgeHit = true;
20347
+ }
20348
+ }
20349
+
20350
+ if (_.options.vertical === false) {
20351
+ _.swipeLeft = curLeft + swipeLength * positionOffset;
20352
+ } else {
20353
+ _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
20354
+ }
20355
+ if (_.options.verticalSwiping === true) {
20356
+ _.swipeLeft = curLeft + swipeLength * positionOffset;
20357
+ }
20358
+
20359
+ if (_.options.fade === true || _.options.touchMove === false) {
20360
+ return false;
20361
+ }
20362
+
20363
+ if (_.animating === true) {
20364
+ _.swipeLeft = null;
20365
+ return false;
20366
+ }
20367
+
20368
+ _.setCSS(_.swipeLeft);
20369
+
20370
+ };
20371
+
20372
+ Slick.prototype.swipeStart = function(event) {
20373
+
20374
+ var _ = this,
20375
+ touches;
20376
+
20377
+ _.interrupted = true;
20378
+
20379
+ if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
20380
+ _.touchObject = {};
20381
+ return false;
20382
+ }
20383
+
20384
+ if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
20385
+ touches = event.originalEvent.touches[0];
20386
+ }
20387
+
20388
+ _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
20389
+ _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
20390
+
20391
+ _.dragging = true;
20392
+
20393
+ };
20394
+
20395
+ Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
20396
+
20397
+ var _ = this;
20398
+
20399
+ if (_.$slidesCache !== null) {
20400
+
20401
+ _.unload();
20402
+
20403
+ _.$slideTrack.children(this.options.slide).detach();
20404
+
20405
+ _.$slidesCache.appendTo(_.$slideTrack);
20406
+
20407
+ _.reinit();
20408
+
20409
+ }
20410
+
20411
+ };
20412
+
20413
+ Slick.prototype.unload = function() {
20414
+
20415
+ var _ = this;
20416
+
20417
+ $('.slick-cloned', _.$slider).remove();
20418
+
20419
+ if (_.$dots) {
20420
+ _.$dots.remove();
20421
+ }
20422
+
20423
+ if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
20424
+ _.$prevArrow.remove();
20425
+ }
20426
+
20427
+ if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
20428
+ _.$nextArrow.remove();
20429
+ }
20430
+
20431
+ _.$slides
20432
+ .removeClass('slick-slide slick-active slick-visible slick-current')
20433
+ .attr('aria-hidden', 'true')
20434
+ .css('width', '');
20435
+
20436
+ };
20437
+
20438
+ Slick.prototype.unslick = function(fromBreakpoint) {
20439
+
20440
+ var _ = this;
20441
+ _.$slider.trigger('unslick', [_, fromBreakpoint]);
20442
+ _.destroy();
20443
+
20444
+ };
20445
+
20446
+ Slick.prototype.updateArrows = function() {
20447
+
20448
+ var _ = this,
20449
+ centerOffset;
20450
+
20451
+ centerOffset = Math.floor(_.options.slidesToShow / 2);
20452
+
20453
+ if ( _.options.arrows === true &&
20454
+ _.slideCount > _.options.slidesToShow &&
20455
+ !_.options.infinite ) {
20456
+
20457
+ _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
20458
+ _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
20459
+
20460
+ if (_.currentSlide === 0) {
20461
+
20462
+ _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
20463
+ _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
20464
+
20465
+ } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
20466
+
20467
+ _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
20468
+ _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
20469
+
20470
+ } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
20471
+
20472
+ _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
20473
+ _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
20474
+
20475
+ }
20476
+
20477
+ }
20478
+
20479
+ };
20480
+
20481
+ Slick.prototype.updateDots = function() {
20482
+
20483
+ var _ = this;
20484
+
20485
+ if (_.$dots !== null) {
20486
+
20487
+ _.$dots
20488
+ .find('li')
20489
+ .removeClass('slick-active')
20490
+ .end();
20491
+
20492
+ _.$dots
20493
+ .find('li')
20494
+ .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
20495
+ .addClass('slick-active');
20496
+
20497
+ }
20498
+
20499
+ };
20500
+
20501
+ Slick.prototype.visibility = function() {
20502
+
20503
+ var _ = this;
20504
+
20505
+ if ( _.options.autoplay ) {
20506
+
20507
+ if ( document[_.hidden] ) {
20508
+
20509
+ _.interrupted = true;
20510
+
20511
+ } else {
20512
+
20513
+ _.interrupted = false;
20514
+
20515
+ }
20516
+
20517
+ }
20518
+
20519
+ };
20520
+
20521
+ $.fn.slick = function() {
20522
+ var _ = this,
20523
+ opt = arguments[0],
20524
+ args = Array.prototype.slice.call(arguments, 1),
20525
+ l = _.length,
20526
+ i,
20527
+ ret;
20528
+ for (i = 0; i < l; i++) {
20529
+ if (typeof opt == 'object' || typeof opt == 'undefined')
20530
+ _[i].slick = new Slick(_[i], opt);
20531
+ else
20532
+ ret = _[i].slick[opt].apply(_[i].slick, args);
20533
+ if (typeof ret != 'undefined') return ret;
20534
+ }
20535
+ return _;
20536
+ };
20537
+
20538
+ }));
20539
+
20540
+
20541
+ /***/ }),
20542
+ /* 74 */
20543
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20544
+
20545
+ "use strict";
20546
+ var render = function() {
20547
+ var _vm = this
20548
+ var _h = _vm.$createElement
20549
+ var _c = _vm._self._c || _h
20550
+ return _c("div", [_vm._t("default")], 2)
20551
+ }
20552
+ var staticRenderFns = []
20553
+ render._withStripped = true
20554
+ var esExports = { render: render, staticRenderFns: staticRenderFns }
20555
+ /* harmony default export */ __webpack_exports__["a"] = (esExports);
20556
+ if (false) {
20557
+ module.hot.accept()
20558
+ if (module.hot.data) {
20559
+ require("vue-hot-reload-api") .rerender("data-v-14c5b163", esExports)
20560
+ }
20561
+ }
20562
+
20563
+ /***/ }),
20564
+ /* 75 */,
20565
+ /* 76 */,
20566
+ /* 77 */,
20567
+ /* 78 */,
20568
+ /* 79 */,
20569
+ /* 80 */,
20570
+ /* 81 */,
20571
+ /* 82 */,
20572
+ /* 83 */,
20573
+ /* 84 */
20574
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20575
+
20576
+ "use strict";
20577
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_loader_lib_selector_type_script_index_0_Sketch_vue__ = __webpack_require__(23);
20578
+ /* unused harmony namespace reexport */
20579
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vue_loader_lib_template_compiler_index_id_data_v_511efdd0_hasScoped_false_buble_transforms_vue_loader_lib_selector_type_template_index_0_Sketch_vue__ = __webpack_require__(103);
20580
+ var disposed = false
20581
+ function injectStyle (ssrContext) {
20582
+ if (disposed) return
20583
+ __webpack_require__(85)
20584
+ }
20585
+ var normalizeComponent = __webpack_require__(0)
20586
+ /* script */
20587
+
20588
+
20589
+ /* template */
20590
+
20591
+ /* template functional */
20592
+ var __vue_template_functional__ = false
20593
+ /* styles */
20594
+ var __vue_styles__ = injectStyle
20595
+ /* scopeId */
20596
+ var __vue_scopeId__ = null
20597
+ /* moduleIdentifier (server only) */
20598
+ var __vue_module_identifier__ = null
20599
+ var Component = normalizeComponent(
20600
+ __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_loader_lib_selector_type_script_index_0_Sketch_vue__["a" /* default */],
20601
+ __WEBPACK_IMPORTED_MODULE_1__vue_loader_lib_template_compiler_index_id_data_v_511efdd0_hasScoped_false_buble_transforms_vue_loader_lib_selector_type_template_index_0_Sketch_vue__["a" /* default */],
20602
+ __vue_template_functional__,
20603
+ __vue_styles__,
20604
+ __vue_scopeId__,
20605
+ __vue_module_identifier__
20606
+ )
20607
+ Component.options.__file = "node_modules/vue-color/src/components/Sketch.vue"
20608
+
20609
+ /* hot reload */
20610
+ if (false) {(function () {
20611
+ var hotAPI = require("vue-hot-reload-api")
20612
+ hotAPI.install(require("vue"), false)
20613
+ if (!hotAPI.compatible) return
20614
+ module.hot.accept()
20615
+ if (!module.hot.data) {
20616
+ hotAPI.createRecord("data-v-511efdd0", Component.options)
20617
+ } else {
20618
+ hotAPI.reload("data-v-511efdd0", Component.options)
20619
+ }
20620
+ module.hot.dispose(function (data) {
20621
+ disposed = true
20622
+ })
20623
+ })()}
20624
+
20625
+ /* harmony default export */ __webpack_exports__["a"] = (Component.exports);
20626
+
20627
+
20628
+ /***/ }),
20629
+ /* 85 */
20630
+ /***/ (function(module, exports) {
20631
+
20632
+ // removed by extract-text-webpack-plugin
20633
+
20634
+ /***/ }),
20635
+ /* 86 */
20636
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20637
+
20638
+ "use strict";
20639
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tinycolor2__ = __webpack_require__(87);
20640
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tinycolor2___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_tinycolor2__);
20641
+
20642
+
20643
+ function _colorChange (data, oldHue) {
20644
+ var alpha = data && data.a
20645
+ var color
20646
+
20647
+ // hsl is better than hex between conversions
20648
+ if (data && data.hsl) {
20649
+ color = __WEBPACK_IMPORTED_MODULE_0_tinycolor2___default()(data.hsl)
20650
+ } else if (data && data.hex && data.hex.length > 0) {
20651
+ color = __WEBPACK_IMPORTED_MODULE_0_tinycolor2___default()(data.hex)
20652
+ } else {
20653
+ color = __WEBPACK_IMPORTED_MODULE_0_tinycolor2___default()(data)
20654
+ }
20655
+
20656
+ if (color && (color._a === undefined || color._a === null)) {
20657
+ color.setAlpha(alpha || 1)
20658
+ }
20659
+
20660
+ var hsl = color.toHsl()
20661
+ var hsv = color.toHsv()
20662
+
20663
+ if (hsl.s === 0) {
20664
+ hsv.h = hsl.h = data.h || (data.hsl && data.hsl.h) || oldHue || 0
20665
+ }
20666
+
20667
+ /* --- comment this block to fix #109, may cause #25 again --- */
20668
+ // when the hsv.v is less than 0.0164 (base on test)
20669
+ // because of possible loss of precision
20670
+ // the result of hue and saturation would be miscalculated
20671
+ // if (hsv.v < 0.0164) {
20672
+ // hsv.h = data.h || (data.hsv && data.hsv.h) || 0
20673
+ // hsv.s = data.s || (data.hsv && data.hsv.s) || 0
20674
+ // }
20675
+
20676
+ // if (hsl.l < 0.01) {
20677
+ // hsl.h = data.h || (data.hsl && data.hsl.h) || 0
20678
+ // hsl.s = data.s || (data.hsl && data.hsl.s) || 0
20679
+ // }
20680
+ /* ------ */
20681
+
20682
+ return {
20683
+ hsl: hsl,
20684
+ hex: color.toHexString().toUpperCase(),
20685
+ rgba: color.toRgb(),
20686
+ hsv: hsv,
20687
+ oldHue: data.h || oldHue || hsl.h,
20688
+ source: data.source,
20689
+ a: data.a || color.getAlpha()
20690
+ }
20691
+ }
20692
+
20693
+ /* harmony default export */ __webpack_exports__["a"] = ({
20694
+ props: ['value'],
20695
+ data () {
20696
+ return {
20697
+ val: _colorChange(this.value)
20698
+ }
20699
+ },
20700
+ computed: {
20701
+ colors: {
20702
+ get () {
20703
+ return this.val
20704
+ },
20705
+ set (newVal) {
20706
+ this.val = newVal
20707
+ this.$emit('input', newVal)
20708
+ }
20709
+ }
20710
+ },
20711
+ watch: {
20712
+ value (newVal) {
20713
+ this.val = _colorChange(newVal)
20714
+ }
20715
+ },
20716
+ methods: {
20717
+ colorChange (data, oldHue) {
20718
+ this.oldHue = this.colors.hsl.h
20719
+ this.colors = _colorChange(data, oldHue || this.oldHue)
20720
+ },
20721
+ isValidHex (hex) {
20722
+ return __WEBPACK_IMPORTED_MODULE_0_tinycolor2___default()(hex).isValid()
20723
+ },
20724
+ simpleCheckForValidColor (data) {
20725
+ var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v']
20726
+ var checked = 0
20727
+ var passed = 0
20728
+
20729
+ for (var i = 0; i < keysToCheck.length; i++) {
20730
+ var letter = keysToCheck[i]
20731
+ if (data[letter]) {
20732
+ checked++
20733
+ if (!isNaN(data[letter])) {
20734
+ passed++
20735
+ }
20736
+ }
20737
+ }
20738
+
20739
+ if (checked === passed) {
20740
+ return data
20741
+ }
20742
+ }
20743
+ }
20744
+ });
20745
+
20746
+
20747
+ /***/ }),
20748
+ /* 87 */
20749
+ /***/ (function(module, exports, __webpack_require__) {
20750
+
20751
+ var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1
20752
+ // https://github.com/bgrins/TinyColor
20753
+ // Brian Grinstead, MIT License
20754
+
20755
+ (function(Math) {
20756
+
20757
+ var trimLeft = /^\s+/,
20758
+ trimRight = /\s+$/,
20759
+ tinyCounter = 0,
20760
+ mathRound = Math.round,
20761
+ mathMin = Math.min,
20762
+ mathMax = Math.max,
20763
+ mathRandom = Math.random;
20764
+
20765
+ function tinycolor (color, opts) {
20766
+
20767
+ color = (color) ? color : '';
20768
+ opts = opts || { };
20769
+
20770
+ // If input is already a tinycolor, return itself
20771
+ if (color instanceof tinycolor) {
20772
+ return color;
20773
+ }
20774
+ // If we are called as a function, call using new instead
20775
+ if (!(this instanceof tinycolor)) {
20776
+ return new tinycolor(color, opts);
20777
+ }
20778
+
20779
+ var rgb = inputToRGB(color);
20780
+ this._originalInput = color,
20781
+ this._r = rgb.r,
20782
+ this._g = rgb.g,
20783
+ this._b = rgb.b,
20784
+ this._a = rgb.a,
20785
+ this._roundA = mathRound(100*this._a) / 100,
20786
+ this._format = opts.format || rgb.format;
20787
+ this._gradientType = opts.gradientType;
20788
+
20789
+ // Don't let the range of [0,255] come back in [0,1].
20790
+ // Potentially lose a little bit of precision here, but will fix issues where
20791
+ // .5 gets interpreted as half of the total, instead of half of 1
20792
+ // If it was supposed to be 128, this was already taken care of by `inputToRgb`
20793
+ if (this._r < 1) { this._r = mathRound(this._r); }
20794
+ if (this._g < 1) { this._g = mathRound(this._g); }
20795
+ if (this._b < 1) { this._b = mathRound(this._b); }
20796
+
20797
+ this._ok = rgb.ok;
20798
+ this._tc_id = tinyCounter++;
20799
+ }
20800
+
20801
+ tinycolor.prototype = {
20802
+ isDark: function() {
20803
+ return this.getBrightness() < 128;
20804
+ },
20805
+ isLight: function() {
20806
+ return !this.isDark();
20807
+ },
20808
+ isValid: function() {
20809
+ return this._ok;
20810
+ },
20811
+ getOriginalInput: function() {
20812
+ return this._originalInput;
20813
+ },
20814
+ getFormat: function() {
20815
+ return this._format;
20816
+ },
20817
+ getAlpha: function() {
20818
+ return this._a;
20819
+ },
20820
+ getBrightness: function() {
20821
+ //http://www.w3.org/TR/AERT#color-contrast
20822
+ var rgb = this.toRgb();
20823
+ return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
20824
+ },
20825
+ getLuminance: function() {
20826
+ //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
20827
+ var rgb = this.toRgb();
20828
+ var RsRGB, GsRGB, BsRGB, R, G, B;
20829
+ RsRGB = rgb.r/255;
20830
+ GsRGB = rgb.g/255;
20831
+ BsRGB = rgb.b/255;
20832
+
20833
+ if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}
20834
+ if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}
20835
+ if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}
20836
+ return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);
20837
+ },
20838
+ setAlpha: function(value) {
20839
+ this._a = boundAlpha(value);
20840
+ this._roundA = mathRound(100*this._a) / 100;
20841
+ return this;
20842
+ },
20843
+ toHsv: function() {
20844
+ var hsv = rgbToHsv(this._r, this._g, this._b);
20845
+ return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
20846
+ },
20847
+ toHsvString: function() {
20848
+ var hsv = rgbToHsv(this._r, this._g, this._b);
20849
+ var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
20850
+ return (this._a == 1) ?
20851
+ "hsv(" + h + ", " + s + "%, " + v + "%)" :
20852
+ "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";
20853
+ },
20854
+ toHsl: function() {
20855
+ var hsl = rgbToHsl(this._r, this._g, this._b);
20856
+ return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
20857
+ },
20858
+ toHslString: function() {
20859
+ var hsl = rgbToHsl(this._r, this._g, this._b);
20860
+ var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
20861
+ return (this._a == 1) ?
20862
+ "hsl(" + h + ", " + s + "%, " + l + "%)" :
20863
+ "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";
20864
+ },
20865
+ toHex: function(allow3Char) {
20866
+ return rgbToHex(this._r, this._g, this._b, allow3Char);
20867
+ },
20868
+ toHexString: function(allow3Char) {
20869
+ return '#' + this.toHex(allow3Char);
20870
+ },
20871
+ toHex8: function(allow4Char) {
20872
+ return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);
20873
+ },
20874
+ toHex8String: function(allow4Char) {
20875
+ return '#' + this.toHex8(allow4Char);
20876
+ },
20877
+ toRgb: function() {
20878
+ return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
20879
+ },
20880
+ toRgbString: function() {
20881
+ return (this._a == 1) ?
20882
+ "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
20883
+ "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
20884
+ },
20885
+ toPercentageRgb: function() {
20886
+ return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
20887
+ },
20888
+ toPercentageRgbString: function() {
20889
+ return (this._a == 1) ?
20890
+ "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
20891
+ "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
20892
+ },
20893
+ toName: function() {
20894
+ if (this._a === 0) {
20895
+ return "transparent";
20896
+ }
20897
+
20898
+ if (this._a < 1) {
20899
+ return false;
20900
+ }
20901
+
20902
+ return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
20903
+ },
20904
+ toFilter: function(secondColor) {
20905
+ var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);
20906
+ var secondHex8String = hex8String;
20907
+ var gradientType = this._gradientType ? "GradientType = 1, " : "";
20908
+
20909
+ if (secondColor) {
20910
+ var s = tinycolor(secondColor);
20911
+ secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);
20912
+ }
20913
+
20914
+ return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8St