Shield Security for WordPress - Version 6.6.7

Version Description

  • Current Release = Released: 2nd May, 2018

  • (v.7) IMPROVED: reCAPTCHA JS is only included on pages where it's actually used by Shield.

  • (v.7) IMPROVED: Upgrade Bootstrap library to 4.1.0.

  • (v.7) IMPROVED: Include jQuery for the plugin badge as required

Download this release

Release Info

Developer paultgoodchild
Plugin Icon 128x128 Shield Security for WordPress
Version 6.6.7
Comparing to
See all releases

Code changes from version 6.6.6 to 6.6.7

icwp-plugin-controller.php CHANGED
@@ -179,7 +179,7 @@ class ICWP_WPSF_Plugin_Controller extends ICWP_WPSF_Foundation {
179
 
180
  if ( !$bMeetsRequirements ) {
181
  $this->aRequirementsMessages = $aRequirementsMessages;
182
- add_action( 'admin_menu', array( $this, 'adminNoticeDoesNotMeetRequirements' ) );
183
  add_action( 'network_admin_notices', array( $this, 'adminNoticeDoesNotMeetRequirements' ) );
184
  throw new Exception( 'Plugin does not meet minimum requirements' );
185
  }
@@ -1572,7 +1572,7 @@ class ICWP_WPSF_Plugin_Controller extends ICWP_WPSF_Foundation {
1572
  catch ( Exception $oE ) {
1573
  if ( $this->getIsValidAdminArea() ) {
1574
  $this->sAdminNoticeError = $oE->getMessage();
1575
- add_action( 'admin_menu', array( $this, 'adminNoticePluginFailedToLoad' ) );
1576
  add_action( 'network_admin_notices', array( $this, 'adminNoticePluginFailedToLoad' ) );
1577
  }
1578
  }
179
 
180
  if ( !$bMeetsRequirements ) {
181
  $this->aRequirementsMessages = $aRequirementsMessages;
182
+ add_action( 'admin_notices', array( $this, 'adminNoticeDoesNotMeetRequirements' ) );
183
  add_action( 'network_admin_notices', array( $this, 'adminNoticeDoesNotMeetRequirements' ) );
184
  throw new Exception( 'Plugin does not meet minimum requirements' );
185
  }
1572
  catch ( Exception $oE ) {
1573
  if ( $this->getIsValidAdminArea() ) {
1574
  $this->sAdminNoticeError = $oE->getMessage();
1575
+ add_action( 'admin_notices', array( $this, 'adminNoticePluginFailedToLoad' ) );
1576
  add_action( 'network_admin_notices', array( $this, 'adminNoticePluginFailedToLoad' ) );
1577
  }
1578
  }
icwp-wpsf.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Shield Security
4
  * Plugin URI: http://icwp.io/2f
5
  * Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
6
- * Version: 6.6.6
7
  * Text Domain: wp-simple-firewall
8
  * Domain Path: /languages/
9
  * Author: One Dollar Plugin
3
  * Plugin Name: Shield Security
4
  * Plugin URI: http://icwp.io/2f
5
  * Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
6
+ * Version: 6.6.7
7
  * Text Domain: wp-simple-firewall
8
  * Domain Path: /languages/
9
  * Author: One Dollar Plugin
plugin-spec.php CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "properties": {
3
- "version": "6.6.6",
4
- "release_timestamp": 1524129189,
5
  "slug_parent": "icwp",
6
  "slug_plugin": "wpsf",
7
  "human_name": "Shield",
1
  {
2
  "properties": {
3
+ "version": "6.6.7",
4
+ "release_timestamp": 1525248893,
5
  "slug_parent": "icwp",
6
  "slug_plugin": "wpsf",
7
  "human_name": "Shield",
readme.txt CHANGED
@@ -8,7 +8,7 @@ Requires at least: 3.5.0
8
  Requires PHP: 5.2.4
9
  Recommended PHP: 5.4
10
  Tested up to: 4.9
11
- Stable tag: 6.6.6
12
 
13
  Complete All-In-One Protection for your WordPress sites, that makes Security Easy for Everyone - it doesn't have to be hard anymore.
14
 
@@ -345,23 +345,27 @@ Possible options are: network_admin, administrator, editor, author, contributor,
345
 
346
  == Changelog ==
347
 
348
- Our policy was to never restrict security features to Pro upgrades. [This has now changed](http://icwp.io/bs).
 
349
 
350
  Shield Pro brings exclusive features to the serious webmaster to maximise site security. You'll also have access to our email technical support team.
351
  If you don't want to support the work, no problem! You can still continue to use Shield Security and its free features in-full.
352
 
353
  You can [go Pro for just $1/month](http://icwp.io/aa).
354
 
355
- = 6.6.6 - Current Release =
356
- *Released: 19th April, 2018* - [Release Notes](http://icwp.io/c3)
357
 
358
- * **(v.6)** ADDED: Small exclusion in the firewall for a jetpack parameter.
359
- * **(v.6)** ADDED: SVGs to the default list of files scanned by the plugin guard.
360
- * **(v.6)** ADDED: Workaround for a [ridiculous NGG bug](https://wordpress.org/support/topic/forcefully-executing-wp_footer-not-compatible-with-other-plugins/).
361
 
362
  = 6.6 Series =
363
  *Released: 19th March, 2018* - [Release Notes](http://icwp.io/c3)
364
 
 
 
 
365
  * **(v.6)** ADDED: Small exclusion in the firewall for a jetpack parameter.
366
  * **(v.6)** ADDED: SVGs to the default list of files scanned by the plugin guard.
367
  * **(v.6)** ADDED: Workaround for a [ridiculous NGG bug](https://wordpress.org/support/topic/forcefully-executing-wp_footer-not-compatible-with-other-plugins/).
8
  Requires PHP: 5.2.4
9
  Recommended PHP: 5.4
10
  Tested up to: 4.9
11
+ Stable tag: 6.6.7
12
 
13
  Complete All-In-One Protection for your WordPress sites, that makes Security Easy for Everyone - it doesn't have to be hard anymore.
14
 
345
 
346
  == Changelog ==
347
 
348
+ Our policy was to never restrict security features to Pro upgrades.
349
+ [This has now changed](http://icwp.io/bs).
350
 
351
  Shield Pro brings exclusive features to the serious webmaster to maximise site security. You'll also have access to our email technical support team.
352
  If you don't want to support the work, no problem! You can still continue to use Shield Security and its free features in-full.
353
 
354
  You can [go Pro for just $1/month](http://icwp.io/aa).
355
 
356
+ = 6.6.7 - Current Release =
357
+ *Released: 2nd May, 2018*
358
 
359
+ * **(v.7)** IMPROVED: reCAPTCHA JS is only included on pages where it's actually used by Shield.
360
+ * **(v.7)** IMPROVED: Upgrade Bootstrap library to 4.1.0.
361
+ * **(v.7)** IMPROVED: Include jQuery for the plugin badge as required
362
 
363
  = 6.6 Series =
364
  *Released: 19th March, 2018* - [Release Notes](http://icwp.io/c3)
365
 
366
+ * **(v.7)** IMPROVED: reCAPTCHA JS is only included on pages where it's actually used by Shield.
367
+ * **(v.7)** IMPROVED: Upgrade Bootstrap library to 4.1.0.
368
+ * **(v.7)** IMPROVED: Include jQuery for the plugin badge as required
369
  * **(v.6)** ADDED: Small exclusion in the firewall for a jetpack parameter.
370
  * **(v.6)** ADDED: SVGs to the default list of files scanned by the plugin guard.
371
  * **(v.6)** ADDED: Workaround for a [ridiculous NGG bug](https://wordpress.org/support/topic/forcefully-executing-wp_footer-not-compatible-with-other-plugins/).
resources/css/bootstrap4.css CHANGED
@@ -1,5 +1,5 @@
1
  /*!
2
- * Bootstrap v4.0.0 (https://getbootstrap.com)
3
  * Copyright 2011-2018 The Bootstrap Authors
4
  * Copyright 2011-2018 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -232,7 +232,7 @@ th {
232
 
233
  label {
234
  display: inline-block;
235
- margin-bottom: .5rem;
236
  }
237
 
238
  button {
@@ -594,7 +594,6 @@ pre code {
594
  }
595
 
596
  .row {
597
- display: -webkit-box;
598
  display: -ms-flexbox;
599
  display: flex;
600
  -ms-flex-wrap: wrap;
@@ -630,14 +629,12 @@ pre code {
630
  .col {
631
  -ms-flex-preferred-size: 0;
632
  flex-basis: 0;
633
- -webkit-box-flex: 1;
634
  -ms-flex-positive: 1;
635
  flex-grow: 1;
636
  max-width: 100%;
637
  }
638
 
639
  .col-auto {
640
- -webkit-box-flex: 0;
641
  -ms-flex: 0 0 auto;
642
  flex: 0 0 auto;
643
  width: auto;
@@ -645,175 +642,148 @@ pre code {
645
  }
646
 
647
  .col-1 {
648
- -webkit-box-flex: 0;
649
  -ms-flex: 0 0 8.333333%;
650
  flex: 0 0 8.333333%;
651
  max-width: 8.333333%;
652
  }
653
 
654
  .col-2 {
655
- -webkit-box-flex: 0;
656
  -ms-flex: 0 0 16.666667%;
657
  flex: 0 0 16.666667%;
658
  max-width: 16.666667%;
659
  }
660
 
661
  .col-3 {
662
- -webkit-box-flex: 0;
663
  -ms-flex: 0 0 25%;
664
  flex: 0 0 25%;
665
  max-width: 25%;
666
  }
667
 
668
  .col-4 {
669
- -webkit-box-flex: 0;
670
  -ms-flex: 0 0 33.333333%;
671
  flex: 0 0 33.333333%;
672
  max-width: 33.333333%;
673
  }
674
 
675
  .col-5 {
676
- -webkit-box-flex: 0;
677
  -ms-flex: 0 0 41.666667%;
678
  flex: 0 0 41.666667%;
679
  max-width: 41.666667%;
680
  }
681
 
682
  .col-6 {
683
- -webkit-box-flex: 0;
684
  -ms-flex: 0 0 50%;
685
  flex: 0 0 50%;
686
  max-width: 50%;
687
  }
688
 
689
  .col-7 {
690
- -webkit-box-flex: 0;
691
  -ms-flex: 0 0 58.333333%;
692
  flex: 0 0 58.333333%;
693
  max-width: 58.333333%;
694
  }
695
 
696
  .col-8 {
697
- -webkit-box-flex: 0;
698
  -ms-flex: 0 0 66.666667%;
699
  flex: 0 0 66.666667%;
700
  max-width: 66.666667%;
701
  }
702
 
703
  .col-9 {
704
- -webkit-box-flex: 0;
705
  -ms-flex: 0 0 75%;
706
  flex: 0 0 75%;
707
  max-width: 75%;
708
  }
709
 
710
  .col-10 {
711
- -webkit-box-flex: 0;
712
  -ms-flex: 0 0 83.333333%;
713
  flex: 0 0 83.333333%;
714
  max-width: 83.333333%;
715
  }
716
 
717
  .col-11 {
718
- -webkit-box-flex: 0;
719
  -ms-flex: 0 0 91.666667%;
720
  flex: 0 0 91.666667%;
721
  max-width: 91.666667%;
722
  }
723
 
724
  .col-12 {
725
- -webkit-box-flex: 0;
726
  -ms-flex: 0 0 100%;
727
  flex: 0 0 100%;
728
  max-width: 100%;
729
  }
730
 
731
  .order-first {
732
- -webkit-box-ordinal-group: 0;
733
  -ms-flex-order: -1;
734
  order: -1;
735
  }
736
 
737
  .order-last {
738
- -webkit-box-ordinal-group: 14;
739
  -ms-flex-order: 13;
740
  order: 13;
741
  }
742
 
743
  .order-0 {
744
- -webkit-box-ordinal-group: 1;
745
  -ms-flex-order: 0;
746
  order: 0;
747
  }
748
 
749
  .order-1 {
750
- -webkit-box-ordinal-group: 2;
751
  -ms-flex-order: 1;
752
  order: 1;
753
  }
754
 
755
  .order-2 {
756
- -webkit-box-ordinal-group: 3;
757
  -ms-flex-order: 2;
758
  order: 2;
759
  }
760
 
761
  .order-3 {
762
- -webkit-box-ordinal-group: 4;
763
  -ms-flex-order: 3;
764
  order: 3;
765
  }
766
 
767
  .order-4 {
768
- -webkit-box-ordinal-group: 5;
769
  -ms-flex-order: 4;
770
  order: 4;
771
  }
772
 
773
  .order-5 {
774
- -webkit-box-ordinal-group: 6;
775
  -ms-flex-order: 5;
776
  order: 5;
777
  }
778
 
779
  .order-6 {
780
- -webkit-box-ordinal-group: 7;
781
  -ms-flex-order: 6;
782
  order: 6;
783
  }
784
 
785
  .order-7 {
786
- -webkit-box-ordinal-group: 8;
787
  -ms-flex-order: 7;
788
  order: 7;
789
  }
790
 
791
  .order-8 {
792
- -webkit-box-ordinal-group: 9;
793
  -ms-flex-order: 8;
794
  order: 8;
795
  }
796
 
797
  .order-9 {
798
- -webkit-box-ordinal-group: 10;
799
  -ms-flex-order: 9;
800
  order: 9;
801
  }
802
 
803
  .order-10 {
804
- -webkit-box-ordinal-group: 11;
805
  -ms-flex-order: 10;
806
  order: 10;
807
  }
808
 
809
  .order-11 {
810
- -webkit-box-ordinal-group: 12;
811
  -ms-flex-order: 11;
812
  order: 11;
813
  }
814
 
815
  .order-12 {
816
- -webkit-box-ordinal-group: 13;
817
  -ms-flex-order: 12;
818
  order: 12;
819
  }
@@ -866,162 +836,133 @@ pre code {
866
  .col-sm {
867
  -ms-flex-preferred-size: 0;
868
  flex-basis: 0;
869
- -webkit-box-flex: 1;
870
  -ms-flex-positive: 1;
871
  flex-grow: 1;
872
  max-width: 100%;
873
  }
874
  .col-sm-auto {
875
- -webkit-box-flex: 0;
876
  -ms-flex: 0 0 auto;
877
  flex: 0 0 auto;
878
  width: auto;
879
  max-width: none;
880
  }
881
  .col-sm-1 {
882
- -webkit-box-flex: 0;
883
  -ms-flex: 0 0 8.333333%;
884
  flex: 0 0 8.333333%;
885
  max-width: 8.333333%;
886
  }
887
  .col-sm-2 {
888
- -webkit-box-flex: 0;
889
  -ms-flex: 0 0 16.666667%;
890
  flex: 0 0 16.666667%;
891
  max-width: 16.666667%;
892
  }
893
  .col-sm-3 {
894
- -webkit-box-flex: 0;
895
  -ms-flex: 0 0 25%;
896
  flex: 0 0 25%;
897
  max-width: 25%;
898
  }
899
  .col-sm-4 {
900
- -webkit-box-flex: 0;
901
  -ms-flex: 0 0 33.333333%;
902
  flex: 0 0 33.333333%;
903
  max-width: 33.333333%;
904
  }
905
  .col-sm-5 {
906
- -webkit-box-flex: 0;
907
  -ms-flex: 0 0 41.666667%;
908
  flex: 0 0 41.666667%;
909
  max-width: 41.666667%;
910
  }
911
  .col-sm-6 {
912
- -webkit-box-flex: 0;
913
  -ms-flex: 0 0 50%;
914
  flex: 0 0 50%;
915
  max-width: 50%;
916
  }
917
  .col-sm-7 {
918
- -webkit-box-flex: 0;
919
  -ms-flex: 0 0 58.333333%;
920
  flex: 0 0 58.333333%;
921
  max-width: 58.333333%;
922
  }
923
  .col-sm-8 {
924
- -webkit-box-flex: 0;
925
  -ms-flex: 0 0 66.666667%;
926
  flex: 0 0 66.666667%;
927
  max-width: 66.666667%;
928
  }
929
  .col-sm-9 {
930
- -webkit-box-flex: 0;
931
  -ms-flex: 0 0 75%;
932
  flex: 0 0 75%;
933
  max-width: 75%;
934
  }
935
  .col-sm-10 {
936
- -webkit-box-flex: 0;
937
  -ms-flex: 0 0 83.333333%;
938
  flex: 0 0 83.333333%;
939
  max-width: 83.333333%;
940
  }
941
  .col-sm-11 {
942
- -webkit-box-flex: 0;
943
  -ms-flex: 0 0 91.666667%;
944
  flex: 0 0 91.666667%;
945
  max-width: 91.666667%;
946
  }
947
  .col-sm-12 {
948
- -webkit-box-flex: 0;
949
  -ms-flex: 0 0 100%;
950
  flex: 0 0 100%;
951
  max-width: 100%;
952
  }
953
  .order-sm-first {
954
- -webkit-box-ordinal-group: 0;
955
  -ms-flex-order: -1;
956
  order: -1;
957
  }
958
  .order-sm-last {
959
- -webkit-box-ordinal-group: 14;
960
  -ms-flex-order: 13;
961
  order: 13;
962
  }
963
  .order-sm-0 {
964
- -webkit-box-ordinal-group: 1;
965
  -ms-flex-order: 0;
966
  order: 0;
967
  }
968
  .order-sm-1 {
969
- -webkit-box-ordinal-group: 2;
970
  -ms-flex-order: 1;
971
  order: 1;
972
  }
973
  .order-sm-2 {
974
- -webkit-box-ordinal-group: 3;
975
  -ms-flex-order: 2;
976
  order: 2;
977
  }
978
  .order-sm-3 {
979
- -webkit-box-ordinal-group: 4;
980
  -ms-flex-order: 3;
981
  order: 3;
982
  }
983
  .order-sm-4 {
984
- -webkit-box-ordinal-group: 5;
985
  -ms-flex-order: 4;
986
  order: 4;
987
  }
988
  .order-sm-5 {
989
- -webkit-box-ordinal-group: 6;
990
  -ms-flex-order: 5;
991
  order: 5;
992
  }
993
  .order-sm-6 {
994
- -webkit-box-ordinal-group: 7;
995
  -ms-flex-order: 6;
996
  order: 6;
997
  }
998
  .order-sm-7 {
999
- -webkit-box-ordinal-group: 8;
1000
  -ms-flex-order: 7;
1001
  order: 7;
1002
  }
1003
  .order-sm-8 {
1004
- -webkit-box-ordinal-group: 9;
1005
  -ms-flex-order: 8;
1006
  order: 8;
1007
  }
1008
  .order-sm-9 {
1009
- -webkit-box-ordinal-group: 10;
1010
  -ms-flex-order: 9;
1011
  order: 9;
1012
  }
1013
  .order-sm-10 {
1014
- -webkit-box-ordinal-group: 11;
1015
  -ms-flex-order: 10;
1016
  order: 10;
1017
  }
1018
  .order-sm-11 {
1019
- -webkit-box-ordinal-group: 12;
1020
  -ms-flex-order: 11;
1021
  order: 11;
1022
  }
1023
  .order-sm-12 {
1024
- -webkit-box-ordinal-group: 13;
1025
  -ms-flex-order: 12;
1026
  order: 12;
1027
  }
@@ -1067,162 +1008,133 @@ pre code {
1067
  .col-md {
1068
  -ms-flex-preferred-size: 0;
1069
  flex-basis: 0;
1070
- -webkit-box-flex: 1;
1071
  -ms-flex-positive: 1;
1072
  flex-grow: 1;
1073
  max-width: 100%;
1074
  }
1075
  .col-md-auto {
1076
- -webkit-box-flex: 0;
1077
  -ms-flex: 0 0 auto;
1078
  flex: 0 0 auto;
1079
  width: auto;
1080
  max-width: none;
1081
  }
1082
  .col-md-1 {
1083
- -webkit-box-flex: 0;
1084
  -ms-flex: 0 0 8.333333%;
1085
  flex: 0 0 8.333333%;
1086
  max-width: 8.333333%;
1087
  }
1088
  .col-md-2 {
1089
- -webkit-box-flex: 0;
1090
  -ms-flex: 0 0 16.666667%;
1091
  flex: 0 0 16.666667%;
1092
  max-width: 16.666667%;
1093
  }
1094
  .col-md-3 {
1095
- -webkit-box-flex: 0;
1096
  -ms-flex: 0 0 25%;
1097
  flex: 0 0 25%;
1098
  max-width: 25%;
1099
  }
1100
  .col-md-4 {
1101
- -webkit-box-flex: 0;
1102
  -ms-flex: 0 0 33.333333%;
1103
  flex: 0 0 33.333333%;
1104
  max-width: 33.333333%;
1105
  }
1106
  .col-md-5 {
1107
- -webkit-box-flex: 0;
1108
  -ms-flex: 0 0 41.666667%;
1109
  flex: 0 0 41.666667%;
1110
  max-width: 41.666667%;
1111
  }
1112
  .col-md-6 {
1113
- -webkit-box-flex: 0;
1114
  -ms-flex: 0 0 50%;
1115
  flex: 0 0 50%;
1116
  max-width: 50%;
1117
  }
1118
  .col-md-7 {
1119
- -webkit-box-flex: 0;
1120
  -ms-flex: 0 0 58.333333%;
1121
  flex: 0 0 58.333333%;
1122
  max-width: 58.333333%;
1123
  }
1124
  .col-md-8 {
1125
- -webkit-box-flex: 0;
1126
  -ms-flex: 0 0 66.666667%;
1127
  flex: 0 0 66.666667%;
1128
  max-width: 66.666667%;
1129
  }
1130
  .col-md-9 {
1131
- -webkit-box-flex: 0;
1132
  -ms-flex: 0 0 75%;
1133
  flex: 0 0 75%;
1134
  max-width: 75%;
1135
  }
1136
  .col-md-10 {
1137
- -webkit-box-flex: 0;
1138
  -ms-flex: 0 0 83.333333%;
1139
  flex: 0 0 83.333333%;
1140
  max-width: 83.333333%;
1141
  }
1142
  .col-md-11 {
1143
- -webkit-box-flex: 0;
1144
  -ms-flex: 0 0 91.666667%;
1145
  flex: 0 0 91.666667%;
1146
  max-width: 91.666667%;
1147
  }
1148
  .col-md-12 {
1149
- -webkit-box-flex: 0;
1150
  -ms-flex: 0 0 100%;
1151
  flex: 0 0 100%;
1152
  max-width: 100%;
1153
  }
1154
  .order-md-first {
1155
- -webkit-box-ordinal-group: 0;
1156
  -ms-flex-order: -1;
1157
  order: -1;
1158
  }
1159
  .order-md-last {
1160
- -webkit-box-ordinal-group: 14;
1161
  -ms-flex-order: 13;
1162
  order: 13;
1163
  }
1164
  .order-md-0 {
1165
- -webkit-box-ordinal-group: 1;
1166
  -ms-flex-order: 0;
1167
  order: 0;
1168
  }
1169
  .order-md-1 {
1170
- -webkit-box-ordinal-group: 2;
1171
  -ms-flex-order: 1;
1172
  order: 1;
1173
  }
1174
  .order-md-2 {
1175
- -webkit-box-ordinal-group: 3;
1176
  -ms-flex-order: 2;
1177
  order: 2;
1178
  }
1179
  .order-md-3 {
1180
- -webkit-box-ordinal-group: 4;
1181
  -ms-flex-order: 3;
1182
  order: 3;
1183
  }
1184
  .order-md-4 {
1185
- -webkit-box-ordinal-group: 5;
1186
  -ms-flex-order: 4;
1187
  order: 4;
1188
  }
1189
  .order-md-5 {
1190
- -webkit-box-ordinal-group: 6;
1191
  -ms-flex-order: 5;
1192
  order: 5;
1193
  }
1194
  .order-md-6 {
1195
- -webkit-box-ordinal-group: 7;
1196
  -ms-flex-order: 6;
1197
  order: 6;
1198
  }
1199
  .order-md-7 {
1200
- -webkit-box-ordinal-group: 8;
1201
  -ms-flex-order: 7;
1202
  order: 7;
1203
  }
1204
  .order-md-8 {
1205
- -webkit-box-ordinal-group: 9;
1206
  -ms-flex-order: 8;
1207
  order: 8;
1208
  }
1209
  .order-md-9 {
1210
- -webkit-box-ordinal-group: 10;
1211
  -ms-flex-order: 9;
1212
  order: 9;
1213
  }
1214
  .order-md-10 {
1215
- -webkit-box-ordinal-group: 11;
1216
  -ms-flex-order: 10;
1217
  order: 10;
1218
  }
1219
  .order-md-11 {
1220
- -webkit-box-ordinal-group: 12;
1221
  -ms-flex-order: 11;
1222
  order: 11;
1223
  }
1224
  .order-md-12 {
1225
- -webkit-box-ordinal-group: 13;
1226
  -ms-flex-order: 12;
1227
  order: 12;
1228
  }
@@ -1268,162 +1180,133 @@ pre code {
1268
  .col-lg {
1269
  -ms-flex-preferred-size: 0;
1270
  flex-basis: 0;
1271
- -webkit-box-flex: 1;
1272
  -ms-flex-positive: 1;
1273
  flex-grow: 1;
1274
  max-width: 100%;
1275
  }
1276
  .col-lg-auto {
1277
- -webkit-box-flex: 0;
1278
  -ms-flex: 0 0 auto;
1279
  flex: 0 0 auto;
1280
  width: auto;
1281
  max-width: none;
1282
  }
1283
  .col-lg-1 {
1284
- -webkit-box-flex: 0;
1285
  -ms-flex: 0 0 8.333333%;
1286
  flex: 0 0 8.333333%;
1287
  max-width: 8.333333%;
1288
  }
1289
  .col-lg-2 {
1290
- -webkit-box-flex: 0;
1291
  -ms-flex: 0 0 16.666667%;
1292
  flex: 0 0 16.666667%;
1293
  max-width: 16.666667%;
1294
  }
1295
  .col-lg-3 {
1296
- -webkit-box-flex: 0;
1297
  -ms-flex: 0 0 25%;
1298
  flex: 0 0 25%;
1299
  max-width: 25%;
1300
  }
1301
  .col-lg-4 {
1302
- -webkit-box-flex: 0;
1303
  -ms-flex: 0 0 33.333333%;
1304
  flex: 0 0 33.333333%;
1305
  max-width: 33.333333%;
1306
  }
1307
  .col-lg-5 {
1308
- -webkit-box-flex: 0;
1309
  -ms-flex: 0 0 41.666667%;
1310
  flex: 0 0 41.666667%;
1311
  max-width: 41.666667%;
1312
  }
1313
  .col-lg-6 {
1314
- -webkit-box-flex: 0;
1315
  -ms-flex: 0 0 50%;
1316
  flex: 0 0 50%;
1317
  max-width: 50%;
1318
  }
1319
  .col-lg-7 {
1320
- -webkit-box-flex: 0;
1321
  -ms-flex: 0 0 58.333333%;
1322
  flex: 0 0 58.333333%;
1323
  max-width: 58.333333%;
1324
  }
1325
  .col-lg-8 {
1326
- -webkit-box-flex: 0;
1327
  -ms-flex: 0 0 66.666667%;
1328
  flex: 0 0 66.666667%;
1329
  max-width: 66.666667%;
1330
  }
1331
  .col-lg-9 {
1332
- -webkit-box-flex: 0;
1333
  -ms-flex: 0 0 75%;
1334
  flex: 0 0 75%;
1335
  max-width: 75%;
1336
  }
1337
  .col-lg-10 {
1338
- -webkit-box-flex: 0;
1339
  -ms-flex: 0 0 83.333333%;
1340
  flex: 0 0 83.333333%;
1341
  max-width: 83.333333%;
1342
  }
1343
  .col-lg-11 {
1344
- -webkit-box-flex: 0;
1345
  -ms-flex: 0 0 91.666667%;
1346
  flex: 0 0 91.666667%;
1347
  max-width: 91.666667%;
1348
  }
1349
  .col-lg-12 {
1350
- -webkit-box-flex: 0;
1351
  -ms-flex: 0 0 100%;
1352
  flex: 0 0 100%;
1353
  max-width: 100%;
1354
  }
1355
  .order-lg-first {
1356
- -webkit-box-ordinal-group: 0;
1357
  -ms-flex-order: -1;
1358
  order: -1;
1359
  }
1360
  .order-lg-last {
1361
- -webkit-box-ordinal-group: 14;
1362
  -ms-flex-order: 13;
1363
  order: 13;
1364
  }
1365
  .order-lg-0 {
1366
- -webkit-box-ordinal-group: 1;
1367
  -ms-flex-order: 0;
1368
  order: 0;
1369
  }
1370
  .order-lg-1 {
1371
- -webkit-box-ordinal-group: 2;
1372
  -ms-flex-order: 1;
1373
  order: 1;
1374
  }
1375
  .order-lg-2 {
1376
- -webkit-box-ordinal-group: 3;
1377
  -ms-flex-order: 2;
1378
  order: 2;
1379
  }
1380
  .order-lg-3 {
1381
- -webkit-box-ordinal-group: 4;
1382
  -ms-flex-order: 3;
1383
  order: 3;
1384
  }
1385
  .order-lg-4 {
1386
- -webkit-box-ordinal-group: 5;
1387
  -ms-flex-order: 4;
1388
  order: 4;
1389
  }
1390
  .order-lg-5 {
1391
- -webkit-box-ordinal-group: 6;
1392
  -ms-flex-order: 5;
1393
  order: 5;
1394
  }
1395
  .order-lg-6 {
1396
- -webkit-box-ordinal-group: 7;
1397
  -ms-flex-order: 6;
1398
  order: 6;
1399
  }
1400
  .order-lg-7 {
1401
- -webkit-box-ordinal-group: 8;
1402
  -ms-flex-order: 7;
1403
  order: 7;
1404
  }
1405
  .order-lg-8 {
1406
- -webkit-box-ordinal-group: 9;
1407
  -ms-flex-order: 8;
1408
  order: 8;
1409
  }
1410
  .order-lg-9 {
1411
- -webkit-box-ordinal-group: 10;
1412
  -ms-flex-order: 9;
1413
  order: 9;
1414
  }
1415
  .order-lg-10 {
1416
- -webkit-box-ordinal-group: 11;
1417
  -ms-flex-order: 10;
1418
  order: 10;
1419
  }
1420
  .order-lg-11 {
1421
- -webkit-box-ordinal-group: 12;
1422
  -ms-flex-order: 11;
1423
  order: 11;
1424
  }
1425
  .order-lg-12 {
1426
- -webkit-box-ordinal-group: 13;
1427
  -ms-flex-order: 12;
1428
  order: 12;
1429
  }
@@ -1469,162 +1352,133 @@ pre code {
1469
  .col-xl {
1470
  -ms-flex-preferred-size: 0;
1471
  flex-basis: 0;
1472
- -webkit-box-flex: 1;
1473
  -ms-flex-positive: 1;
1474
  flex-grow: 1;
1475
  max-width: 100%;
1476
  }
1477
  .col-xl-auto {
1478
- -webkit-box-flex: 0;
1479
  -ms-flex: 0 0 auto;
1480
  flex: 0 0 auto;
1481
  width: auto;
1482
  max-width: none;
1483
  }
1484
  .col-xl-1 {
1485
- -webkit-box-flex: 0;
1486
  -ms-flex: 0 0 8.333333%;
1487
  flex: 0 0 8.333333%;
1488
  max-width: 8.333333%;
1489
  }
1490
  .col-xl-2 {
1491
- -webkit-box-flex: 0;
1492
  -ms-flex: 0 0 16.666667%;
1493
  flex: 0 0 16.666667%;
1494
  max-width: 16.666667%;
1495
  }
1496
  .col-xl-3 {
1497
- -webkit-box-flex: 0;
1498
  -ms-flex: 0 0 25%;
1499
  flex: 0 0 25%;
1500
  max-width: 25%;
1501
  }
1502
  .col-xl-4 {
1503
- -webkit-box-flex: 0;
1504
  -ms-flex: 0 0 33.333333%;
1505
  flex: 0 0 33.333333%;
1506
  max-width: 33.333333%;
1507
  }
1508
  .col-xl-5 {
1509
- -webkit-box-flex: 0;
1510
  -ms-flex: 0 0 41.666667%;
1511
  flex: 0 0 41.666667%;
1512
  max-width: 41.666667%;
1513
  }
1514
  .col-xl-6 {
1515
- -webkit-box-flex: 0;
1516
  -ms-flex: 0 0 50%;
1517
  flex: 0 0 50%;
1518
  max-width: 50%;
1519
  }
1520
  .col-xl-7 {
1521
- -webkit-box-flex: 0;
1522
  -ms-flex: 0 0 58.333333%;
1523
  flex: 0 0 58.333333%;
1524
  max-width: 58.333333%;
1525
  }
1526
  .col-xl-8 {
1527
- -webkit-box-flex: 0;
1528
  -ms-flex: 0 0 66.666667%;
1529
  flex: 0 0 66.666667%;
1530
  max-width: 66.666667%;
1531
  }
1532
  .col-xl-9 {
1533
- -webkit-box-flex: 0;
1534
  -ms-flex: 0 0 75%;
1535
  flex: 0 0 75%;
1536
  max-width: 75%;
1537
  }
1538
  .col-xl-10 {
1539
- -webkit-box-flex: 0;
1540
  -ms-flex: 0 0 83.333333%;
1541
  flex: 0 0 83.333333%;
1542
  max-width: 83.333333%;
1543
  }
1544
  .col-xl-11 {
1545
- -webkit-box-flex: 0;
1546
  -ms-flex: 0 0 91.666667%;
1547
  flex: 0 0 91.666667%;
1548
  max-width: 91.666667%;
1549
  }
1550
  .col-xl-12 {
1551
- -webkit-box-flex: 0;
1552
  -ms-flex: 0 0 100%;
1553
  flex: 0 0 100%;
1554
  max-width: 100%;
1555
  }
1556
  .order-xl-first {
1557
- -webkit-box-ordinal-group: 0;
1558
  -ms-flex-order: -1;
1559
  order: -1;
1560
  }
1561
  .order-xl-last {
1562
- -webkit-box-ordinal-group: 14;
1563
  -ms-flex-order: 13;
1564
  order: 13;
1565
  }
1566
  .order-xl-0 {
1567
- -webkit-box-ordinal-group: 1;
1568
  -ms-flex-order: 0;
1569
  order: 0;
1570
  }
1571
  .order-xl-1 {
1572
- -webkit-box-ordinal-group: 2;
1573
  -ms-flex-order: 1;
1574
  order: 1;
1575
  }
1576
  .order-xl-2 {
1577
- -webkit-box-ordinal-group: 3;
1578
  -ms-flex-order: 2;
1579
  order: 2;
1580
  }
1581
  .order-xl-3 {
1582
- -webkit-box-ordinal-group: 4;
1583
  -ms-flex-order: 3;
1584
  order: 3;
1585
  }
1586
  .order-xl-4 {
1587
- -webkit-box-ordinal-group: 5;
1588
  -ms-flex-order: 4;
1589
  order: 4;
1590
  }
1591
  .order-xl-5 {
1592
- -webkit-box-ordinal-group: 6;
1593
  -ms-flex-order: 5;
1594
  order: 5;
1595
  }
1596
  .order-xl-6 {
1597
- -webkit-box-ordinal-group: 7;
1598
  -ms-flex-order: 6;
1599
  order: 6;
1600
  }
1601
  .order-xl-7 {
1602
- -webkit-box-ordinal-group: 8;
1603
  -ms-flex-order: 7;
1604
  order: 7;
1605
  }
1606
  .order-xl-8 {
1607
- -webkit-box-ordinal-group: 9;
1608
  -ms-flex-order: 8;
1609
  order: 8;
1610
  }
1611
  .order-xl-9 {
1612
- -webkit-box-ordinal-group: 10;
1613
  -ms-flex-order: 9;
1614
  order: 9;
1615
  }
1616
  .order-xl-10 {
1617
- -webkit-box-ordinal-group: 11;
1618
  -ms-flex-order: 10;
1619
  order: 10;
1620
  }
1621
  .order-xl-11 {
1622
- -webkit-box-ordinal-group: 12;
1623
  -ms-flex-order: 11;
1624
  order: 11;
1625
  }
1626
  .order-xl-12 {
1627
- -webkit-box-ordinal-group: 13;
1628
  -ms-flex-order: 12;
1629
  order: 12;
1630
  }
@@ -1712,6 +1566,13 @@ pre code {
1712
  border-bottom-width: 2px;
1713
  }
1714
 
 
 
 
 
 
 
 
1715
  .table-striped tbody tr:nth-of-type(odd) {
1716
  background-color: rgba(0, 0, 0, 0.05);
1717
  }
@@ -1968,6 +1829,12 @@ pre code {
1968
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
1969
  }
1970
 
 
 
 
 
 
 
1971
  .form-control::-ms-expand {
1972
  background-color: transparent;
1973
  border: 0;
@@ -2055,6 +1922,7 @@ select.form-control:focus::-ms-value {
2055
  padding-bottom: 0.375rem;
2056
  margin-bottom: 0;
2057
  line-height: 1.5;
 
2058
  background-color: transparent;
2059
  border: solid transparent;
2060
  border-width: 1px 0;
@@ -2121,7 +1989,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2121
  }
2122
 
2123
  .form-row {
2124
- display: -webkit-box;
2125
  display: -ms-flexbox;
2126
  display: flex;
2127
  -ms-flex-wrap: wrap;
@@ -2157,10 +2024,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2157
  }
2158
 
2159
  .form-check-inline {
2160
- display: -webkit-inline-box;
2161
  display: -ms-inline-flexbox;
2162
  display: inline-flex;
2163
- -webkit-box-align: center;
2164
  -ms-flex-align: center;
2165
  align-items: center;
2166
  padding-left: 0;
@@ -2369,14 +2234,10 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2369
  }
2370
 
2371
  .form-inline {
2372
- display: -webkit-box;
2373
  display: -ms-flexbox;
2374
  display: flex;
2375
- -webkit-box-orient: horizontal;
2376
- -webkit-box-direction: normal;
2377
  -ms-flex-flow: row wrap;
2378
  flex-flow: row wrap;
2379
- -webkit-box-align: center;
2380
  -ms-flex-align: center;
2381
  align-items: center;
2382
  }
@@ -2387,29 +2248,21 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2387
 
2388
  @media (min-width: 576px) {
2389
  .form-inline label {
2390
- display: -webkit-box;
2391
  display: -ms-flexbox;
2392
  display: flex;
2393
- -webkit-box-align: center;
2394
  -ms-flex-align: center;
2395
  align-items: center;
2396
- -webkit-box-pack: center;
2397
  -ms-flex-pack: center;
2398
  justify-content: center;
2399
  margin-bottom: 0;
2400
  }
2401
  .form-inline .form-group {
2402
- display: -webkit-box;
2403
  display: -ms-flexbox;
2404
  display: flex;
2405
- -webkit-box-flex: 0;
2406
  -ms-flex: 0 0 auto;
2407
  flex: 0 0 auto;
2408
- -webkit-box-orient: horizontal;
2409
- -webkit-box-direction: normal;
2410
  -ms-flex-flow: row wrap;
2411
  flex-flow: row wrap;
2412
- -webkit-box-align: center;
2413
  -ms-flex-align: center;
2414
  align-items: center;
2415
  margin-bottom: 0;
@@ -2422,17 +2275,15 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2422
  .form-inline .form-control-plaintext {
2423
  display: inline-block;
2424
  }
2425
- .form-inline .input-group {
 
2426
  width: auto;
2427
  }
2428
  .form-inline .form-check {
2429
- display: -webkit-box;
2430
  display: -ms-flexbox;
2431
  display: flex;
2432
- -webkit-box-align: center;
2433
  -ms-flex-align: center;
2434
  align-items: center;
2435
- -webkit-box-pack: center;
2436
  -ms-flex-pack: center;
2437
  justify-content: center;
2438
  width: auto;
@@ -2445,10 +2296,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2445
  margin-left: 0;
2446
  }
2447
  .form-inline .custom-control {
2448
- -webkit-box-align: center;
2449
  -ms-flex-align: center;
2450
  align-items: center;
2451
- -webkit-box-pack: center;
2452
  -ms-flex-pack: center;
2453
  justify-content: center;
2454
  }
@@ -2475,6 +2324,12 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
2475
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
2476
  }
2477
 
 
 
 
 
 
 
2478
  .btn:hover, .btn:focus {
2479
  text-decoration: none;
2480
  }
@@ -3066,6 +2921,7 @@ fieldset:disabled a.btn {
3066
 
3067
  .btn-link:disabled, .btn-link.disabled {
3068
  color: #6c757d;
 
3069
  }
3070
 
3071
  .btn-lg, .btn-group-lg > .btn {
@@ -3098,28 +2954,21 @@ input[type="button"].btn-block {
3098
  }
3099
 
3100
  .fade {
3101
- opacity: 0;
3102
  transition: opacity 0.15s linear;
3103
  }
3104
 
3105
- .fade.show {
3106
- opacity: 1;
3107
- }
3108
-
3109
- .collapse {
3110
- display: none;
3111
- }
3112
-
3113
- .collapse.show {
3114
- display: block;
3115
  }
3116
 
3117
- tr.collapse.show {
3118
- display: table-row;
3119
  }
3120
 
3121
- tbody.collapse.show {
3122
- display: table-row-group;
3123
  }
3124
 
3125
  .collapsing {
@@ -3129,8 +2978,16 @@ tbody.collapse.show {
3129
  transition: height 0.35s ease;
3130
  }
3131
 
 
 
 
 
 
 
3132
  .dropup,
3133
- .dropdown {
 
 
3134
  position: relative;
3135
  }
3136
 
@@ -3171,7 +3028,14 @@ tbody.collapse.show {
3171
  border-radius: 0.25rem;
3172
  }
3173
 
 
 
 
 
 
3174
  .dropup .dropdown-menu {
 
 
3175
  margin-top: 0;
3176
  margin-bottom: 0.125rem;
3177
  }
@@ -3194,6 +3058,9 @@ tbody.collapse.show {
3194
  }
3195
 
3196
  .dropright .dropdown-menu {
 
 
 
3197
  margin-top: 0;
3198
  margin-left: 0.125rem;
3199
  }
@@ -3206,6 +3073,7 @@ tbody.collapse.show {
3206
  vertical-align: 0.255em;
3207
  content: "";
3208
  border-top: 0.3em solid transparent;
 
3209
  border-bottom: 0.3em solid transparent;
3210
  border-left: 0.3em solid;
3211
  }
@@ -3219,6 +3087,9 @@ tbody.collapse.show {
3219
  }
3220
 
3221
  .dropleft .dropdown-menu {
 
 
 
3222
  margin-top: 0;
3223
  margin-right: 0.125rem;
3224
  }
@@ -3256,6 +3127,11 @@ tbody.collapse.show {
3256
  vertical-align: 0;
3257
  }
3258
 
 
 
 
 
 
3259
  .dropdown-divider {
3260
  height: 0;
3261
  margin: 0.5rem 0;
@@ -3306,10 +3182,15 @@ tbody.collapse.show {
3306
  white-space: nowrap;
3307
  }
3308
 
 
 
 
 
 
 
3309
  .btn-group,
3310
  .btn-group-vertical {
3311
  position: relative;
3312
- display: -webkit-inline-box;
3313
  display: -ms-inline-flexbox;
3314
  display: inline-flex;
3315
  vertical-align: middle;
@@ -3318,7 +3199,6 @@ tbody.collapse.show {
3318
  .btn-group > .btn,
3319
  .btn-group-vertical > .btn {
3320
  position: relative;
3321
- -webkit-box-flex: 0;
3322
  -ms-flex: 0 1 auto;
3323
  flex: 0 1 auto;
3324
  }
@@ -3347,12 +3227,10 @@ tbody.collapse.show {
3347
  }
3348
 
3349
  .btn-toolbar {
3350
- display: -webkit-box;
3351
  display: -ms-flexbox;
3352
  display: flex;
3353
  -ms-flex-wrap: wrap;
3354
  flex-wrap: wrap;
3355
- -webkit-box-pack: start;
3356
  -ms-flex-pack: start;
3357
  justify-content: flex-start;
3358
  }
@@ -3382,10 +3260,16 @@ tbody.collapse.show {
3382
  padding-left: 0.5625rem;
3383
  }
3384
 
3385
- .dropdown-toggle-split::after {
 
 
3386
  margin-left: 0;
3387
  }
3388
 
 
 
 
 
3389
  .btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
3390
  padding-right: 0.375rem;
3391
  padding-left: 0.375rem;
@@ -3397,14 +3281,10 @@ tbody.collapse.show {
3397
  }
3398
 
3399
  .btn-group-vertical {
3400
- -webkit-box-orient: vertical;
3401
- -webkit-box-direction: normal;
3402
  -ms-flex-direction: column;
3403
  flex-direction: column;
3404
- -webkit-box-align: start;
3405
  -ms-flex-align: start;
3406
  align-items: flex-start;
3407
- -webkit-box-pack: center;
3408
  -ms-flex-pack: center;
3409
  justify-content: center;
3410
  }
@@ -3450,12 +3330,10 @@ tbody.collapse.show {
3450
 
3451
  .input-group {
3452
  position: relative;
3453
- display: -webkit-box;
3454
  display: -ms-flexbox;
3455
  display: flex;
3456
  -ms-flex-wrap: wrap;
3457
  flex-wrap: wrap;
3458
- -webkit-box-align: stretch;
3459
  -ms-flex-align: stretch;
3460
  align-items: stretch;
3461
  width: 100%;
@@ -3465,7 +3343,6 @@ tbody.collapse.show {
3465
  .input-group > .custom-select,
3466
  .input-group > .custom-file {
3467
  position: relative;
3468
- -webkit-box-flex: 1;
3469
  -ms-flex: 1 1 auto;
3470
  flex: 1 1 auto;
3471
  width: 1%;
@@ -3503,29 +3380,26 @@ tbody.collapse.show {
3503
  }
3504
 
3505
  .input-group > .custom-file {
3506
- display: -webkit-box;
3507
  display: -ms-flexbox;
3508
  display: flex;
3509
- -webkit-box-align: center;
3510
  -ms-flex-align: center;
3511
  align-items: center;
3512
  }
3513
 
3514
  .input-group > .custom-file:not(:last-child) .custom-file-label,
3515
- .input-group > .custom-file:not(:last-child) .custom-file-label::before {
3516
  border-top-right-radius: 0;
3517
  border-bottom-right-radius: 0;
3518
  }
3519
 
3520
  .input-group > .custom-file:not(:first-child) .custom-file-label,
3521
- .input-group > .custom-file:not(:first-child) .custom-file-label::before {
3522
  border-top-left-radius: 0;
3523
  border-bottom-left-radius: 0;
3524
  }
3525
 
3526
  .input-group-prepend,
3527
  .input-group-append {
3528
- display: -webkit-box;
3529
  display: -ms-flexbox;
3530
  display: flex;
3531
  }
@@ -3556,10 +3430,8 @@ tbody.collapse.show {
3556
  }
3557
 
3558
  .input-group-text {
3559
- display: -webkit-box;
3560
  display: -ms-flexbox;
3561
  display: flex;
3562
- -webkit-box-align: center;
3563
  -ms-flex-align: center;
3564
  align-items: center;
3565
  padding: 0.375rem 0.75rem;
@@ -3608,7 +3480,6 @@ tbody.collapse.show {
3608
  }
3609
 
3610
  .custom-control-inline {
3611
- display: -webkit-inline-box;
3612
  display: -ms-inline-flexbox;
3613
  display: inline-flex;
3614
  margin-right: 1rem;
@@ -3793,12 +3664,12 @@ tbody.collapse.show {
3793
  opacity: 0;
3794
  }
3795
 
3796
- .custom-file-input:focus ~ .custom-file-control {
3797
  border-color: #80bdff;
3798
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
3799
  }
3800
 
3801
- .custom-file-input:focus ~ .custom-file-control::before {
3802
  border-color: #80bdff;
3803
  }
3804
 
@@ -3838,8 +3709,122 @@ tbody.collapse.show {
3838
  border-radius: 0 0.25rem 0.25rem 0;
3839
  }
3840
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3841
  .nav {
3842
- display: -webkit-box;
3843
  display: -ms-flexbox;
3844
  display: flex;
3845
  -ms-flex-wrap: wrap;
@@ -3910,7 +3895,6 @@ tbody.collapse.show {
3910
  }
3911
 
3912
  .nav-fill .nav-item {
3913
- -webkit-box-flex: 1;
3914
  -ms-flex: 1 1 auto;
3915
  flex: 1 1 auto;
3916
  text-align: center;
@@ -3919,7 +3903,6 @@ tbody.collapse.show {
3919
  .nav-justified .nav-item {
3920
  -ms-flex-preferred-size: 0;
3921
  flex-basis: 0;
3922
- -webkit-box-flex: 1;
3923
  -ms-flex-positive: 1;
3924
  flex-grow: 1;
3925
  text-align: center;
@@ -3935,15 +3918,12 @@ tbody.collapse.show {
3935
 
3936
  .navbar {
3937
  position: relative;
3938
- display: -webkit-box;
3939
  display: -ms-flexbox;
3940
  display: flex;
3941
  -ms-flex-wrap: wrap;
3942
  flex-wrap: wrap;
3943
- -webkit-box-align: center;
3944
  -ms-flex-align: center;
3945
  align-items: center;
3946
- -webkit-box-pack: justify;
3947
  -ms-flex-pack: justify;
3948
  justify-content: space-between;
3949
  padding: 0.5rem 1rem;
@@ -3951,15 +3931,12 @@ tbody.collapse.show {
3951
 
3952
  .navbar > .container,
3953
  .navbar > .container-fluid {
3954
- display: -webkit-box;
3955
  display: -ms-flexbox;
3956
  display: flex;
3957
  -ms-flex-wrap: wrap;
3958
  flex-wrap: wrap;
3959
- -webkit-box-align: center;
3960
  -ms-flex-align: center;
3961
  align-items: center;
3962
- -webkit-box-pack: justify;
3963
  -ms-flex-pack: justify;
3964
  justify-content: space-between;
3965
  }
@@ -3979,11 +3956,8 @@ tbody.collapse.show {
3979
  }
3980
 
3981
  .navbar-nav {
3982
- display: -webkit-box;
3983
  display: -ms-flexbox;
3984
  display: flex;
3985
- -webkit-box-orient: vertical;
3986
- -webkit-box-direction: normal;
3987
  -ms-flex-direction: column;
3988
  flex-direction: column;
3989
  padding-left: 0;
@@ -4010,10 +3984,8 @@ tbody.collapse.show {
4010
  .navbar-collapse {
4011
  -ms-flex-preferred-size: 100%;
4012
  flex-basis: 100%;
4013
- -webkit-box-flex: 1;
4014
  -ms-flex-positive: 1;
4015
  flex-grow: 1;
4016
- -webkit-box-align: center;
4017
  -ms-flex-align: center;
4018
  align-items: center;
4019
  }
@@ -4055,27 +4027,18 @@ tbody.collapse.show {
4055
 
4056
  @media (min-width: 576px) {
4057
  .navbar-expand-sm {
4058
- -webkit-box-orient: horizontal;
4059
- -webkit-box-direction: normal;
4060
  -ms-flex-flow: row nowrap;
4061
  flex-flow: row nowrap;
4062
- -webkit-box-pack: start;
4063
  -ms-flex-pack: start;
4064
  justify-content: flex-start;
4065
  }
4066
  .navbar-expand-sm .navbar-nav {
4067
- -webkit-box-orient: horizontal;
4068
- -webkit-box-direction: normal;
4069
  -ms-flex-direction: row;
4070
  flex-direction: row;
4071
  }
4072
  .navbar-expand-sm .navbar-nav .dropdown-menu {
4073
  position: absolute;
4074
  }
4075
- .navbar-expand-sm .navbar-nav .dropdown-menu-right {
4076
- right: 0;
4077
- left: auto;
4078
- }
4079
  .navbar-expand-sm .navbar-nav .nav-link {
4080
  padding-right: 0.5rem;
4081
  padding-left: 0.5rem;
@@ -4086,7 +4049,6 @@ tbody.collapse.show {
4086
  flex-wrap: nowrap;
4087
  }
4088
  .navbar-expand-sm .navbar-collapse {
4089
- display: -webkit-box !important;
4090
  display: -ms-flexbox !important;
4091
  display: flex !important;
4092
  -ms-flex-preferred-size: auto;
@@ -4095,10 +4057,6 @@ tbody.collapse.show {
4095
  .navbar-expand-sm .navbar-toggler {
4096
  display: none;
4097
  }
4098
- .navbar-expand-sm .dropup .dropdown-menu {
4099
- top: auto;
4100
- bottom: 100%;
4101
- }
4102
  }
4103
 
4104
  @media (max-width: 767.98px) {
@@ -4111,27 +4069,18 @@ tbody.collapse.show {
4111
 
4112
  @media (min-width: 768px) {
4113
  .navbar-expand-md {
4114
- -webkit-box-orient: horizontal;
4115
- -webkit-box-direction: normal;
4116
  -ms-flex-flow: row nowrap;
4117
  flex-flow: row nowrap;
4118
- -webkit-box-pack: start;
4119
  -ms-flex-pack: start;
4120
  justify-content: flex-start;
4121
  }
4122
  .navbar-expand-md .navbar-nav {
4123
- -webkit-box-orient: horizontal;
4124
- -webkit-box-direction: normal;
4125
  -ms-flex-direction: row;
4126
  flex-direction: row;
4127
  }
4128
  .navbar-expand-md .navbar-nav .dropdown-menu {
4129
  position: absolute;
4130
  }
4131
- .navbar-expand-md .navbar-nav .dropdown-menu-right {
4132
- right: 0;
4133
- left: auto;
4134
- }
4135
  .navbar-expand-md .navbar-nav .nav-link {
4136
  padding-right: 0.5rem;
4137
  padding-left: 0.5rem;
@@ -4142,7 +4091,6 @@ tbody.collapse.show {
4142
  flex-wrap: nowrap;
4143
  }
4144
  .navbar-expand-md .navbar-collapse {
4145
- display: -webkit-box !important;
4146
  display: -ms-flexbox !important;
4147
  display: flex !important;
4148
  -ms-flex-preferred-size: auto;
@@ -4151,10 +4099,6 @@ tbody.collapse.show {
4151
  .navbar-expand-md .navbar-toggler {
4152
  display: none;
4153
  }
4154
- .navbar-expand-md .dropup .dropdown-menu {
4155
- top: auto;
4156
- bottom: 100%;
4157
- }
4158
  }
4159
 
4160
  @media (max-width: 991.98px) {
@@ -4167,27 +4111,18 @@ tbody.collapse.show {
4167
 
4168
  @media (min-width: 992px) {
4169
  .navbar-expand-lg {
4170
- -webkit-box-orient: horizontal;
4171
- -webkit-box-direction: normal;
4172
  -ms-flex-flow: row nowrap;
4173
  flex-flow: row nowrap;
4174
- -webkit-box-pack: start;
4175
  -ms-flex-pack: start;
4176
  justify-content: flex-start;
4177
  }
4178
  .navbar-expand-lg .navbar-nav {
4179
- -webkit-box-orient: horizontal;
4180
- -webkit-box-direction: normal;
4181
  -ms-flex-direction: row;
4182
  flex-direction: row;
4183
  }
4184
  .navbar-expand-lg .navbar-nav .dropdown-menu {
4185
  position: absolute;
4186
  }
4187
- .navbar-expand-lg .navbar-nav .dropdown-menu-right {
4188
- right: 0;
4189
- left: auto;
4190
- }
4191
  .navbar-expand-lg .navbar-nav .nav-link {
4192
  padding-right: 0.5rem;
4193
  padding-left: 0.5rem;
@@ -4198,7 +4133,6 @@ tbody.collapse.show {
4198
  flex-wrap: nowrap;
4199
  }
4200
  .navbar-expand-lg .navbar-collapse {
4201
- display: -webkit-box !important;
4202
  display: -ms-flexbox !important;
4203
  display: flex !important;
4204
  -ms-flex-preferred-size: auto;
@@ -4207,10 +4141,6 @@ tbody.collapse.show {
4207
  .navbar-expand-lg .navbar-toggler {
4208
  display: none;
4209
  }
4210
- .navbar-expand-lg .dropup .dropdown-menu {
4211
- top: auto;
4212
- bottom: 100%;
4213
- }
4214
  }
4215
 
4216
  @media (max-width: 1199.98px) {
@@ -4223,27 +4153,18 @@ tbody.collapse.show {
4223
 
4224
  @media (min-width: 1200px) {
4225
  .navbar-expand-xl {
4226
- -webkit-box-orient: horizontal;
4227
- -webkit-box-direction: normal;
4228
  -ms-flex-flow: row nowrap;
4229
  flex-flow: row nowrap;
4230
- -webkit-box-pack: start;
4231
  -ms-flex-pack: start;
4232
  justify-content: flex-start;
4233
  }
4234
  .navbar-expand-xl .navbar-nav {
4235
- -webkit-box-orient: horizontal;
4236
- -webkit-box-direction: normal;
4237
  -ms-flex-direction: row;
4238
  flex-direction: row;
4239
  }
4240
  .navbar-expand-xl .navbar-nav .dropdown-menu {
4241
  position: absolute;
4242
  }
4243
- .navbar-expand-xl .navbar-nav .dropdown-menu-right {
4244
- right: 0;
4245
- left: auto;
4246
- }
4247
  .navbar-expand-xl .navbar-nav .nav-link {
4248
  padding-right: 0.5rem;
4249
  padding-left: 0.5rem;
@@ -4254,7 +4175,6 @@ tbody.collapse.show {
4254
  flex-wrap: nowrap;
4255
  }
4256
  .navbar-expand-xl .navbar-collapse {
4257
- display: -webkit-box !important;
4258
  display: -ms-flexbox !important;
4259
  display: flex !important;
4260
  -ms-flex-preferred-size: auto;
@@ -4263,18 +4183,11 @@ tbody.collapse.show {
4263
  .navbar-expand-xl .navbar-toggler {
4264
  display: none;
4265
  }
4266
- .navbar-expand-xl .dropup .dropdown-menu {
4267
- top: auto;
4268
- bottom: 100%;
4269
- }
4270
  }
4271
 
4272
  .navbar-expand {
4273
- -webkit-box-orient: horizontal;
4274
- -webkit-box-direction: normal;
4275
  -ms-flex-flow: row nowrap;
4276
  flex-flow: row nowrap;
4277
- -webkit-box-pack: start;
4278
  -ms-flex-pack: start;
4279
  justify-content: flex-start;
4280
  }
@@ -4286,8 +4199,6 @@ tbody.collapse.show {
4286
  }
4287
 
4288
  .navbar-expand .navbar-nav {
4289
- -webkit-box-orient: horizontal;
4290
- -webkit-box-direction: normal;
4291
  -ms-flex-direction: row;
4292
  flex-direction: row;
4293
  }
@@ -4296,11 +4207,6 @@ tbody.collapse.show {
4296
  position: absolute;
4297
  }
4298
 
4299
- .navbar-expand .navbar-nav .dropdown-menu-right {
4300
- right: 0;
4301
- left: auto;
4302
- }
4303
-
4304
  .navbar-expand .navbar-nav .nav-link {
4305
  padding-right: 0.5rem;
4306
  padding-left: 0.5rem;
@@ -4313,7 +4219,6 @@ tbody.collapse.show {
4313
  }
4314
 
4315
  .navbar-expand .navbar-collapse {
4316
- display: -webkit-box !important;
4317
  display: -ms-flexbox !important;
4318
  display: flex !important;
4319
  -ms-flex-preferred-size: auto;
@@ -4324,11 +4229,6 @@ tbody.collapse.show {
4324
  display: none;
4325
  }
4326
 
4327
- .navbar-expand .dropup .dropdown-menu {
4328
- top: auto;
4329
- bottom: 100%;
4330
- }
4331
-
4332
  .navbar-light .navbar-brand {
4333
  color: rgba(0, 0, 0, 0.9);
4334
  }
@@ -4427,11 +4327,8 @@ tbody.collapse.show {
4427
 
4428
  .card {
4429
  position: relative;
4430
- display: -webkit-box;
4431
  display: -ms-flexbox;
4432
  display: flex;
4433
- -webkit-box-orient: vertical;
4434
- -webkit-box-direction: normal;
4435
  -ms-flex-direction: column;
4436
  flex-direction: column;
4437
  min-width: 0;
@@ -4458,7 +4355,6 @@ tbody.collapse.show {
4458
  }
4459
 
4460
  .card-body {
4461
- -webkit-box-flex: 1;
4462
  -ms-flex: 1 1 auto;
4463
  flex: 1 1 auto;
4464
  padding: 1.25rem;
@@ -4549,11 +4445,8 @@ tbody.collapse.show {
4549
  }
4550
 
4551
  .card-deck {
4552
- display: -webkit-box;
4553
  display: -ms-flexbox;
4554
  display: flex;
4555
- -webkit-box-orient: vertical;
4556
- -webkit-box-direction: normal;
4557
  -ms-flex-direction: column;
4558
  flex-direction: column;
4559
  }
@@ -4564,22 +4457,16 @@ tbody.collapse.show {
4564
 
4565
  @media (min-width: 576px) {
4566
  .card-deck {
4567
- -webkit-box-orient: horizontal;
4568
- -webkit-box-direction: normal;
4569
  -ms-flex-flow: row wrap;
4570
  flex-flow: row wrap;
4571
  margin-right: -15px;
4572
  margin-left: -15px;
4573
  }
4574
  .card-deck .card {
4575
- display: -webkit-box;
4576
  display: -ms-flexbox;
4577
  display: flex;
4578
- -webkit-box-flex: 1;
4579
  -ms-flex: 1 0 0%;
4580
  flex: 1 0 0%;
4581
- -webkit-box-orient: vertical;
4582
- -webkit-box-direction: normal;
4583
  -ms-flex-direction: column;
4584
  flex-direction: column;
4585
  margin-right: 15px;
@@ -4589,11 +4476,8 @@ tbody.collapse.show {
4589
  }
4590
 
4591
  .card-group {
4592
- display: -webkit-box;
4593
  display: -ms-flexbox;
4594
  display: flex;
4595
- -webkit-box-orient: vertical;
4596
- -webkit-box-direction: normal;
4597
  -ms-flex-direction: column;
4598
  flex-direction: column;
4599
  }
@@ -4604,13 +4488,10 @@ tbody.collapse.show {
4604
 
4605
  @media (min-width: 576px) {
4606
  .card-group {
4607
- -webkit-box-orient: horizontal;
4608
- -webkit-box-direction: normal;
4609
  -ms-flex-flow: row wrap;
4610
  flex-flow: row wrap;
4611
  }
4612
  .card-group > .card {
4613
- -webkit-box-flex: 1;
4614
  -ms-flex: 1 0 0%;
4615
  flex: 1 0 0%;
4616
  margin-bottom: 0;
@@ -4679,6 +4560,8 @@ tbody.collapse.show {
4679
  -webkit-column-gap: 1.25rem;
4680
  -moz-column-gap: 1.25rem;
4681
  column-gap: 1.25rem;
 
 
4682
  }
4683
  .card-columns .card {
4684
  display: inline-block;
@@ -4686,8 +4569,27 @@ tbody.collapse.show {
4686
  }
4687
  }
4688
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4689
  .breadcrumb {
4690
- display: -webkit-box;
4691
  display: -ms-flexbox;
4692
  display: flex;
4693
  -ms-flex-wrap: wrap;
@@ -4699,10 +4601,13 @@ tbody.collapse.show {
4699
  border-radius: 0.25rem;
4700
  }
4701
 
 
 
 
 
4702
  .breadcrumb-item + .breadcrumb-item::before {
4703
  display: inline-block;
4704
  padding-right: 0.5rem;
4705
- padding-left: 0.5rem;
4706
  color: #6c757d;
4707
  content: "/";
4708
  }
@@ -4720,7 +4625,6 @@ tbody.collapse.show {
4720
  }
4721
 
4722
  .pagination {
4723
- display: -webkit-box;
4724
  display: -ms-flexbox;
4725
  display: flex;
4726
  padding-left: 0;
@@ -4740,6 +4644,7 @@ tbody.collapse.show {
4740
  }
4741
 
4742
  .page-link:hover {
 
4743
  color: #0056b3;
4744
  text-decoration: none;
4745
  background-color: #e9ecef;
@@ -5107,7 +5012,6 @@ tbody.collapse.show {
5107
  }
5108
 
5109
  .progress {
5110
- display: -webkit-box;
5111
  display: -ms-flexbox;
5112
  display: flex;
5113
  height: 1rem;
@@ -5118,22 +5022,25 @@ tbody.collapse.show {
5118
  }
5119
 
5120
  .progress-bar {
5121
- display: -webkit-box;
5122
  display: -ms-flexbox;
5123
  display: flex;
5124
- -webkit-box-orient: vertical;
5125
- -webkit-box-direction: normal;
5126
  -ms-flex-direction: column;
5127
  flex-direction: column;
5128
- -webkit-box-pack: center;
5129
  -ms-flex-pack: center;
5130
  justify-content: center;
5131
  color: #fff;
5132
  text-align: center;
 
5133
  background-color: #007bff;
5134
  transition: width 0.6s ease;
5135
  }
5136
 
 
 
 
 
 
 
5137
  .progress-bar-striped {
5138
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5139
  background-size: 1rem 1rem;
@@ -5145,26 +5052,20 @@ tbody.collapse.show {
5145
  }
5146
 
5147
  .media {
5148
- display: -webkit-box;
5149
  display: -ms-flexbox;
5150
  display: flex;
5151
- -webkit-box-align: start;
5152
  -ms-flex-align: start;
5153
  align-items: flex-start;
5154
  }
5155
 
5156
  .media-body {
5157
- -webkit-box-flex: 1;
5158
  -ms-flex: 1;
5159
  flex: 1;
5160
  }
5161
 
5162
  .list-group {
5163
- display: -webkit-box;
5164
  display: -ms-flexbox;
5165
  display: flex;
5166
- -webkit-box-orient: vertical;
5167
- -webkit-box-direction: normal;
5168
  -ms-flex-direction: column;
5169
  flex-direction: column;
5170
  padding-left: 0;
@@ -5430,16 +5331,20 @@ button.close {
5430
  transform: translate(0, -25%);
5431
  }
5432
 
 
 
 
 
 
 
5433
  .modal.show .modal-dialog {
5434
  -webkit-transform: translate(0, 0);
5435
  transform: translate(0, 0);
5436
  }
5437
 
5438
  .modal-dialog-centered {
5439
- display: -webkit-box;
5440
  display: -ms-flexbox;
5441
  display: flex;
5442
- -webkit-box-align: center;
5443
  -ms-flex-align: center;
5444
  align-items: center;
5445
  min-height: calc(100% - (0.5rem * 2));
@@ -5447,11 +5352,8 @@ button.close {
5447
 
5448
  .modal-content {
5449
  position: relative;
5450
- display: -webkit-box;
5451
  display: -ms-flexbox;
5452
  display: flex;
5453
- -webkit-box-orient: vertical;
5454
- -webkit-box-direction: normal;
5455
  -ms-flex-direction: column;
5456
  flex-direction: column;
5457
  width: 100%;
@@ -5482,13 +5384,10 @@ button.close {
5482
  }
5483
 
5484
  .modal-header {
5485
- display: -webkit-box;
5486
  display: -ms-flexbox;
5487
  display: flex;
5488
- -webkit-box-align: start;
5489
  -ms-flex-align: start;
5490
  align-items: flex-start;
5491
- -webkit-box-pack: justify;
5492
  -ms-flex-pack: justify;
5493
  justify-content: space-between;
5494
  padding: 1rem;
@@ -5509,20 +5408,16 @@ button.close {
5509
 
5510
  .modal-body {
5511
  position: relative;
5512
- -webkit-box-flex: 1;
5513
  -ms-flex: 1 1 auto;
5514
  flex: 1 1 auto;
5515
  padding: 1rem;
5516
  }
5517
 
5518
  .modal-footer {
5519
- display: -webkit-box;
5520
  display: -ms-flexbox;
5521
  display: flex;
5522
- -webkit-box-align: center;
5523
  -ms-flex-align: center;
5524
  align-items: center;
5525
- -webkit-box-pack: end;
5526
  -ms-flex-pack: end;
5527
  justify-content: flex-end;
5528
  padding: 1rem;
@@ -5862,7 +5757,6 @@ button.close {
5862
  .carousel-item {
5863
  position: relative;
5864
  display: none;
5865
- -webkit-box-align: center;
5866
  -ms-flex-align: center;
5867
  align-items: center;
5868
  width: 100%;
@@ -5875,6 +5769,12 @@ button.close {
5875
  perspective: 1000px;
5876
  }
5877
 
 
 
 
 
 
 
5878
  .carousel-item.active,
5879
  .carousel-item-next,
5880
  .carousel-item-prev {
@@ -5929,18 +5829,52 @@ button.close {
5929
  }
5930
  }
5931
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5932
  .carousel-control-prev,
5933
  .carousel-control-next {
5934
  position: absolute;
5935
  top: 0;
5936
  bottom: 0;
5937
- display: -webkit-box;
5938
  display: -ms-flexbox;
5939
  display: flex;
5940
- -webkit-box-align: center;
5941
  -ms-flex-align: center;
5942
  align-items: center;
5943
- -webkit-box-pack: center;
5944
  -ms-flex-pack: center;
5945
  justify-content: center;
5946
  width: 15%;
@@ -5989,10 +5923,8 @@ button.close {
5989
  bottom: 10px;
5990
  left: 0;
5991
  z-index: 15;
5992
- display: -webkit-box;
5993
  display: -ms-flexbox;
5994
  display: flex;
5995
- -webkit-box-pack: center;
5996
  -ms-flex-pack: center;
5997
  justify-content: center;
5998
  padding-left: 0;
@@ -6003,7 +5935,6 @@ button.close {
6003
 
6004
  .carousel-indicators li {
6005
  position: relative;
6006
- -webkit-box-flex: 0;
6007
  -ms-flex: 0 1 auto;
6008
  flex: 0 1 auto;
6009
  width: 30px;
@@ -6305,13 +6236,11 @@ button.bg-dark:focus {
6305
  }
6306
 
6307
  .d-flex {
6308
- display: -webkit-box !important;
6309
  display: -ms-flexbox !important;
6310
  display: flex !important;
6311
  }
6312
 
6313
  .d-inline-flex {
6314
- display: -webkit-inline-box !important;
6315
  display: -ms-inline-flexbox !important;
6316
  display: inline-flex !important;
6317
  }
@@ -6339,12 +6268,10 @@ button.bg-dark:focus {
6339
  display: table-cell !important;
6340
  }
6341
  .d-sm-flex {
6342
- display: -webkit-box !important;
6343
  display: -ms-flexbox !important;
6344
  display: flex !important;
6345
  }
6346
  .d-sm-inline-flex {
6347
- display: -webkit-inline-box !important;
6348
  display: -ms-inline-flexbox !important;
6349
  display: inline-flex !important;
6350
  }
@@ -6373,12 +6300,10 @@ button.bg-dark:focus {
6373
  display: table-cell !important;
6374
  }
6375
  .d-md-flex {
6376
- display: -webkit-box !important;
6377
  display: -ms-flexbox !important;
6378
  display: flex !important;
6379
  }
6380
  .d-md-inline-flex {
6381
- display: -webkit-inline-box !important;
6382
  display: -ms-inline-flexbox !important;
6383
  display: inline-flex !important;
6384
  }
@@ -6407,12 +6332,10 @@ button.bg-dark:focus {
6407
  display: table-cell !important;
6408
  }
6409
  .d-lg-flex {
6410
- display: -webkit-box !important;
6411
  display: -ms-flexbox !important;
6412
  display: flex !important;
6413
  }
6414
  .d-lg-inline-flex {
6415
- display: -webkit-inline-box !important;
6416
  display: -ms-inline-flexbox !important;
6417
  display: inline-flex !important;
6418
  }
@@ -6441,12 +6364,10 @@ button.bg-dark:focus {
6441
  display: table-cell !important;
6442
  }
6443
  .d-xl-flex {
6444
- display: -webkit-box !important;
6445
  display: -ms-flexbox !important;
6446
  display: flex !important;
6447
  }
6448
  .d-xl-inline-flex {
6449
- display: -webkit-inline-box !important;
6450
  display: -ms-inline-flexbox !important;
6451
  display: inline-flex !important;
6452
  }
@@ -6475,12 +6396,10 @@ button.bg-dark:focus {
6475
  display: table-cell !important;
6476
  }
6477
  .d-print-flex {
6478
- display: -webkit-box !important;
6479
  display: -ms-flexbox !important;
6480
  display: flex !important;
6481
  }
6482
  .d-print-inline-flex {
6483
- display: -webkit-inline-box !important;
6484
  display: -ms-inline-flexbox !important;
6485
  display: inline-flex !important;
6486
  }
@@ -6530,29 +6449,21 @@ button.bg-dark:focus {
6530
  }
6531
 
6532
  .flex-row {
6533
- -webkit-box-orient: horizontal !important;
6534
- -webkit-box-direction: normal !important;
6535
  -ms-flex-direction: row !important;
6536
  flex-direction: row !important;
6537
  }
6538
 
6539
  .flex-column {
6540
- -webkit-box-orient: vertical !important;
6541
- -webkit-box-direction: normal !important;
6542
  -ms-flex-direction: column !important;
6543
  flex-direction: column !important;
6544
  }
6545
 
6546
  .flex-row-reverse {
6547
- -webkit-box-orient: horizontal !important;
6548
- -webkit-box-direction: reverse !important;
6549
  -ms-flex-direction: row-reverse !important;
6550
  flex-direction: row-reverse !important;
6551
  }
6552
 
6553
  .flex-column-reverse {
6554
- -webkit-box-orient: vertical !important;
6555
- -webkit-box-direction: reverse !important;
6556
  -ms-flex-direction: column-reverse !important;
6557
  flex-direction: column-reverse !important;
6558
  }
@@ -6572,26 +6483,47 @@ button.bg-dark:focus {
6572
  flex-wrap: wrap-reverse !important;
6573
  }
6574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6575
  .justify-content-start {
6576
- -webkit-box-pack: start !important;
6577
  -ms-flex-pack: start !important;
6578
  justify-content: flex-start !important;
6579
  }
6580
 
6581
  .justify-content-end {
6582
- -webkit-box-pack: end !important;
6583
  -ms-flex-pack: end !important;
6584
  justify-content: flex-end !important;
6585
  }
6586
 
6587
  .justify-content-center {
6588
- -webkit-box-pack: center !important;
6589
  -ms-flex-pack: center !important;
6590
  justify-content: center !important;
6591
  }
6592
 
6593
  .justify-content-between {
6594
- -webkit-box-pack: justify !important;
6595
  -ms-flex-pack: justify !important;
6596
  justify-content: space-between !important;
6597
  }
@@ -6602,31 +6534,26 @@ button.bg-dark:focus {
6602
  }
6603
 
6604
  .align-items-start {
6605
- -webkit-box-align: start !important;
6606
  -ms-flex-align: start !important;
6607
  align-items: flex-start !important;
6608
  }
6609
 
6610
  .align-items-end {
6611
- -webkit-box-align: end !important;
6612
  -ms-flex-align: end !important;
6613
  align-items: flex-end !important;
6614
  }
6615
 
6616
  .align-items-center {
6617
- -webkit-box-align: center !important;
6618
  -ms-flex-align: center !important;
6619
  align-items: center !important;
6620
  }
6621
 
6622
  .align-items-baseline {
6623
- -webkit-box-align: baseline !important;
6624
  -ms-flex-align: baseline !important;
6625
  align-items: baseline !important;
6626
  }
6627
 
6628
  .align-items-stretch {
6629
- -webkit-box-align: stretch !important;
6630
  -ms-flex-align: stretch !important;
6631
  align-items: stretch !important;
6632
  }
@@ -6693,26 +6620,18 @@ button.bg-dark:focus {
6693
 
6694
  @media (min-width: 576px) {
6695
  .flex-sm-row {
6696
- -webkit-box-orient: horizontal !important;
6697
- -webkit-box-direction: normal !important;
6698
  -ms-flex-direction: row !important;
6699
  flex-direction: row !important;
6700
  }
6701
  .flex-sm-column {
6702
- -webkit-box-orient: vertical !important;
6703
- -webkit-box-direction: normal !important;
6704
  -ms-flex-direction: column !important;
6705
  flex-direction: column !important;
6706
  }
6707
  .flex-sm-row-reverse {
6708
- -webkit-box-orient: horizontal !important;
6709
- -webkit-box-direction: reverse !important;
6710
  -ms-flex-direction: row-reverse !important;
6711
  flex-direction: row-reverse !important;
6712
  }
6713
  .flex-sm-column-reverse {
6714
- -webkit-box-orient: vertical !important;
6715
- -webkit-box-direction: reverse !important;
6716
  -ms-flex-direction: column-reverse !important;
6717
  flex-direction: column-reverse !important;
6718
  }
@@ -6728,23 +6647,39 @@ button.bg-dark:focus {
6728
  -ms-flex-wrap: wrap-reverse !important;
6729
  flex-wrap: wrap-reverse !important;
6730
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6731
  .justify-content-sm-start {
6732
- -webkit-box-pack: start !important;
6733
  -ms-flex-pack: start !important;
6734
  justify-content: flex-start !important;
6735
  }
6736
  .justify-content-sm-end {
6737
- -webkit-box-pack: end !important;
6738
  -ms-flex-pack: end !important;
6739
  justify-content: flex-end !important;
6740
  }
6741
  .justify-content-sm-center {
6742
- -webkit-box-pack: center !important;
6743
  -ms-flex-pack: center !important;
6744
  justify-content: center !important;
6745
  }
6746
  .justify-content-sm-between {
6747
- -webkit-box-pack: justify !important;
6748
  -ms-flex-pack: justify !important;
6749
  justify-content: space-between !important;
6750
  }
@@ -6753,27 +6688,22 @@ button.bg-dark:focus {
6753
  justify-content: space-around !important;
6754
  }
6755
  .align-items-sm-start {
6756
- -webkit-box-align: start !important;
6757
  -ms-flex-align: start !important;
6758
  align-items: flex-start !important;
6759
  }
6760
  .align-items-sm-end {
6761
- -webkit-box-align: end !important;
6762
  -ms-flex-align: end !important;
6763
  align-items: flex-end !important;
6764
  }
6765
  .align-items-sm-center {
6766
- -webkit-box-align: center !important;
6767
  -ms-flex-align: center !important;
6768
  align-items: center !important;
6769
  }
6770
  .align-items-sm-baseline {
6771
- -webkit-box-align: baseline !important;
6772
  -ms-flex-align: baseline !important;
6773
  align-items: baseline !important;
6774
  }
6775
  .align-items-sm-stretch {
6776
- -webkit-box-align: stretch !important;
6777
  -ms-flex-align: stretch !important;
6778
  align-items: stretch !important;
6779
  }
@@ -6829,26 +6759,18 @@ button.bg-dark:focus {
6829
 
6830
  @media (min-width: 768px) {
6831
  .flex-md-row {
6832
- -webkit-box-orient: horizontal !important;
6833
- -webkit-box-direction: normal !important;
6834
  -ms-flex-direction: row !important;
6835
  flex-direction: row !important;
6836
  }
6837
  .flex-md-column {
6838
- -webkit-box-orient: vertical !important;
6839
- -webkit-box-direction: normal !important;
6840
  -ms-flex-direction: column !important;
6841
  flex-direction: column !important;
6842
  }
6843
  .flex-md-row-reverse {
6844
- -webkit-box-orient: horizontal !important;
6845
- -webkit-box-direction: reverse !important;
6846
  -ms-flex-direction: row-reverse !important;
6847
  flex-direction: row-reverse !important;
6848
  }
6849
  .flex-md-column-reverse {
6850
- -webkit-box-orient: vertical !important;
6851
- -webkit-box-direction: reverse !important;
6852
  -ms-flex-direction: column-reverse !important;
6853
  flex-direction: column-reverse !important;
6854
  }
@@ -6864,23 +6786,39 @@ button.bg-dark:focus {
6864
  -ms-flex-wrap: wrap-reverse !important;
6865
  flex-wrap: wrap-reverse !important;
6866
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6867
  .justify-content-md-start {
6868
- -webkit-box-pack: start !important;
6869
  -ms-flex-pack: start !important;
6870
  justify-content: flex-start !important;
6871
  }
6872
  .justify-content-md-end {
6873
- -webkit-box-pack: end !important;
6874
  -ms-flex-pack: end !important;
6875
  justify-content: flex-end !important;
6876
  }
6877
  .justify-content-md-center {
6878
- -webkit-box-pack: center !important;
6879
  -ms-flex-pack: center !important;
6880
  justify-content: center !important;
6881
  }
6882
  .justify-content-md-between {
6883
- -webkit-box-pack: justify !important;
6884
  -ms-flex-pack: justify !important;
6885
  justify-content: space-between !important;
6886
  }
@@ -6889,27 +6827,22 @@ button.bg-dark:focus {
6889
  justify-content: space-around !important;
6890
  }
6891
  .align-items-md-start {
6892
- -webkit-box-align: start !important;
6893
  -ms-flex-align: start !important;
6894
  align-items: flex-start !important;
6895
  }
6896
  .align-items-md-end {
6897
- -webkit-box-align: end !important;
6898
  -ms-flex-align: end !important;
6899
  align-items: flex-end !important;
6900
  }
6901
  .align-items-md-center {
6902
- -webkit-box-align: center !important;
6903
  -ms-flex-align: center !important;
6904
  align-items: center !important;
6905
  }
6906
  .align-items-md-baseline {
6907
- -webkit-box-align: baseline !important;
6908
  -ms-flex-align: baseline !important;
6909
  align-items: baseline !important;
6910
  }
6911
  .align-items-md-stretch {
6912
- -webkit-box-align: stretch !important;
6913
  -ms-flex-align: stretch !important;
6914
  align-items: stretch !important;
6915
  }
@@ -6965,26 +6898,18 @@ button.bg-dark:focus {
6965
 
6966
  @media (min-width: 992px) {
6967
  .flex-lg-row {
6968
- -webkit-box-orient: horizontal !important;
6969
- -webkit-box-direction: normal !important;
6970
  -ms-flex-direction: row !important;
6971
  flex-direction: row !important;
6972
  }
6973
  .flex-lg-column {
6974
- -webkit-box-orient: vertical !important;
6975
- -webkit-box-direction: normal !important;
6976
  -ms-flex-direction: column !important;
6977
  flex-direction: column !important;
6978
  }
6979
  .flex-lg-row-reverse {
6980
- -webkit-box-orient: horizontal !important;
6981
- -webkit-box-direction: reverse !important;
6982
  -ms-flex-direction: row-reverse !important;
6983
  flex-direction: row-reverse !important;
6984
  }
6985
  .flex-lg-column-reverse {
6986
- -webkit-box-orient: vertical !important;
6987
- -webkit-box-direction: reverse !important;
6988
  -ms-flex-direction: column-reverse !important;
6989
  flex-direction: column-reverse !important;
6990
  }
@@ -7000,23 +6925,39 @@ button.bg-dark:focus {
7000
  -ms-flex-wrap: wrap-reverse !important;
7001
  flex-wrap: wrap-reverse !important;
7002
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7003
  .justify-content-lg-start {
7004
- -webkit-box-pack: start !important;
7005
  -ms-flex-pack: start !important;
7006
  justify-content: flex-start !important;
7007
  }
7008
  .justify-content-lg-end {
7009
- -webkit-box-pack: end !important;
7010
  -ms-flex-pack: end !important;
7011
  justify-content: flex-end !important;
7012
  }
7013
  .justify-content-lg-center {
7014
- -webkit-box-pack: center !important;
7015
  -ms-flex-pack: center !important;
7016
  justify-content: center !important;
7017
  }
7018
  .justify-content-lg-between {
7019
- -webkit-box-pack: justify !important;
7020
  -ms-flex-pack: justify !important;
7021
  justify-content: space-between !important;
7022
  }
@@ -7025,27 +6966,22 @@ button.bg-dark:focus {
7025
  justify-content: space-around !important;
7026
  }
7027
  .align-items-lg-start {
7028
- -webkit-box-align: start !important;
7029
  -ms-flex-align: start !important;
7030
  align-items: flex-start !important;
7031
  }
7032
  .align-items-lg-end {
7033
- -webkit-box-align: end !important;
7034
  -ms-flex-align: end !important;
7035
  align-items: flex-end !important;
7036
  }
7037
  .align-items-lg-center {
7038
- -webkit-box-align: center !important;
7039
  -ms-flex-align: center !important;
7040
  align-items: center !important;
7041
  }
7042
  .align-items-lg-baseline {
7043
- -webkit-box-align: baseline !important;
7044
  -ms-flex-align: baseline !important;
7045
  align-items: baseline !important;
7046
  }
7047
  .align-items-lg-stretch {
7048
- -webkit-box-align: stretch !important;
7049
  -ms-flex-align: stretch !important;
7050
  align-items: stretch !important;
7051
  }
@@ -7101,26 +7037,18 @@ button.bg-dark:focus {
7101
 
7102
  @media (min-width: 1200px) {
7103
  .flex-xl-row {
7104
- -webkit-box-orient: horizontal !important;
7105
- -webkit-box-direction: normal !important;
7106
  -ms-flex-direction: row !important;
7107
  flex-direction: row !important;
7108
  }
7109
  .flex-xl-column {
7110
- -webkit-box-orient: vertical !important;
7111
- -webkit-box-direction: normal !important;
7112
  -ms-flex-direction: column !important;
7113
  flex-direction: column !important;
7114
  }
7115
  .flex-xl-row-reverse {
7116
- -webkit-box-orient: horizontal !important;
7117
- -webkit-box-direction: reverse !important;
7118
  -ms-flex-direction: row-reverse !important;
7119
  flex-direction: row-reverse !important;
7120
  }
7121
  .flex-xl-column-reverse {
7122
- -webkit-box-orient: vertical !important;
7123
- -webkit-box-direction: reverse !important;
7124
  -ms-flex-direction: column-reverse !important;
7125
  flex-direction: column-reverse !important;
7126
  }
@@ -7136,23 +7064,39 @@ button.bg-dark:focus {
7136
  -ms-flex-wrap: wrap-reverse !important;
7137
  flex-wrap: wrap-reverse !important;
7138
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7139
  .justify-content-xl-start {
7140
- -webkit-box-pack: start !important;
7141
  -ms-flex-pack: start !important;
7142
  justify-content: flex-start !important;
7143
  }
7144
  .justify-content-xl-end {
7145
- -webkit-box-pack: end !important;
7146
  -ms-flex-pack: end !important;
7147
  justify-content: flex-end !important;
7148
  }
7149
  .justify-content-xl-center {
7150
- -webkit-box-pack: center !important;
7151
  -ms-flex-pack: center !important;
7152
  justify-content: center !important;
7153
  }
7154
  .justify-content-xl-between {
7155
- -webkit-box-pack: justify !important;
7156
  -ms-flex-pack: justify !important;
7157
  justify-content: space-between !important;
7158
  }
@@ -7161,27 +7105,22 @@ button.bg-dark:focus {
7161
  justify-content: space-around !important;
7162
  }
7163
  .align-items-xl-start {
7164
- -webkit-box-align: start !important;
7165
  -ms-flex-align: start !important;
7166
  align-items: flex-start !important;
7167
  }
7168
  .align-items-xl-end {
7169
- -webkit-box-align: end !important;
7170
  -ms-flex-align: end !important;
7171
  align-items: flex-end !important;
7172
  }
7173
  .align-items-xl-center {
7174
- -webkit-box-align: center !important;
7175
  -ms-flex-align: center !important;
7176
  align-items: center !important;
7177
  }
7178
  .align-items-xl-baseline {
7179
- -webkit-box-align: baseline !important;
7180
  -ms-flex-align: baseline !important;
7181
  align-items: baseline !important;
7182
  }
7183
  .align-items-xl-stretch {
7184
- -webkit-box-align: stretch !important;
7185
  -ms-flex-align: stretch !important;
7186
  align-items: stretch !important;
7187
  }
@@ -7349,8 +7288,6 @@ button.bg-dark:focus {
7349
  overflow: hidden;
7350
  clip: rect(0, 0, 0, 0);
7351
  white-space: nowrap;
7352
- -webkit-clip-path: inset(50%);
7353
- clip-path: inset(50%);
7354
  border: 0;
7355
  }
7356
 
@@ -7361,8 +7298,22 @@ button.bg-dark:focus {
7361
  overflow: visible;
7362
  clip: auto;
7363
  white-space: normal;
7364
- -webkit-clip-path: none;
7365
- clip-path: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7366
  }
7367
 
7368
  .w-25 {
@@ -7381,6 +7332,10 @@ button.bg-dark:focus {
7381
  width: 100% !important;
7382
  }
7383
 
 
 
 
 
7384
  .h-25 {
7385
  height: 25% !important;
7386
  }
@@ -7397,6 +7352,10 @@ button.bg-dark:focus {
7397
  height: 100% !important;
7398
  }
7399
 
 
 
 
 
7400
  .mw-100 {
7401
  max-width: 100% !important;
7402
  }
@@ -8717,6 +8676,10 @@ button.bg-dark:focus {
8717
  }
8718
  }
8719
 
 
 
 
 
8720
  .text-justify {
8721
  text-align: justify !important;
8722
  }
@@ -8887,10 +8850,22 @@ a.text-dark:hover, a.text-dark:focus {
8887
  color: #1d2124 !important;
8888
  }
8889
 
 
 
 
 
8890
  .text-muted {
8891
  color: #6c757d !important;
8892
  }
8893
 
 
 
 
 
 
 
 
 
8894
  .text-hide {
8895
  font: 0/0 a;
8896
  color: transparent;
@@ -8925,7 +8900,7 @@ a.text-dark:hover, a.text-dark:focus {
8925
  }
8926
  pre,
8927
  blockquote {
8928
- border: 1px solid #999;
8929
  page-break-inside: avoid;
8930
  }
8931
  thead {
@@ -8969,7 +8944,7 @@ a.text-dark:hover, a.text-dark:focus {
8969
  }
8970
  .table-bordered th,
8971
  .table-bordered td {
8972
- border: 1px solid #ddd !important;
8973
  }
8974
  }
8975
  /*# sourceMappingURL=bootstrap.css.map */
1
  /*!
2
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
3
  * Copyright 2011-2018 The Bootstrap Authors
4
  * Copyright 2011-2018 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
232
 
233
  label {
234
  display: inline-block;
235
+ margin-bottom: 0.5rem;
236
  }
237
 
238
  button {
594
  }
595
 
596
  .row {
 
597
  display: -ms-flexbox;
598
  display: flex;
599
  -ms-flex-wrap: wrap;
629
  .col {
630
  -ms-flex-preferred-size: 0;
631
  flex-basis: 0;
 
632
  -ms-flex-positive: 1;
633
  flex-grow: 1;
634
  max-width: 100%;
635
  }
636
 
637
  .col-auto {
 
638
  -ms-flex: 0 0 auto;
639
  flex: 0 0 auto;
640
  width: auto;
642
  }
643
 
644
  .col-1 {
 
645
  -ms-flex: 0 0 8.333333%;
646
  flex: 0 0 8.333333%;
647
  max-width: 8.333333%;
648
  }
649
 
650
  .col-2 {
 
651
  -ms-flex: 0 0 16.666667%;
652
  flex: 0 0 16.666667%;
653
  max-width: 16.666667%;
654
  }
655
 
656
  .col-3 {
 
657
  -ms-flex: 0 0 25%;
658
  flex: 0 0 25%;
659
  max-width: 25%;
660
  }
661
 
662
  .col-4 {
 
663
  -ms-flex: 0 0 33.333333%;
664
  flex: 0 0 33.333333%;
665
  max-width: 33.333333%;
666
  }
667
 
668
  .col-5 {
 
669
  -ms-flex: 0 0 41.666667%;
670
  flex: 0 0 41.666667%;
671
  max-width: 41.666667%;
672
  }
673
 
674
  .col-6 {
 
675
  -ms-flex: 0 0 50%;
676
  flex: 0 0 50%;
677
  max-width: 50%;
678
  }
679
 
680
  .col-7 {
 
681
  -ms-flex: 0 0 58.333333%;
682
  flex: 0 0 58.333333%;
683
  max-width: 58.333333%;
684
  }
685
 
686
  .col-8 {
 
687
  -ms-flex: 0 0 66.666667%;
688
  flex: 0 0 66.666667%;
689
  max-width: 66.666667%;
690
  }
691
 
692
  .col-9 {
 
693
  -ms-flex: 0 0 75%;
694
  flex: 0 0 75%;
695
  max-width: 75%;
696
  }
697
 
698
  .col-10 {
 
699
  -ms-flex: 0 0 83.333333%;
700
  flex: 0 0 83.333333%;
701
  max-width: 83.333333%;
702
  }
703
 
704
  .col-11 {
 
705
  -ms-flex: 0 0 91.666667%;
706
  flex: 0 0 91.666667%;
707
  max-width: 91.666667%;
708
  }
709
 
710
  .col-12 {
 
711
  -ms-flex: 0 0 100%;
712
  flex: 0 0 100%;
713
  max-width: 100%;
714
  }
715
 
716
  .order-first {
 
717
  -ms-flex-order: -1;
718
  order: -1;
719
  }
720
 
721
  .order-last {
 
722
  -ms-flex-order: 13;
723
  order: 13;
724
  }
725
 
726
  .order-0 {
 
727
  -ms-flex-order: 0;
728
  order: 0;
729
  }
730
 
731
  .order-1 {
 
732
  -ms-flex-order: 1;
733
  order: 1;
734
  }
735
 
736
  .order-2 {
 
737
  -ms-flex-order: 2;
738
  order: 2;
739
  }
740
 
741
  .order-3 {
 
742
  -ms-flex-order: 3;
743
  order: 3;
744
  }
745
 
746
  .order-4 {
 
747
  -ms-flex-order: 4;
748
  order: 4;
749
  }
750
 
751
  .order-5 {
 
752
  -ms-flex-order: 5;
753
  order: 5;
754
  }
755
 
756
  .order-6 {
 
757
  -ms-flex-order: 6;
758
  order: 6;
759
  }
760
 
761
  .order-7 {
 
762
  -ms-flex-order: 7;
763
  order: 7;
764
  }
765
 
766
  .order-8 {
 
767
  -ms-flex-order: 8;
768
  order: 8;
769
  }
770
 
771
  .order-9 {
 
772
  -ms-flex-order: 9;
773
  order: 9;
774
  }
775
 
776
  .order-10 {
 
777
  -ms-flex-order: 10;
778
  order: 10;
779
  }
780
 
781
  .order-11 {
 
782
  -ms-flex-order: 11;
783
  order: 11;
784
  }
785
 
786
  .order-12 {
 
787
  -ms-flex-order: 12;
788
  order: 12;
789
  }
836
  .col-sm {
837
  -ms-flex-preferred-size: 0;
838
  flex-basis: 0;
 
839
  -ms-flex-positive: 1;
840
  flex-grow: 1;
841
  max-width: 100%;
842
  }
843
  .col-sm-auto {
 
844
  -ms-flex: 0 0 auto;
845
  flex: 0 0 auto;
846
  width: auto;
847
  max-width: none;
848
  }
849
  .col-sm-1 {
 
850
  -ms-flex: 0 0 8.333333%;
851
  flex: 0 0 8.333333%;
852
  max-width: 8.333333%;
853
  }
854
  .col-sm-2 {
 
855
  -ms-flex: 0 0 16.666667%;
856
  flex: 0 0 16.666667%;
857
  max-width: 16.666667%;
858
  }
859
  .col-sm-3 {
 
860
  -ms-flex: 0 0 25%;
861
  flex: 0 0 25%;
862
  max-width: 25%;
863
  }
864
  .col-sm-4 {
 
865
  -ms-flex: 0 0 33.333333%;
866
  flex: 0 0 33.333333%;
867
  max-width: 33.333333%;
868
  }
869
  .col-sm-5 {
 
870
  -ms-flex: 0 0 41.666667%;
871
  flex: 0 0 41.666667%;
872
  max-width: 41.666667%;
873
  }
874
  .col-sm-6 {
 
875
  -ms-flex: 0 0 50%;
876
  flex: 0 0 50%;
877
  max-width: 50%;
878
  }
879
  .col-sm-7 {
 
880
  -ms-flex: 0 0 58.333333%;
881
  flex: 0 0 58.333333%;
882
  max-width: 58.333333%;
883
  }
884
  .col-sm-8 {
 
885
  -ms-flex: 0 0 66.666667%;
886
  flex: 0 0 66.666667%;
887
  max-width: 66.666667%;
888
  }
889
  .col-sm-9 {
 
890
  -ms-flex: 0 0 75%;
891
  flex: 0 0 75%;
892
  max-width: 75%;
893
  }
894
  .col-sm-10 {
 
895
  -ms-flex: 0 0 83.333333%;
896
  flex: 0 0 83.333333%;
897
  max-width: 83.333333%;
898
  }
899
  .col-sm-11 {
 
900
  -ms-flex: 0 0 91.666667%;
901
  flex: 0 0 91.666667%;
902
  max-width: 91.666667%;
903
  }
904
  .col-sm-12 {
 
905
  -ms-flex: 0 0 100%;
906
  flex: 0 0 100%;
907
  max-width: 100%;
908
  }
909
  .order-sm-first {
 
910
  -ms-flex-order: -1;
911
  order: -1;
912
  }
913
  .order-sm-last {
 
914
  -ms-flex-order: 13;
915
  order: 13;
916
  }
917
  .order-sm-0 {
 
918
  -ms-flex-order: 0;
919
  order: 0;
920
  }
921
  .order-sm-1 {
 
922
  -ms-flex-order: 1;
923
  order: 1;
924
  }
925
  .order-sm-2 {
 
926
  -ms-flex-order: 2;
927
  order: 2;
928
  }
929
  .order-sm-3 {
 
930
  -ms-flex-order: 3;
931
  order: 3;
932
  }
933
  .order-sm-4 {
 
934
  -ms-flex-order: 4;
935
  order: 4;
936
  }
937
  .order-sm-5 {
 
938
  -ms-flex-order: 5;
939
  order: 5;
940
  }
941
  .order-sm-6 {
 
942
  -ms-flex-order: 6;
943
  order: 6;
944
  }
945
  .order-sm-7 {
 
946
  -ms-flex-order: 7;
947
  order: 7;
948
  }
949
  .order-sm-8 {
 
950
  -ms-flex-order: 8;
951
  order: 8;
952
  }
953
  .order-sm-9 {
 
954
  -ms-flex-order: 9;
955
  order: 9;
956
  }
957
  .order-sm-10 {
 
958
  -ms-flex-order: 10;
959
  order: 10;
960
  }
961
  .order-sm-11 {
 
962
  -ms-flex-order: 11;
963
  order: 11;
964
  }
965
  .order-sm-12 {
 
966
  -ms-flex-order: 12;
967
  order: 12;
968
  }
1008
  .col-md {
1009
  -ms-flex-preferred-size: 0;
1010
  flex-basis: 0;
 
1011
  -ms-flex-positive: 1;
1012
  flex-grow: 1;
1013
  max-width: 100%;
1014
  }
1015
  .col-md-auto {
 
1016
  -ms-flex: 0 0 auto;
1017
  flex: 0 0 auto;
1018
  width: auto;
1019
  max-width: none;
1020
  }
1021
  .col-md-1 {
 
1022
  -ms-flex: 0 0 8.333333%;
1023
  flex: 0 0 8.333333%;
1024
  max-width: 8.333333%;
1025
  }
1026
  .col-md-2 {
 
1027
  -ms-flex: 0 0 16.666667%;
1028
  flex: 0 0 16.666667%;
1029
  max-width: 16.666667%;
1030
  }
1031
  .col-md-3 {
 
1032
  -ms-flex: 0 0 25%;
1033
  flex: 0 0 25%;
1034
  max-width: 25%;
1035
  }
1036
  .col-md-4 {
 
1037
  -ms-flex: 0 0 33.333333%;
1038
  flex: 0 0 33.333333%;
1039
  max-width: 33.333333%;
1040
  }
1041
  .col-md-5 {
 
1042
  -ms-flex: 0 0 41.666667%;
1043
  flex: 0 0 41.666667%;
1044
  max-width: 41.666667%;
1045
  }
1046
  .col-md-6 {
 
1047
  -ms-flex: 0 0 50%;
1048
  flex: 0 0 50%;
1049
  max-width: 50%;
1050
  }
1051
  .col-md-7 {
 
1052
  -ms-flex: 0 0 58.333333%;
1053
  flex: 0 0 58.333333%;
1054
  max-width: 58.333333%;
1055
  }
1056
  .col-md-8 {
 
1057
  -ms-flex: 0 0 66.666667%;
1058
  flex: 0 0 66.666667%;
1059
  max-width: 66.666667%;
1060
  }
1061
  .col-md-9 {
 
1062
  -ms-flex: 0 0 75%;
1063
  flex: 0 0 75%;
1064
  max-width: 75%;
1065
  }
1066
  .col-md-10 {
 
1067
  -ms-flex: 0 0 83.333333%;
1068
  flex: 0 0 83.333333%;
1069
  max-width: 83.333333%;
1070
  }
1071
  .col-md-11 {
 
1072
  -ms-flex: 0 0 91.666667%;
1073
  flex: 0 0 91.666667%;
1074
  max-width: 91.666667%;
1075
  }
1076
  .col-md-12 {
 
1077
  -ms-flex: 0 0 100%;
1078
  flex: 0 0 100%;
1079
  max-width: 100%;
1080
  }
1081
  .order-md-first {
 
1082
  -ms-flex-order: -1;
1083
  order: -1;
1084
  }
1085
  .order-md-last {
 
1086
  -ms-flex-order: 13;
1087
  order: 13;
1088
  }
1089
  .order-md-0 {
 
1090
  -ms-flex-order: 0;
1091
  order: 0;
1092
  }
1093
  .order-md-1 {
 
1094
  -ms-flex-order: 1;
1095
  order: 1;
1096
  }
1097
  .order-md-2 {
 
1098
  -ms-flex-order: 2;
1099
  order: 2;
1100
  }
1101
  .order-md-3 {
 
1102
  -ms-flex-order: 3;
1103
  order: 3;
1104
  }
1105
  .order-md-4 {
 
1106
  -ms-flex-order: 4;
1107
  order: 4;
1108
  }
1109
  .order-md-5 {
 
1110
  -ms-flex-order: 5;
1111
  order: 5;
1112
  }
1113
  .order-md-6 {
 
1114
  -ms-flex-order: 6;
1115
  order: 6;
1116
  }
1117
  .order-md-7 {
 
1118
  -ms-flex-order: 7;
1119
  order: 7;
1120
  }
1121
  .order-md-8 {
 
1122
  -ms-flex-order: 8;
1123
  order: 8;
1124
  }
1125
  .order-md-9 {
 
1126
  -ms-flex-order: 9;
1127
  order: 9;
1128
  }
1129
  .order-md-10 {
 
1130
  -ms-flex-order: 10;
1131
  order: 10;
1132
  }
1133
  .order-md-11 {
 
1134
  -ms-flex-order: 11;
1135
  order: 11;
1136
  }
1137
  .order-md-12 {
 
1138
  -ms-flex-order: 12;
1139
  order: 12;
1140
  }
1180
  .col-lg {
1181
  -ms-flex-preferred-size: 0;
1182
  flex-basis: 0;
 
1183
  -ms-flex-positive: 1;
1184
  flex-grow: 1;
1185
  max-width: 100%;
1186
  }
1187
  .col-lg-auto {
 
1188
  -ms-flex: 0 0 auto;
1189
  flex: 0 0 auto;
1190
  width: auto;
1191
  max-width: none;
1192
  }
1193
  .col-lg-1 {
 
1194
  -ms-flex: 0 0 8.333333%;
1195
  flex: 0 0 8.333333%;
1196
  max-width: 8.333333%;
1197
  }
1198
  .col-lg-2 {
 
1199
  -ms-flex: 0 0 16.666667%;
1200
  flex: 0 0 16.666667%;
1201
  max-width: 16.666667%;
1202
  }
1203
  .col-lg-3 {
 
1204
  -ms-flex: 0 0 25%;
1205
  flex: 0 0 25%;
1206
  max-width: 25%;
1207
  }
1208
  .col-lg-4 {
 
1209
  -ms-flex: 0 0 33.333333%;
1210
  flex: 0 0 33.333333%;
1211
  max-width: 33.333333%;
1212
  }
1213
  .col-lg-5 {
 
1214
  -ms-flex: 0 0 41.666667%;
1215
  flex: 0 0 41.666667%;
1216
  max-width: 41.666667%;
1217
  }
1218
  .col-lg-6 {
 
1219
  -ms-flex: 0 0 50%;
1220
  flex: 0 0 50%;
1221
  max-width: 50%;
1222
  }
1223
  .col-lg-7 {
 
1224
  -ms-flex: 0 0 58.333333%;
1225
  flex: 0 0 58.333333%;
1226
  max-width: 58.333333%;
1227
  }
1228
  .col-lg-8 {
 
1229
  -ms-flex: 0 0 66.666667%;
1230
  flex: 0 0 66.666667%;
1231
  max-width: 66.666667%;
1232
  }
1233
  .col-lg-9 {
 
1234
  -ms-flex: 0 0 75%;
1235
  flex: 0 0 75%;
1236
  max-width: 75%;
1237
  }
1238
  .col-lg-10 {
 
1239
  -ms-flex: 0 0 83.333333%;
1240
  flex: 0 0 83.333333%;
1241
  max-width: 83.333333%;
1242
  }
1243
  .col-lg-11 {
 
1244
  -ms-flex: 0 0 91.666667%;
1245
  flex: 0 0 91.666667%;
1246
  max-width: 91.666667%;
1247
  }
1248
  .col-lg-12 {
 
1249
  -ms-flex: 0 0 100%;
1250
  flex: 0 0 100%;
1251
  max-width: 100%;
1252
  }
1253
  .order-lg-first {
 
1254
  -ms-flex-order: -1;
1255
  order: -1;
1256
  }
1257
  .order-lg-last {
 
1258
  -ms-flex-order: 13;
1259
  order: 13;
1260
  }
1261
  .order-lg-0 {
 
1262
  -ms-flex-order: 0;
1263
  order: 0;
1264
  }
1265
  .order-lg-1 {
 
1266
  -ms-flex-order: 1;
1267
  order: 1;
1268
  }
1269
  .order-lg-2 {
 
1270
  -ms-flex-order: 2;
1271
  order: 2;
1272
  }
1273
  .order-lg-3 {
 
1274
  -ms-flex-order: 3;
1275
  order: 3;
1276
  }
1277
  .order-lg-4 {
 
1278
  -ms-flex-order: 4;
1279
  order: 4;
1280
  }
1281
  .order-lg-5 {
 
1282
  -ms-flex-order: 5;
1283
  order: 5;
1284
  }
1285
  .order-lg-6 {
 
1286
  -ms-flex-order: 6;
1287
  order: 6;
1288
  }
1289
  .order-lg-7 {
 
1290
  -ms-flex-order: 7;
1291
  order: 7;
1292
  }
1293
  .order-lg-8 {
 
1294
  -ms-flex-order: 8;
1295
  order: 8;
1296
  }
1297
  .order-lg-9 {
 
1298
  -ms-flex-order: 9;
1299
  order: 9;
1300
  }
1301
  .order-lg-10 {
 
1302
  -ms-flex-order: 10;
1303
  order: 10;
1304
  }
1305
  .order-lg-11 {
 
1306
  -ms-flex-order: 11;
1307
  order: 11;
1308
  }
1309
  .order-lg-12 {
 
1310
  -ms-flex-order: 12;
1311
  order: 12;
1312
  }
1352
  .col-xl {
1353
  -ms-flex-preferred-size: 0;
1354
  flex-basis: 0;
 
1355
  -ms-flex-positive: 1;
1356
  flex-grow: 1;
1357
  max-width: 100%;
1358
  }
1359
  .col-xl-auto {
 
1360
  -ms-flex: 0 0 auto;
1361
  flex: 0 0 auto;
1362
  width: auto;
1363
  max-width: none;
1364
  }
1365
  .col-xl-1 {
 
1366
  -ms-flex: 0 0 8.333333%;
1367
  flex: 0 0 8.333333%;
1368
  max-width: 8.333333%;
1369
  }
1370
  .col-xl-2 {
 
1371
  -ms-flex: 0 0 16.666667%;
1372
  flex: 0 0 16.666667%;
1373
  max-width: 16.666667%;
1374
  }
1375
  .col-xl-3 {
 
1376
  -ms-flex: 0 0 25%;
1377
  flex: 0 0 25%;
1378
  max-width: 25%;
1379
  }
1380
  .col-xl-4 {
 
1381
  -ms-flex: 0 0 33.333333%;
1382
  flex: 0 0 33.333333%;
1383
  max-width: 33.333333%;
1384
  }
1385
  .col-xl-5 {
 
1386
  -ms-flex: 0 0 41.666667%;
1387
  flex: 0 0 41.666667%;
1388
  max-width: 41.666667%;
1389
  }
1390
  .col-xl-6 {
 
1391
  -ms-flex: 0 0 50%;
1392
  flex: 0 0 50%;
1393
  max-width: 50%;
1394
  }
1395
  .col-xl-7 {
 
1396
  -ms-flex: 0 0 58.333333%;
1397
  flex: 0 0 58.333333%;
1398
  max-width: 58.333333%;
1399
  }
1400
  .col-xl-8 {
 
1401
  -ms-flex: 0 0 66.666667%;
1402
  flex: 0 0 66.666667%;
1403
  max-width: 66.666667%;
1404
  }
1405
  .col-xl-9 {
 
1406
  -ms-flex: 0 0 75%;
1407
  flex: 0 0 75%;
1408
  max-width: 75%;
1409
  }
1410
  .col-xl-10 {
 
1411
  -ms-flex: 0 0 83.333333%;
1412
  flex: 0 0 83.333333%;
1413
  max-width: 83.333333%;
1414
  }
1415
  .col-xl-11 {
 
1416
  -ms-flex: 0 0 91.666667%;
1417
  flex: 0 0 91.666667%;
1418
  max-width: 91.666667%;
1419
  }
1420
  .col-xl-12 {
 
1421
  -ms-flex: 0 0 100%;
1422
  flex: 0 0 100%;
1423
  max-width: 100%;
1424
  }
1425
  .order-xl-first {
 
1426
  -ms-flex-order: -1;
1427
  order: -1;
1428
  }
1429
  .order-xl-last {
 
1430
  -ms-flex-order: 13;
1431
  order: 13;
1432
  }
1433
  .order-xl-0 {
 
1434
  -ms-flex-order: 0;
1435
  order: 0;
1436
  }
1437
  .order-xl-1 {
 
1438
  -ms-flex-order: 1;
1439
  order: 1;
1440
  }
1441
  .order-xl-2 {
 
1442
  -ms-flex-order: 2;
1443
  order: 2;
1444
  }
1445
  .order-xl-3 {
 
1446
  -ms-flex-order: 3;
1447
  order: 3;
1448
  }
1449
  .order-xl-4 {
 
1450
  -ms-flex-order: 4;
1451
  order: 4;
1452
  }
1453
  .order-xl-5 {
 
1454
  -ms-flex-order: 5;
1455
  order: 5;
1456
  }
1457
  .order-xl-6 {
 
1458
  -ms-flex-order: 6;
1459
  order: 6;
1460
  }
1461
  .order-xl-7 {
 
1462
  -ms-flex-order: 7;
1463
  order: 7;
1464
  }
1465
  .order-xl-8 {
 
1466
  -ms-flex-order: 8;
1467
  order: 8;
1468
  }
1469
  .order-xl-9 {
 
1470
  -ms-flex-order: 9;
1471
  order: 9;
1472
  }
1473
  .order-xl-10 {
 
1474
  -ms-flex-order: 10;
1475
  order: 10;
1476
  }
1477
  .order-xl-11 {
 
1478
  -ms-flex-order: 11;
1479
  order: 11;
1480
  }
1481
  .order-xl-12 {
 
1482
  -ms-flex-order: 12;
1483
  order: 12;
1484
  }
1566
  border-bottom-width: 2px;
1567
  }
1568
 
1569
+ .table-borderless th,
1570
+ .table-borderless td,
1571
+ .table-borderless thead th,
1572
+ .table-borderless tbody + tbody {
1573
+ border: 0;
1574
+ }
1575
+
1576
  .table-striped tbody tr:nth-of-type(odd) {
1577
  background-color: rgba(0, 0, 0, 0.05);
1578
  }
1829
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
1830
  }
1831
 
1832
+ @media screen and (prefers-reduced-motion: reduce) {
1833
+ .form-control {
1834
+ transition: none;
1835
+ }
1836
+ }
1837
+
1838
  .form-control::-ms-expand {
1839
  background-color: transparent;
1840
  border: 0;
1922
  padding-bottom: 0.375rem;
1923
  margin-bottom: 0;
1924
  line-height: 1.5;
1925
+ color: #212529;
1926
  background-color: transparent;
1927
  border: solid transparent;
1928
  border-width: 1px 0;
1989
  }
1990
 
1991
  .form-row {
 
1992
  display: -ms-flexbox;
1993
  display: flex;
1994
  -ms-flex-wrap: wrap;
2024
  }
2025
 
2026
  .form-check-inline {
 
2027
  display: -ms-inline-flexbox;
2028
  display: inline-flex;
 
2029
  -ms-flex-align: center;
2030
  align-items: center;
2031
  padding-left: 0;
2234
  }
2235
 
2236
  .form-inline {
 
2237
  display: -ms-flexbox;
2238
  display: flex;
 
 
2239
  -ms-flex-flow: row wrap;
2240
  flex-flow: row wrap;
 
2241
  -ms-flex-align: center;
2242
  align-items: center;
2243
  }
2248
 
2249
  @media (min-width: 576px) {
2250
  .form-inline label {
 
2251
  display: -ms-flexbox;
2252
  display: flex;
 
2253
  -ms-flex-align: center;
2254
  align-items: center;
 
2255
  -ms-flex-pack: center;
2256
  justify-content: center;
2257
  margin-bottom: 0;
2258
  }
2259
  .form-inline .form-group {
 
2260
  display: -ms-flexbox;
2261
  display: flex;
 
2262
  -ms-flex: 0 0 auto;
2263
  flex: 0 0 auto;
 
 
2264
  -ms-flex-flow: row wrap;
2265
  flex-flow: row wrap;
 
2266
  -ms-flex-align: center;
2267
  align-items: center;
2268
  margin-bottom: 0;
2275
  .form-inline .form-control-plaintext {
2276
  display: inline-block;
2277
  }
2278
+ .form-inline .input-group,
2279
+ .form-inline .custom-select {
2280
  width: auto;
2281
  }
2282
  .form-inline .form-check {
 
2283
  display: -ms-flexbox;
2284
  display: flex;
 
2285
  -ms-flex-align: center;
2286
  align-items: center;
 
2287
  -ms-flex-pack: center;
2288
  justify-content: center;
2289
  width: auto;
2296
  margin-left: 0;
2297
  }
2298
  .form-inline .custom-control {
 
2299
  -ms-flex-align: center;
2300
  align-items: center;
 
2301
  -ms-flex-pack: center;
2302
  justify-content: center;
2303
  }
2324
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
2325
  }
2326
 
2327
+ @media screen and (prefers-reduced-motion: reduce) {
2328
+ .btn {
2329
+ transition: none;
2330
+ }
2331
+ }
2332
+
2333
  .btn:hover, .btn:focus {
2334
  text-decoration: none;
2335
  }
2921
 
2922
  .btn-link:disabled, .btn-link.disabled {
2923
  color: #6c757d;
2924
+ pointer-events: none;
2925
  }
2926
 
2927
  .btn-lg, .btn-group-lg > .btn {
2954
  }
2955
 
2956
  .fade {
 
2957
  transition: opacity 0.15s linear;
2958
  }
2959
 
2960
+ @media screen and (prefers-reduced-motion: reduce) {
2961
+ .fade {
2962
+ transition: none;
2963
+ }
 
 
 
 
 
 
2964
  }
2965
 
2966
+ .fade:not(.show) {
2967
+ opacity: 0;
2968
  }
2969
 
2970
+ .collapse:not(.show) {
2971
+ display: none;
2972
  }
2973
 
2974
  .collapsing {
2978
  transition: height 0.35s ease;
2979
  }
2980
 
2981
+ @media screen and (prefers-reduced-motion: reduce) {
2982
+ .collapsing {
2983
+ transition: none;
2984
+ }
2985
+ }
2986
+
2987
  .dropup,
2988
+ .dropright,
2989
+ .dropdown,
2990
+ .dropleft {
2991
  position: relative;
2992
  }
2993
 
3028
  border-radius: 0.25rem;
3029
  }
3030
 
3031
+ .dropdown-menu-right {
3032
+ right: 0;
3033
+ left: auto;
3034
+ }
3035
+
3036
  .dropup .dropdown-menu {
3037
+ top: auto;
3038
+ bottom: 100%;
3039
  margin-top: 0;
3040
  margin-bottom: 0.125rem;
3041
  }
3058
  }
3059
 
3060
  .dropright .dropdown-menu {
3061
+ top: 0;
3062
+ right: auto;
3063
+ left: 100%;
3064
  margin-top: 0;
3065
  margin-left: 0.125rem;
3066
  }
3073
  vertical-align: 0.255em;
3074
  content: "";
3075
  border-top: 0.3em solid transparent;
3076
+ border-right: 0;
3077
  border-bottom: 0.3em solid transparent;
3078
  border-left: 0.3em solid;
3079
  }
3087
  }
3088
 
3089
  .dropleft .dropdown-menu {
3090
+ top: 0;
3091
+ right: 100%;
3092
+ left: auto;
3093
  margin-top: 0;
3094
  margin-right: 0.125rem;
3095
  }
3127
  vertical-align: 0;
3128
  }
3129
 
3130
+ .dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
3131
+ right: auto;
3132
+ bottom: auto;
3133
+ }
3134
+
3135
  .dropdown-divider {
3136
  height: 0;
3137
  margin: 0.5rem 0;
3182
  white-space: nowrap;
3183
  }
3184
 
3185
+ .dropdown-item-text {
3186
+ display: block;
3187
+ padding: 0.25rem 1.5rem;
3188
+ color: #212529;
3189
+ }
3190
+
3191
  .btn-group,
3192
  .btn-group-vertical {
3193
  position: relative;
 
3194
  display: -ms-inline-flexbox;
3195
  display: inline-flex;
3196
  vertical-align: middle;
3199
  .btn-group > .btn,
3200
  .btn-group-vertical > .btn {
3201
  position: relative;
 
3202
  -ms-flex: 0 1 auto;
3203
  flex: 0 1 auto;
3204
  }
3227
  }
3228
 
3229
  .btn-toolbar {
 
3230
  display: -ms-flexbox;
3231
  display: flex;
3232
  -ms-flex-wrap: wrap;
3233
  flex-wrap: wrap;
 
3234
  -ms-flex-pack: start;
3235
  justify-content: flex-start;
3236
  }
3260
  padding-left: 0.5625rem;
3261
  }
3262
 
3263
+ .dropdown-toggle-split::after,
3264
+ .dropup .dropdown-toggle-split::after,
3265
+ .dropright .dropdown-toggle-split::after {
3266
  margin-left: 0;
3267
  }
3268
 
3269
+ .dropleft .dropdown-toggle-split::before {
3270
+ margin-right: 0;
3271
+ }
3272
+
3273
  .btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
3274
  padding-right: 0.375rem;
3275
  padding-left: 0.375rem;
3281
  }
3282
 
3283
  .btn-group-vertical {
 
 
3284
  -ms-flex-direction: column;
3285
  flex-direction: column;
 
3286
  -ms-flex-align: start;
3287
  align-items: flex-start;
 
3288
  -ms-flex-pack: center;
3289
  justify-content: center;
3290
  }
3330
 
3331
  .input-group {
3332
  position: relative;
 
3333
  display: -ms-flexbox;
3334
  display: flex;
3335
  -ms-flex-wrap: wrap;
3336
  flex-wrap: wrap;
 
3337
  -ms-flex-align: stretch;
3338
  align-items: stretch;
3339
  width: 100%;
3343
  .input-group > .custom-select,
3344
  .input-group > .custom-file {
3345
  position: relative;
 
3346
  -ms-flex: 1 1 auto;
3347
  flex: 1 1 auto;
3348
  width: 1%;
3380
  }
3381
 
3382
  .input-group > .custom-file {
 
3383
  display: -ms-flexbox;
3384
  display: flex;
 
3385
  -ms-flex-align: center;
3386
  align-items: center;
3387
  }
3388
 
3389
  .input-group > .custom-file:not(:last-child) .custom-file-label,
3390
+ .input-group > .custom-file:not(:last-child) .custom-file-label::after {
3391
  border-top-right-radius: 0;
3392
  border-bottom-right-radius: 0;
3393
  }
3394
 
3395
  .input-group > .custom-file:not(:first-child) .custom-file-label,
3396
+ .input-group > .custom-file:not(:first-child) .custom-file-label::after {
3397
  border-top-left-radius: 0;
3398
  border-bottom-left-radius: 0;
3399
  }
3400
 
3401
  .input-group-prepend,
3402
  .input-group-append {
 
3403
  display: -ms-flexbox;
3404
  display: flex;
3405
  }
3430
  }
3431
 
3432
  .input-group-text {
 
3433
  display: -ms-flexbox;
3434
  display: flex;
 
3435
  -ms-flex-align: center;
3436
  align-items: center;
3437
  padding: 0.375rem 0.75rem;
3480
  }
3481
 
3482
  .custom-control-inline {
 
3483
  display: -ms-inline-flexbox;
3484
  display: inline-flex;
3485
  margin-right: 1rem;
3664
  opacity: 0;
3665
  }
3666
 
3667
+ .custom-file-input:focus ~ .custom-file-label {
3668
  border-color: #80bdff;
3669
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
3670
  }
3671
 
3672
+ .custom-file-input:focus ~ .custom-file-label::after {
3673
  border-color: #80bdff;
3674
  }
3675
 
3709
  border-radius: 0 0.25rem 0.25rem 0;
3710
  }
3711
 
3712
+ .custom-range {
3713
+ width: 100%;
3714
+ padding-left: 0;
3715
+ background-color: transparent;
3716
+ -webkit-appearance: none;
3717
+ -moz-appearance: none;
3718
+ appearance: none;
3719
+ }
3720
+
3721
+ .custom-range:focus {
3722
+ outline: none;
3723
+ }
3724
+
3725
+ .custom-range::-moz-focus-outer {
3726
+ border: 0;
3727
+ }
3728
+
3729
+ .custom-range::-webkit-slider-thumb {
3730
+ width: 1rem;
3731
+ height: 1rem;
3732
+ margin-top: -0.25rem;
3733
+ background-color: #007bff;
3734
+ border: 0;
3735
+ border-radius: 1rem;
3736
+ -webkit-appearance: none;
3737
+ appearance: none;
3738
+ }
3739
+
3740
+ .custom-range::-webkit-slider-thumb:focus {
3741
+ outline: none;
3742
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
3743
+ }
3744
+
3745
+ .custom-range::-webkit-slider-thumb:active {
3746
+ background-color: #b3d7ff;
3747
+ }
3748
+
3749
+ .custom-range::-webkit-slider-runnable-track {
3750
+ width: 100%;
3751
+ height: 0.5rem;
3752
+ color: transparent;
3753
+ cursor: pointer;
3754
+ background-color: #dee2e6;
3755
+ border-color: transparent;
3756
+ border-radius: 1rem;
3757
+ }
3758
+
3759
+ .custom-range::-moz-range-thumb {
3760
+ width: 1rem;
3761
+ height: 1rem;
3762
+ background-color: #007bff;
3763
+ border: 0;
3764
+ border-radius: 1rem;
3765
+ -moz-appearance: none;
3766
+ appearance: none;
3767
+ }
3768
+
3769
+ .custom-range::-moz-range-thumb:focus {
3770
+ outline: none;
3771
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
3772
+ }
3773
+
3774
+ .custom-range::-moz-range-thumb:active {
3775
+ background-color: #b3d7ff;
3776
+ }
3777
+
3778
+ .custom-range::-moz-range-track {
3779
+ width: 100%;
3780
+ height: 0.5rem;
3781
+ color: transparent;
3782
+ cursor: pointer;
3783
+ background-color: #dee2e6;
3784
+ border-color: transparent;
3785
+ border-radius: 1rem;
3786
+ }
3787
+
3788
+ .custom-range::-ms-thumb {
3789
+ width: 1rem;
3790
+ height: 1rem;
3791
+ background-color: #007bff;
3792
+ border: 0;
3793
+ border-radius: 1rem;
3794
+ appearance: none;
3795
+ }
3796
+
3797
+ .custom-range::-ms-thumb:focus {
3798
+ outline: none;
3799
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
3800
+ }
3801
+
3802
+ .custom-range::-ms-thumb:active {
3803
+ background-color: #b3d7ff;
3804
+ }
3805
+
3806
+ .custom-range::-ms-track {
3807
+ width: 100%;
3808
+ height: 0.5rem;
3809
+ color: transparent;
3810
+ cursor: pointer;
3811
+ background-color: transparent;
3812
+ border-color: transparent;
3813
+ border-width: 0.5rem;
3814
+ }
3815
+
3816
+ .custom-range::-ms-fill-lower {
3817
+ background-color: #dee2e6;
3818
+ border-radius: 1rem;
3819
+ }
3820
+
3821
+ .custom-range::-ms-fill-upper {
3822
+ margin-right: 15px;
3823
+ background-color: #dee2e6;
3824
+ border-radius: 1rem;
3825
+ }
3826
+
3827
  .nav {
 
3828
  display: -ms-flexbox;
3829
  display: flex;
3830
  -ms-flex-wrap: wrap;
3895
  }
3896
 
3897
  .nav-fill .nav-item {
 
3898
  -ms-flex: 1 1 auto;
3899
  flex: 1 1 auto;
3900
  text-align: center;
3903
  .nav-justified .nav-item {
3904
  -ms-flex-preferred-size: 0;
3905
  flex-basis: 0;
 
3906
  -ms-flex-positive: 1;
3907
  flex-grow: 1;
3908
  text-align: center;
3918
 
3919
  .navbar {
3920
  position: relative;
 
3921
  display: -ms-flexbox;
3922
  display: flex;
3923
  -ms-flex-wrap: wrap;
3924
  flex-wrap: wrap;
 
3925
  -ms-flex-align: center;
3926
  align-items: center;
 
3927
  -ms-flex-pack: justify;
3928
  justify-content: space-between;
3929
  padding: 0.5rem 1rem;
3931
 
3932
  .navbar > .container,
3933
  .navbar > .container-fluid {
 
3934
  display: -ms-flexbox;
3935
  display: flex;
3936
  -ms-flex-wrap: wrap;
3937
  flex-wrap: wrap;
 
3938
  -ms-flex-align: center;
3939
  align-items: center;
 
3940
  -ms-flex-pack: justify;
3941
  justify-content: space-between;
3942
  }
3956
  }
3957
 
3958
  .navbar-nav {
 
3959
  display: -ms-flexbox;
3960
  display: flex;
 
 
3961
  -ms-flex-direction: column;
3962
  flex-direction: column;
3963
  padding-left: 0;
3984
  .navbar-collapse {
3985
  -ms-flex-preferred-size: 100%;
3986
  flex-basis: 100%;
 
3987
  -ms-flex-positive: 1;
3988
  flex-grow: 1;
 
3989
  -ms-flex-align: center;
3990
  align-items: center;
3991
  }
4027
 
4028
  @media (min-width: 576px) {
4029
  .navbar-expand-sm {
 
 
4030
  -ms-flex-flow: row nowrap;
4031
  flex-flow: row nowrap;
 
4032
  -ms-flex-pack: start;
4033
  justify-content: flex-start;
4034
  }
4035
  .navbar-expand-sm .navbar-nav {
 
 
4036
  -ms-flex-direction: row;
4037
  flex-direction: row;
4038
  }
4039
  .navbar-expand-sm .navbar-nav .dropdown-menu {
4040
  position: absolute;
4041
  }
 
 
 
 
4042
  .navbar-expand-sm .navbar-nav .nav-link {
4043
  padding-right: 0.5rem;
4044
  padding-left: 0.5rem;
4049
  flex-wrap: nowrap;
4050
  }
4051
  .navbar-expand-sm .navbar-collapse {
 
4052
  display: -ms-flexbox !important;
4053
  display: flex !important;
4054
  -ms-flex-preferred-size: auto;
4057
  .navbar-expand-sm .navbar-toggler {
4058
  display: none;
4059
  }
 
 
 
 
4060
  }
4061
 
4062
  @media (max-width: 767.98px) {
4069
 
4070
  @media (min-width: 768px) {
4071
  .navbar-expand-md {
 
 
4072
  -ms-flex-flow: row nowrap;
4073
  flex-flow: row nowrap;
 
4074
  -ms-flex-pack: start;
4075
  justify-content: flex-start;
4076
  }
4077
  .navbar-expand-md .navbar-nav {
 
 
4078
  -ms-flex-direction: row;
4079
  flex-direction: row;
4080
  }
4081
  .navbar-expand-md .navbar-nav .dropdown-menu {
4082
  position: absolute;
4083
  }
 
 
 
 
4084
  .navbar-expand-md .navbar-nav .nav-link {
4085
  padding-right: 0.5rem;
4086
  padding-left: 0.5rem;
4091
  flex-wrap: nowrap;
4092
  }
4093
  .navbar-expand-md .navbar-collapse {
 
4094
  display: -ms-flexbox !important;
4095
  display: flex !important;
4096
  -ms-flex-preferred-size: auto;
4099
  .navbar-expand-md .navbar-toggler {
4100
  display: none;
4101
  }
 
 
 
 
4102
  }
4103
 
4104
  @media (max-width: 991.98px) {
4111
 
4112
  @media (min-width: 992px) {
4113
  .navbar-expand-lg {
 
 
4114
  -ms-flex-flow: row nowrap;
4115
  flex-flow: row nowrap;
 
4116
  -ms-flex-pack: start;
4117
  justify-content: flex-start;
4118
  }
4119
  .navbar-expand-lg .navbar-nav {
 
 
4120
  -ms-flex-direction: row;
4121
  flex-direction: row;
4122
  }
4123
  .navbar-expand-lg .navbar-nav .dropdown-menu {
4124
  position: absolute;
4125
  }
 
 
 
 
4126
  .navbar-expand-lg .navbar-nav .nav-link {
4127
  padding-right: 0.5rem;
4128
  padding-left: 0.5rem;
4133
  flex-wrap: nowrap;
4134
  }
4135
  .navbar-expand-lg .navbar-collapse {
 
4136
  display: -ms-flexbox !important;
4137
  display: flex !important;
4138
  -ms-flex-preferred-size: auto;
4141
  .navbar-expand-lg .navbar-toggler {
4142
  display: none;
4143
  }
 
 
 
 
4144
  }
4145
 
4146
  @media (max-width: 1199.98px) {
4153
 
4154
  @media (min-width: 1200px) {
4155
  .navbar-expand-xl {
 
 
4156
  -ms-flex-flow: row nowrap;
4157
  flex-flow: row nowrap;
 
4158
  -ms-flex-pack: start;
4159
  justify-content: flex-start;
4160
  }
4161
  .navbar-expand-xl .navbar-nav {
 
 
4162
  -ms-flex-direction: row;
4163
  flex-direction: row;
4164
  }
4165
  .navbar-expand-xl .navbar-nav .dropdown-menu {
4166
  position: absolute;
4167
  }
 
 
 
 
4168
  .navbar-expand-xl .navbar-nav .nav-link {
4169
  padding-right: 0.5rem;
4170
  padding-left: 0.5rem;
4175
  flex-wrap: nowrap;
4176
  }
4177
  .navbar-expand-xl .navbar-collapse {
 
4178
  display: -ms-flexbox !important;
4179
  display: flex !important;
4180
  -ms-flex-preferred-size: auto;
4183
  .navbar-expand-xl .navbar-toggler {
4184
  display: none;
4185
  }
 
 
 
 
4186
  }
4187
 
4188
  .navbar-expand {
 
 
4189
  -ms-flex-flow: row nowrap;
4190
  flex-flow: row nowrap;
 
4191
  -ms-flex-pack: start;
4192
  justify-content: flex-start;
4193
  }
4199
  }
4200
 
4201
  .navbar-expand .navbar-nav {
 
 
4202
  -ms-flex-direction: row;
4203
  flex-direction: row;
4204
  }
4207
  position: absolute;
4208
  }
4209
 
 
 
 
 
 
4210
  .navbar-expand .navbar-nav .nav-link {
4211
  padding-right: 0.5rem;
4212
  padding-left: 0.5rem;
4219
  }
4220
 
4221
  .navbar-expand .navbar-collapse {
 
4222
  display: -ms-flexbox !important;
4223
  display: flex !important;
4224
  -ms-flex-preferred-size: auto;
4229
  display: none;
4230
  }
4231
 
 
 
 
 
 
4232
  .navbar-light .navbar-brand {
4233
  color: rgba(0, 0, 0, 0.9);
4234
  }
4327
 
4328
  .card {
4329
  position: relative;
 
4330
  display: -ms-flexbox;
4331
  display: flex;
 
 
4332
  -ms-flex-direction: column;
4333
  flex-direction: column;
4334
  min-width: 0;
4355
  }
4356
 
4357
  .card-body {
 
4358
  -ms-flex: 1 1 auto;
4359
  flex: 1 1 auto;
4360
  padding: 1.25rem;
4445
  }
4446
 
4447
  .card-deck {
 
4448
  display: -ms-flexbox;
4449
  display: flex;
 
 
4450
  -ms-flex-direction: column;
4451
  flex-direction: column;
4452
  }
4457
 
4458
  @media (min-width: 576px) {
4459
  .card-deck {
 
 
4460
  -ms-flex-flow: row wrap;
4461
  flex-flow: row wrap;
4462
  margin-right: -15px;
4463
  margin-left: -15px;
4464
  }
4465
  .card-deck .card {
 
4466
  display: -ms-flexbox;
4467
  display: flex;
 
4468
  -ms-flex: 1 0 0%;
4469
  flex: 1 0 0%;
 
 
4470
  -ms-flex-direction: column;
4471
  flex-direction: column;
4472
  margin-right: 15px;
4476
  }
4477
 
4478
  .card-group {
 
4479
  display: -ms-flexbox;
4480
  display: flex;
 
 
4481
  -ms-flex-direction: column;
4482
  flex-direction: column;
4483
  }
4488
 
4489
  @media (min-width: 576px) {
4490
  .card-group {
 
 
4491
  -ms-flex-flow: row wrap;
4492
  flex-flow: row wrap;
4493
  }
4494
  .card-group > .card {
 
4495
  -ms-flex: 1 0 0%;
4496
  flex: 1 0 0%;
4497
  margin-bottom: 0;
4560
  -webkit-column-gap: 1.25rem;
4561
  -moz-column-gap: 1.25rem;
4562
  column-gap: 1.25rem;
4563
+ orphans: 1;
4564
+ widows: 1;
4565
  }
4566
  .card-columns .card {
4567
  display: inline-block;
4569
  }
4570
  }
4571
 
4572
+ .accordion .card:not(:first-of-type):not(:last-of-type) {
4573
+ border-bottom: 0;
4574
+ border-radius: 0;
4575
+ }
4576
+
4577
+ .accordion .card:not(:first-of-type) .card-header:first-child {
4578
+ border-radius: 0;
4579
+ }
4580
+
4581
+ .accordion .card:first-of-type {
4582
+ border-bottom: 0;
4583
+ border-bottom-right-radius: 0;
4584
+ border-bottom-left-radius: 0;
4585
+ }
4586
+
4587
+ .accordion .card:last-of-type {
4588
+ border-top-left-radius: 0;
4589
+ border-top-right-radius: 0;
4590
+ }
4591
+
4592
  .breadcrumb {
 
4593
  display: -ms-flexbox;
4594
  display: flex;
4595
  -ms-flex-wrap: wrap;
4601
  border-radius: 0.25rem;
4602
  }
4603
 
4604
+ .breadcrumb-item + .breadcrumb-item {
4605
+ padding-left: 0.5rem;
4606
+ }
4607
+
4608
  .breadcrumb-item + .breadcrumb-item::before {
4609
  display: inline-block;
4610
  padding-right: 0.5rem;
 
4611
  color: #6c757d;
4612
  content: "/";
4613
  }
4625
  }
4626
 
4627
  .pagination {
 
4628
  display: -ms-flexbox;
4629
  display: flex;
4630
  padding-left: 0;
4644
  }
4645
 
4646
  .page-link:hover {
4647
+ z-index: 2;
4648
  color: #0056b3;
4649
  text-decoration: none;
4650
  background-color: #e9ecef;
5012
  }
5013
 
5014
  .progress {
 
5015
  display: -ms-flexbox;
5016
  display: flex;
5017
  height: 1rem;
5022
  }
5023
 
5024
  .progress-bar {
 
5025
  display: -ms-flexbox;
5026
  display: flex;
 
 
5027
  -ms-flex-direction: column;
5028
  flex-direction: column;
 
5029
  -ms-flex-pack: center;
5030
  justify-content: center;
5031
  color: #fff;
5032
  text-align: center;
5033
+ white-space: nowrap;
5034
  background-color: #007bff;
5035
  transition: width 0.6s ease;
5036
  }
5037
 
5038
+ @media screen and (prefers-reduced-motion: reduce) {
5039
+ .progress-bar {
5040
+ transition: none;
5041
+ }
5042
+ }
5043
+
5044
  .progress-bar-striped {
5045
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5046
  background-size: 1rem 1rem;
5052
  }
5053
 
5054
  .media {
 
5055
  display: -ms-flexbox;
5056
  display: flex;
 
5057
  -ms-flex-align: start;
5058
  align-items: flex-start;
5059
  }
5060
 
5061
  .media-body {
 
5062
  -ms-flex: 1;
5063
  flex: 1;
5064
  }
5065
 
5066
  .list-group {
 
5067
  display: -ms-flexbox;
5068
  display: flex;
 
 
5069
  -ms-flex-direction: column;
5070
  flex-direction: column;
5071
  padding-left: 0;
5331
  transform: translate(0, -25%);
5332
  }
5333
 
5334
+ @media screen and (prefers-reduced-motion: reduce) {
5335
+ .modal.fade .modal-dialog {
5336
+ transition: none;
5337
+ }
5338
+ }
5339
+
5340
  .modal.show .modal-dialog {
5341
  -webkit-transform: translate(0, 0);
5342
  transform: translate(0, 0);
5343
  }
5344
 
5345
  .modal-dialog-centered {
 
5346
  display: -ms-flexbox;
5347
  display: flex;
 
5348
  -ms-flex-align: center;
5349
  align-items: center;
5350
  min-height: calc(100% - (0.5rem * 2));
5352
 
5353
  .modal-content {
5354
  position: relative;
 
5355
  display: -ms-flexbox;
5356
  display: flex;
 
 
5357
  -ms-flex-direction: column;
5358
  flex-direction: column;
5359
  width: 100%;
5384
  }
5385
 
5386
  .modal-header {
 
5387
  display: -ms-flexbox;
5388
  display: flex;
 
5389
  -ms-flex-align: start;
5390
  align-items: flex-start;
 
5391
  -ms-flex-pack: justify;
5392
  justify-content: space-between;
5393
  padding: 1rem;
5408
 
5409
  .modal-body {
5410
  position: relative;
 
5411
  -ms-flex: 1 1 auto;
5412
  flex: 1 1 auto;
5413
  padding: 1rem;
5414
  }
5415
 
5416
  .modal-footer {
 
5417
  display: -ms-flexbox;
5418
  display: flex;
 
5419
  -ms-flex-align: center;
5420
  align-items: center;
 
5421
  -ms-flex-pack: end;
5422
  justify-content: flex-end;
5423
  padding: 1rem;
5757
  .carousel-item {
5758
  position: relative;
5759
  display: none;
 
5760
  -ms-flex-align: center;
5761
  align-items: center;
5762
  width: 100%;
5769
  perspective: 1000px;
5770
  }
5771
 
5772
+ @media screen and (prefers-reduced-motion: reduce) {
5773
+ .carousel-item {
5774
+ transition: none;
5775
+ }
5776
+ }
5777
+
5778
  .carousel-item.active,
5779
  .carousel-item-next,
5780
  .carousel-item-prev {
5829
  }
5830
  }
5831
 
5832
+ .carousel-fade .carousel-item {
5833
+ opacity: 0;
5834
+ transition-duration: .6s;
5835
+ transition-property: opacity;
5836
+ }
5837
+
5838
+ .carousel-fade .carousel-item.active,
5839
+ .carousel-fade .carousel-item-next.carousel-item-left,
5840
+ .carousel-fade .carousel-item-prev.carousel-item-right {
5841
+ opacity: 1;
5842
+ }
5843
+
5844
+ .carousel-fade .active.carousel-item-left,
5845
+ .carousel-fade .active.carousel-item-right {
5846
+ opacity: 0;
5847
+ }
5848
+
5849
+ .carousel-fade .carousel-item-next,
5850
+ .carousel-fade .carousel-item-prev,
5851
+ .carousel-fade .carousel-item.active,
5852
+ .carousel-fade .active.carousel-item-left,
5853
+ .carousel-fade .active.carousel-item-prev {
5854
+ -webkit-transform: translateX(0);
5855
+ transform: translateX(0);
5856
+ }
5857
+
5858
+ @supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
5859
+ .carousel-fade .carousel-item-next,
5860
+ .carousel-fade .carousel-item-prev,
5861
+ .carousel-fade .carousel-item.active,
5862
+ .carousel-fade .active.carousel-item-left,
5863
+ .carousel-fade .active.carousel-item-prev {
5864
+ -webkit-transform: translate3d(0, 0, 0);
5865
+ transform: translate3d(0, 0, 0);
5866
+ }
5867
+ }
5868
+
5869
  .carousel-control-prev,
5870
  .carousel-control-next {
5871
  position: absolute;
5872
  top: 0;
5873
  bottom: 0;
 
5874
  display: -ms-flexbox;
5875
  display: flex;
 
5876
  -ms-flex-align: center;
5877
  align-items: center;
 
5878
  -ms-flex-pack: center;
5879
  justify-content: center;
5880
  width: 15%;
5923
  bottom: 10px;
5924
  left: 0;
5925
  z-index: 15;
 
5926
  display: -ms-flexbox;
5927
  display: flex;
 
5928
  -ms-flex-pack: center;
5929
  justify-content: center;
5930
  padding-left: 0;
5935
 
5936
  .carousel-indicators li {
5937
  position: relative;
 
5938
  -ms-flex: 0 1 auto;
5939
  flex: 0 1 auto;
5940
  width: 30px;
6236
  }
6237
 
6238
  .d-flex {
 
6239
  display: -ms-flexbox !important;
6240
  display: flex !important;
6241
  }
6242
 
6243
  .d-inline-flex {
 
6244
  display: -ms-inline-flexbox !important;
6245
  display: inline-flex !important;
6246
  }
6268
  display: table-cell !important;
6269
  }
6270
  .d-sm-flex {
 
6271
  display: -ms-flexbox !important;
6272
  display: flex !important;
6273
  }
6274
  .d-sm-inline-flex {
 
6275
  display: -ms-inline-flexbox !important;
6276
  display: inline-flex !important;
6277
  }
6300
  display: table-cell !important;
6301
  }
6302
  .d-md-flex {
 
6303
  display: -ms-flexbox !important;
6304
  display: flex !important;
6305
  }
6306
  .d-md-inline-flex {
 
6307
  display: -ms-inline-flexbox !important;
6308
  display: inline-flex !important;
6309
  }
6332
  display: table-cell !important;
6333
  }
6334
  .d-lg-flex {
 
6335
  display: -ms-flexbox !important;
6336
  display: flex !important;
6337
  }
6338
  .d-lg-inline-flex {
 
6339
  display: -ms-inline-flexbox !important;
6340
  display: inline-flex !important;
6341
  }
6364
  display: table-cell !important;
6365
  }
6366
  .d-xl-flex {
 
6367
  display: -ms-flexbox !important;
6368
  display: flex !important;
6369
  }
6370
  .d-xl-inline-flex {
 
6371
  display: -ms-inline-flexbox !important;
6372
  display: inline-flex !important;
6373
  }
6396
  display: table-cell !important;
6397
  }
6398
  .d-print-flex {
 
6399
  display: -ms-flexbox !important;
6400
  display: flex !important;
6401
  }
6402
  .d-print-inline-flex {
 
6403
  display: -ms-inline-flexbox !important;
6404
  display: inline-flex !important;
6405
  }
6449
  }
6450
 
6451
  .flex-row {
 
 
6452
  -ms-flex-direction: row !important;
6453
  flex-direction: row !important;
6454
  }
6455
 
6456
  .flex-column {
 
 
6457
  -ms-flex-direction: column !important;
6458
  flex-direction: column !important;
6459
  }
6460
 
6461
  .flex-row-reverse {
 
 
6462
  -ms-flex-direction: row-reverse !important;
6463
  flex-direction: row-reverse !important;
6464
  }
6465
 
6466
  .flex-column-reverse {
 
 
6467
  -ms-flex-direction: column-reverse !important;
6468
  flex-direction: column-reverse !important;
6469
  }
6483
  flex-wrap: wrap-reverse !important;
6484
  }
6485
 
6486
+ .flex-fill {
6487
+ -ms-flex: 1 1 auto !important;
6488
+ flex: 1 1 auto !important;
6489
+ }
6490
+
6491
+ .flex-grow-0 {
6492
+ -ms-flex-positive: 0 !important;
6493
+ flex-grow: 0 !important;
6494
+ }
6495
+
6496
+ .flex-grow-1 {
6497
+ -ms-flex-positive: 1 !important;
6498
+ flex-grow: 1 !important;
6499
+ }
6500
+
6501
+ .flex-shrink-0 {
6502
+ -ms-flex-negative: 0 !important;
6503
+ flex-shrink: 0 !important;
6504
+ }
6505
+
6506
+ .flex-shrink-1 {
6507
+ -ms-flex-negative: 1 !important;
6508
+ flex-shrink: 1 !important;
6509
+ }
6510
+
6511
  .justify-content-start {
 
6512
  -ms-flex-pack: start !important;
6513
  justify-content: flex-start !important;
6514
  }
6515
 
6516
  .justify-content-end {
 
6517
  -ms-flex-pack: end !important;
6518
  justify-content: flex-end !important;
6519
  }
6520
 
6521
  .justify-content-center {
 
6522
  -ms-flex-pack: center !important;
6523
  justify-content: center !important;
6524
  }
6525
 
6526
  .justify-content-between {
 
6527
  -ms-flex-pack: justify !important;
6528
  justify-content: space-between !important;
6529
  }
6534
  }
6535
 
6536
  .align-items-start {
 
6537
  -ms-flex-align: start !important;
6538
  align-items: flex-start !important;
6539
  }
6540
 
6541
  .align-items-end {
 
6542
  -ms-flex-align: end !important;
6543
  align-items: flex-end !important;
6544
  }
6545
 
6546
  .align-items-center {
 
6547
  -ms-flex-align: center !important;
6548
  align-items: center !important;
6549
  }
6550
 
6551
  .align-items-baseline {
 
6552
  -ms-flex-align: baseline !important;
6553
  align-items: baseline !important;
6554
  }
6555
 
6556
  .align-items-stretch {
 
6557
  -ms-flex-align: stretch !important;
6558
  align-items: stretch !important;
6559
  }
6620
 
6621
  @media (min-width: 576px) {
6622
  .flex-sm-row {
 
 
6623
  -ms-flex-direction: row !important;
6624
  flex-direction: row !important;
6625
  }
6626
  .flex-sm-column {
 
 
6627
  -ms-flex-direction: column !important;
6628
  flex-direction: column !important;
6629
  }
6630
  .flex-sm-row-reverse {
 
 
6631
  -ms-flex-direction: row-reverse !important;
6632
  flex-direction: row-reverse !important;
6633
  }
6634
  .flex-sm-column-reverse {
 
 
6635
  -ms-flex-direction: column-reverse !important;
6636
  flex-direction: column-reverse !important;
6637
  }
6647
  -ms-flex-wrap: wrap-reverse !important;
6648
  flex-wrap: wrap-reverse !important;
6649
  }
6650
+ .flex-sm-fill {
6651
+ -ms-flex: 1 1 auto !important;
6652
+ flex: 1 1 auto !important;
6653
+ }
6654
+ .flex-sm-grow-0 {
6655
+ -ms-flex-positive: 0 !important;
6656
+ flex-grow: 0 !important;
6657
+ }
6658
+ .flex-sm-grow-1 {
6659
+ -ms-flex-positive: 1 !important;
6660
+ flex-grow: 1 !important;
6661
+ }
6662
+ .flex-sm-shrink-0 {
6663
+ -ms-flex-negative: 0 !important;
6664
+ flex-shrink: 0 !important;
6665
+ }
6666
+ .flex-sm-shrink-1 {
6667
+ -ms-flex-negative: 1 !important;
6668
+ flex-shrink: 1 !important;
6669
+ }
6670
  .justify-content-sm-start {
 
6671
  -ms-flex-pack: start !important;
6672
  justify-content: flex-start !important;
6673
  }
6674
  .justify-content-sm-end {
 
6675
  -ms-flex-pack: end !important;
6676
  justify-content: flex-end !important;
6677
  }
6678
  .justify-content-sm-center {
 
6679
  -ms-flex-pack: center !important;
6680
  justify-content: center !important;
6681
  }
6682
  .justify-content-sm-between {
 
6683
  -ms-flex-pack: justify !important;
6684
  justify-content: space-between !important;
6685
  }
6688
  justify-content: space-around !important;
6689
  }
6690
  .align-items-sm-start {
 
6691
  -ms-flex-align: start !important;
6692
  align-items: flex-start !important;
6693
  }
6694
  .align-items-sm-end {
 
6695
  -ms-flex-align: end !important;
6696
  align-items: flex-end !important;
6697
  }
6698
  .align-items-sm-center {
 
6699
  -ms-flex-align: center !important;
6700
  align-items: center !important;
6701
  }
6702
  .align-items-sm-baseline {
 
6703
  -ms-flex-align: baseline !important;
6704
  align-items: baseline !important;
6705
  }
6706
  .align-items-sm-stretch {
 
6707
  -ms-flex-align: stretch !important;
6708
  align-items: stretch !important;
6709
  }
6759
 
6760
  @media (min-width: 768px) {
6761
  .flex-md-row {
 
 
6762
  -ms-flex-direction: row !important;
6763
  flex-direction: row !important;
6764
  }
6765
  .flex-md-column {
 
 
6766
  -ms-flex-direction: column !important;
6767
  flex-direction: column !important;
6768
  }
6769
  .flex-md-row-reverse {
 
 
6770
  -ms-flex-direction: row-reverse !important;
6771
  flex-direction: row-reverse !important;
6772
  }
6773
  .flex-md-column-reverse {
 
 
6774
  -ms-flex-direction: column-reverse !important;
6775
  flex-direction: column-reverse !important;
6776
  }
6786
  -ms-flex-wrap: wrap-reverse !important;
6787
  flex-wrap: wrap-reverse !important;
6788
  }
6789
+ .flex-md-fill {
6790
+ -ms-flex: 1 1 auto !important;
6791
+ flex: 1 1 auto !important;
6792
+ }
6793
+ .flex-md-grow-0 {
6794
+ -ms-flex-positive: 0 !important;
6795
+ flex-grow: 0 !important;
6796
+ }
6797
+ .flex-md-grow-1 {
6798
+ -ms-flex-positive: 1 !important;
6799
+ flex-grow: 1 !important;
6800
+ }
6801
+ .flex-md-shrink-0 {
6802
+ -ms-flex-negative: 0 !important;
6803
+ flex-shrink: 0 !important;
6804
+ }
6805
+ .flex-md-shrink-1 {
6806
+ -ms-flex-negative: 1 !important;
6807
+ flex-shrink: 1 !important;
6808
+ }
6809
  .justify-content-md-start {
 
6810
  -ms-flex-pack: start !important;
6811
  justify-content: flex-start !important;
6812
  }
6813
  .justify-content-md-end {
 
6814
  -ms-flex-pack: end !important;
6815
  justify-content: flex-end !important;
6816
  }
6817
  .justify-content-md-center {
 
6818
  -ms-flex-pack: center !important;
6819
  justify-content: center !important;
6820
  }
6821
  .justify-content-md-between {
 
6822
  -ms-flex-pack: justify !important;
6823
  justify-content: space-between !important;
6824
  }
6827
  justify-content: space-around !important;
6828
  }
6829
  .align-items-md-start {
 
6830
  -ms-flex-align: start !important;
6831
  align-items: flex-start !important;
6832
  }
6833
  .align-items-md-end {
 
6834
  -ms-flex-align: end !important;
6835
  align-items: flex-end !important;
6836
  }
6837
  .align-items-md-center {
 
6838
  -ms-flex-align: center !important;
6839
  align-items: center !important;
6840
  }
6841
  .align-items-md-baseline {
 
6842
  -ms-flex-align: baseline !important;
6843
  align-items: baseline !important;
6844
  }
6845
  .align-items-md-stretch {
 
6846
  -ms-flex-align: stretch !important;
6847
  align-items: stretch !important;
6848
  }
6898
 
6899
  @media (min-width: 992px) {
6900
  .flex-lg-row {
 
 
6901
  -ms-flex-direction: row !important;
6902
  flex-direction: row !important;
6903
  }
6904
  .flex-lg-column {
 
 
6905
  -ms-flex-direction: column !important;
6906
  flex-direction: column !important;
6907
  }
6908
  .flex-lg-row-reverse {
 
 
6909
  -ms-flex-direction: row-reverse !important;
6910
  flex-direction: row-reverse !important;
6911
  }
6912
  .flex-lg-column-reverse {
 
 
6913
  -ms-flex-direction: column-reverse !important;
6914
  flex-direction: column-reverse !important;
6915
  }
6925
  -ms-flex-wrap: wrap-reverse !important;
6926
  flex-wrap: wrap-reverse !important;
6927
  }
6928
+ .flex-lg-fill {
6929
+ -ms-flex: 1 1 auto !important;
6930
+ flex: 1 1 auto !important;
6931
+ }
6932
+ .flex-lg-grow-0 {
6933
+ -ms-flex-positive: 0 !important;
6934
+ flex-grow: 0 !important;
6935
+ }
6936
+ .flex-lg-grow-1 {
6937
+ -ms-flex-positive: 1 !important;
6938
+ flex-grow: 1 !important;
6939
+ }
6940
+ .flex-lg-shrink-0 {
6941
+ -ms-flex-negative: 0 !important;
6942
+ flex-shrink: 0 !important;
6943
+ }
6944
+ .flex-lg-shrink-1 {
6945
+ -ms-flex-negative: 1 !important;
6946
+ flex-shrink: 1 !important;
6947
+ }
6948
  .justify-content-lg-start {
 
6949
  -ms-flex-pack: start !important;
6950
  justify-content: flex-start !important;
6951
  }
6952
  .justify-content-lg-end {
 
6953
  -ms-flex-pack: end !important;
6954
  justify-content: flex-end !important;
6955
  }
6956
  .justify-content-lg-center {
 
6957
  -ms-flex-pack: center !important;
6958
  justify-content: center !important;
6959
  }
6960
  .justify-content-lg-between {
 
6961
  -ms-flex-pack: justify !important;
6962
  justify-content: space-between !important;
6963
  }
6966
  justify-content: space-around !important;
6967
  }
6968
  .align-items-lg-start {
 
6969
  -ms-flex-align: start !important;
6970
  align-items: flex-start !important;
6971
  }
6972
  .align-items-lg-end {
 
6973
  -ms-flex-align: end !important;
6974
  align-items: flex-end !important;
6975
  }
6976
  .align-items-lg-center {
 
6977
  -ms-flex-align: center !important;
6978
  align-items: center !important;
6979
  }
6980
  .align-items-lg-baseline {
 
6981
  -ms-flex-align: baseline !important;
6982
  align-items: baseline !important;
6983
  }
6984
  .align-items-lg-stretch {
 
6985
  -ms-flex-align: stretch !important;
6986
  align-items: stretch !important;
6987
  }
7037
 
7038
  @media (min-width: 1200px) {
7039
  .flex-xl-row {
 
 
7040
  -ms-flex-direction: row !important;
7041
  flex-direction: row !important;
7042
  }
7043
  .flex-xl-column {
 
 
7044
  -ms-flex-direction: column !important;
7045
  flex-direction: column !important;
7046
  }
7047
  .flex-xl-row-reverse {
 
 
7048
  -ms-flex-direction: row-reverse !important;
7049
  flex-direction: row-reverse !important;
7050
  }
7051
  .flex-xl-column-reverse {
 
 
7052
  -ms-flex-direction: column-reverse !important;
7053
  flex-direction: column-reverse !important;
7054
  }
7064
  -ms-flex-wrap: wrap-reverse !important;
7065
  flex-wrap: wrap-reverse !important;
7066
  }
7067
+ .flex-xl-fill {
7068
+ -ms-flex: 1 1 auto !important;
7069
+ flex: 1 1 auto !important;
7070
+ }
7071
+ .flex-xl-grow-0 {
7072
+ -ms-flex-positive: 0 !important;
7073
+ flex-grow: 0 !important;
7074
+ }
7075
+ .flex-xl-grow-1 {
7076
+ -ms-flex-positive: 1 !important;
7077
+ flex-grow: 1 !important;
7078
+ }
7079
+ .flex-xl-shrink-0 {
7080
+ -ms-flex-negative: 0 !important;
7081
+ flex-shrink: 0 !important;
7082
+ }
7083
+ .flex-xl-shrink-1 {
7084
+ -ms-flex-negative: 1 !important;
7085
+ flex-shrink: 1 !important;
7086
+ }
7087
  .justify-content-xl-start {
 
7088
  -ms-flex-pack: start !important;
7089
  justify-content: flex-start !important;
7090
  }
7091
  .justify-content-xl-end {
 
7092
  -ms-flex-pack: end !important;
7093
  justify-content: flex-end !important;
7094
  }
7095
  .justify-content-xl-center {
 
7096
  -ms-flex-pack: center !important;
7097
  justify-content: center !important;
7098
  }
7099
  .justify-content-xl-between {
 
7100
  -ms-flex-pack: justify !important;
7101
  justify-content: space-between !important;
7102
  }
7105
  justify-content: space-around !important;
7106
  }
7107
  .align-items-xl-start {
 
7108
  -ms-flex-align: start !important;
7109
  align-items: flex-start !important;
7110
  }
7111
  .align-items-xl-end {
 
7112
  -ms-flex-align: end !important;
7113
  align-items: flex-end !important;
7114
  }
7115
  .align-items-xl-center {
 
7116
  -ms-flex-align: center !important;
7117
  align-items: center !important;
7118
  }
7119
  .align-items-xl-baseline {
 
7120
  -ms-flex-align: baseline !important;
7121
  align-items: baseline !important;
7122
  }
7123
  .align-items-xl-stretch {
 
7124
  -ms-flex-align: stretch !important;
7125
  align-items: stretch !important;
7126
  }
7288
  overflow: hidden;
7289
  clip: rect(0, 0, 0, 0);
7290
  white-space: nowrap;
 
 
7291
  border: 0;
7292
  }
7293
 
7298
  overflow: visible;
7299
  clip: auto;
7300
  white-space: normal;
7301
+ }
7302
+
7303
+ .shadow-sm {
7304
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
7305
+ }
7306
+
7307
+ .shadow {
7308
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
7309
+ }
7310
+
7311
+ .shadow-lg {
7312
+ box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
7313
+ }
7314
+
7315
+ .shadow-none {
7316
+ box-shadow: none !important;
7317
  }
7318
 
7319
  .w-25 {
7332
  width: 100% !important;
7333
  }
7334
 
7335
+ .w-auto {
7336
+ width: auto !important;
7337
+ }
7338
+
7339
  .h-25 {
7340
  height: 25% !important;
7341
  }
7352
  height: 100% !important;
7353
  }
7354
 
7355
+ .h-auto {
7356
+ height: auto !important;
7357
+ }
7358
+
7359
  .mw-100 {
7360
  max-width: 100% !important;
7361
  }
8676
  }
8677
  }
8678
 
8679
+ .text-monospace {
8680
+ font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
8681
+ }
8682
+
8683
  .text-justify {
8684
  text-align: justify !important;
8685
  }
8850
  color: #1d2124 !important;
8851
  }
8852
 
8853
+ .text-body {
8854
+ color: #212529 !important;
8855
+ }
8856
+
8857
  .text-muted {
8858
  color: #6c757d !important;
8859
  }
8860
 
8861
+ .text-black-50 {
8862
+ color: rgba(0, 0, 0, 0.5) !important;
8863
+ }
8864
+
8865
+ .text-white-50 {
8866
+ color: rgba(255, 255, 255, 0.5) !important;
8867
+ }
8868
+
8869
  .text-hide {
8870
  font: 0/0 a;
8871
  color: transparent;
8900
  }
8901
  pre,
8902
  blockquote {
8903
+ border: 1px solid #adb5bd;
8904
  page-break-inside: avoid;
8905
  }
8906
  thead {
8944
  }
8945
  .table-bordered th,
8946
  .table-bordered td {
8947
+ border: 1px solid #dee2e6 !important;
8948
  }
8949
  }
8950
  /*# sourceMappingURL=bootstrap.css.map */
resources/css/bootstrap4.min.css CHANGED
@@ -1,7 +1,7 @@
1
  /*!
2
- * Bootstrap v4.0.0 (https://getbootstrap.com)
3
  * Copyright 2011-2018 The Bootstrap Authors
4
  * Copyright 2011-2018 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::before{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::before{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-control{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-control::before{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#6c757d!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}
7
  /*# sourceMappingURL=bootstrap.min.css.map */
1
  /*!
2
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
3
  * Copyright 2011-2018 The Bootstrap Authors
4
  * Copyright 2011-2018 Twitter, Inc.
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::after{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-appearance:none;appearance:none}.custom-range::-webkit-slider-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-appearance:none;appearance:none}.custom-range::-moz-range-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;appearance:none}.custom-range::-ms-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media screen and (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}}
7
  /*# sourceMappingURL=bootstrap.min.css.map */
resources/js/bootstrap4.bundle.js CHANGED
@@ -1,6328 +1,6433 @@
1
  /*!
2
- * Bootstrap v4.0.0 (https://getbootstrap.com)
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
8
- typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
9
- (factory((global.bootstrap = {}),global.jQuery));
10
  }(this, (function (exports,$) { 'use strict';
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
 
14
- function _defineProperties(target, props) {
15
- for (var i = 0; i < props.length; i++) {
16
- var descriptor = props[i];
17
- descriptor.enumerable = descriptor.enumerable || false;
18
- descriptor.configurable = true;
19
- if ("value" in descriptor) descriptor.writable = true;
20
- Object.defineProperty(target, descriptor.key, descriptor);
 
 
 
 
 
 
 
21
  }
22
- }
23
 
24
- function _createClass(Constructor, protoProps, staticProps) {
25
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
26
- if (staticProps) _defineProperties(Constructor, staticProps);
27
- return Constructor;
28
- }
 
 
 
 
 
 
 
 
 
29
 
30
- function _extends() {
31
- _extends = Object.assign || function (target) {
32
  for (var i = 1; i < arguments.length; i++) {
33
- var source = arguments[i];
 
34
 
35
- for (var key in source) {
36
- if (Object.prototype.hasOwnProperty.call(source, key)) {
37
- target[key] = source[key];
38
- }
39
  }
 
 
 
 
40
  }
41
 
42
  return target;
43
- };
44
-
45
- return _extends.apply(this, arguments);
46
- }
47
-
48
- function _inheritsLoose(subClass, superClass) {
49
- subClass.prototype = Object.create(superClass.prototype);
50
- subClass.prototype.constructor = subClass;
51
- subClass.__proto__ = superClass;
52
- }
53
 
54
- /**
55
- * --------------------------------------------------------------------------
56
- * Bootstrap (v4.0.0): util.js
57
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
58
- * --------------------------------------------------------------------------
59
- */
60
 
61
- var Util = function ($$$1) {
62
  /**
63
- * ------------------------------------------------------------------------
64
- * Private TransitionEnd Helpers
65
- * ------------------------------------------------------------------------
 
66
  */
67
- var transition = false;
68
- var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
69
-
70
- function toType(obj) {
71
- return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
72
- }
73
-
74
- function getSpecialTransitionEndEvent() {
75
- return {
76
- bindType: transition.end,
77
- delegateType: transition.end,
78
- handle: function handle(event) {
79
- if ($$$1(event.target).is(this)) {
80
- return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
81
- }
82
 
83
- return undefined; // eslint-disable-line no-undefined
84
- }
85
- };
86
- }
 
 
 
 
 
87
 
88
- function transitionEndTest() {
89
- if (typeof window !== 'undefined' && window.QUnit) {
90
- return false;
91
  }
92
 
93
- return {
94
- end: 'transitionend'
95
- };
96
- }
 
 
 
 
97
 
98
- function transitionEndEmulator(duration) {
99
- var _this = this;
 
 
100
 
101
- var called = false;
102
- $$$1(this).one(Util.TRANSITION_END, function () {
103
- called = true;
104
- });
105
- setTimeout(function () {
106
- if (!called) {
107
- Util.triggerTransitionEnd(_this);
108
- }
109
- }, duration);
110
- return this;
111
- }
112
 
113
- function setTransitionEndSupport() {
114
- transition = transitionEndTest();
115
- $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
 
 
 
 
 
 
 
 
116
 
117
- if (Util.supportsTransitionEnd()) {
 
118
  $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
119
  }
120
- }
121
-
122
- function escapeId(selector) {
123
- // We escape IDs in case of special selectors (selector = '#myId:something')
124
- // $.escapeSelector does not exist in jQuery < 3
125
- selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
126
- return selector;
127
- }
128
- /**
129
- * --------------------------------------------------------------------------
130
- * Public Util Api
131
- * --------------------------------------------------------------------------
132
- */
133
-
134
-
135
- var Util = {
136
- TRANSITION_END: 'bsTransitionEnd',
137
- getUID: function getUID(prefix) {
138
- do {
139
- // eslint-disable-next-line no-bitwise
140
- prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
141
- } while (document.getElementById(prefix));
142
 
143
- return prefix;
144
- },
145
- getSelectorFromElement: function getSelectorFromElement(element) {
146
- var selector = element.getAttribute('data-target');
147
 
148
- if (!selector || selector === '#') {
149
- selector = element.getAttribute('href') || '';
150
- } // If it's an ID
 
 
 
 
151
 
 
 
 
 
152
 
153
- if (selector.charAt(0) === '#') {
154
- selector = escapeId(selector);
155
- }
156
 
157
- try {
158
- var $selector = $$$1(document).find(selector);
159
- return $selector.length > 0 ? selector : null;
160
- } catch (err) {
161
- return null;
162
- }
163
- },
164
- reflow: function reflow(element) {
165
- return element.offsetHeight;
166
- },
167
- triggerTransitionEnd: function triggerTransitionEnd(element) {
168
- $$$1(element).trigger(transition.end);
169
- },
170
- supportsTransitionEnd: function supportsTransitionEnd() {
171
- return Boolean(transition);
172
- },
173
- isElement: function isElement(obj) {
174
- return (obj[0] || obj).nodeType;
175
- },
176
- typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
177
- for (var property in configTypes) {
178
- if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
179
- var expectedTypes = configTypes[property];
180
- var value = config[property];
181
- var valueType = value && Util.isElement(value) ? 'element' : toType(value);
182
-
183
- if (!new RegExp(expectedTypes).test(valueType)) {
184
- throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  }
186
  }
187
  }
188
- }
189
- };
190
- setTransitionEndSupport();
191
- return Util;
192
- }($);
193
-
194
- /**
195
- * --------------------------------------------------------------------------
196
- * Bootstrap (v4.0.0): alert.js
197
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
198
- * --------------------------------------------------------------------------
199
- */
200
-
201
- var Alert = function ($$$1) {
202
  /**
203
- * ------------------------------------------------------------------------
204
- * Constants
205
- * ------------------------------------------------------------------------
 
206
  */
207
- var NAME = 'alert';
208
- var VERSION = '4.0.0';
209
- var DATA_KEY = 'bs.alert';
210
- var EVENT_KEY = "." + DATA_KEY;
211
- var DATA_API_KEY = '.data-api';
212
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
213
- var TRANSITION_DURATION = 150;
214
- var Selector = {
215
- DISMISS: '[data-dismiss="alert"]'
216
- };
217
- var Event = {
218
- CLOSE: "close" + EVENT_KEY,
219
- CLOSED: "closed" + EVENT_KEY,
220
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
221
- };
222
- var ClassName = {
223
- ALERT: 'alert',
224
- FADE: 'fade',
225
- SHOW: 'show'
226
  /**
227
  * ------------------------------------------------------------------------
228
- * Class Definition
229
  * ------------------------------------------------------------------------
230
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
 
232
- };
233
 
234
- var Alert =
235
- /*#__PURE__*/
236
- function () {
237
- function Alert(element) {
238
- this._element = element;
239
- } // Getters
240
 
241
 
242
- var _proto = Alert.prototype;
243
 
244
- // Public
245
- _proto.close = function close(element) {
246
- element = element || this._element;
247
 
248
- var rootElement = this._getRootElement(element);
249
 
250
- var customEvent = this._triggerCloseEvent(rootElement);
251
 
252
- if (customEvent.isDefaultPrevented()) {
253
- return;
254
- }
255
 
256
- this._removeElement(rootElement);
257
- };
258
 
259
- _proto.dispose = function dispose() {
260
- $$$1.removeData(this._element, DATA_KEY);
261
- this._element = null;
262
- }; // Private
263
 
264
 
265
- _proto._getRootElement = function _getRootElement(element) {
266
- var selector = Util.getSelectorFromElement(element);
267
- var parent = false;
268
 
269
- if (selector) {
270
- parent = $$$1(selector)[0];
271
- }
272
 
273
- if (!parent) {
274
- parent = $$$1(element).closest("." + ClassName.ALERT)[0];
275
- }
276
 
277
- return parent;
278
- };
279
 
280
- _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
281
- var closeEvent = $$$1.Event(Event.CLOSE);
282
- $$$1(element).trigger(closeEvent);
283
- return closeEvent;
284
- };
285
 
286
- _proto._removeElement = function _removeElement(element) {
287
- var _this = this;
288
 
289
- $$$1(element).removeClass(ClassName.SHOW);
290
 
291
- if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
292
- this._destroyElement(element);
293
 
294
- return;
295
- }
296
 
297
- $$$1(element).one(Util.TRANSITION_END, function (event) {
298
- return _this._destroyElement(element, event);
299
- }).emulateTransitionEnd(TRANSITION_DURATION);
300
- };
 
301
 
302
- _proto._destroyElement = function _destroyElement(element) {
303
- $$$1(element).detach().trigger(Event.CLOSED).remove();
304
- }; // Static
305
 
306
 
307
- Alert._jQueryInterface = function _jQueryInterface(config) {
308
- return this.each(function () {
309
- var $element = $$$1(this);
310
- var data = $element.data(DATA_KEY);
311
 
312
- if (!data) {
313
- data = new Alert(this);
314
- $element.data(DATA_KEY, data);
315
- }
316
 
317
- if (config === 'close') {
318
- data[config](this);
319
- }
320
- });
321
- };
322
 
323
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
324
- return function (event) {
325
- if (event) {
326
- event.preventDefault();
327
- }
328
 
329
- alertInstance.close(this);
 
330
  };
331
- };
332
 
333
- _createClass(Alert, null, [{
334
- key: "VERSION",
335
- get: function get() {
336
- return VERSION;
337
- }
338
- }]);
339
- return Alert;
340
- }();
341
- /**
342
- * ------------------------------------------------------------------------
343
- * Data Api implementation
344
- * ------------------------------------------------------------------------
345
- */
346
 
 
 
 
 
 
 
 
347
 
348
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
349
- /**
350
- * ------------------------------------------------------------------------
351
- * jQuery
352
- * ------------------------------------------------------------------------
353
- */
354
 
355
- $$$1.fn[NAME] = Alert._jQueryInterface;
356
- $$$1.fn[NAME].Constructor = Alert;
 
 
 
 
357
 
358
- $$$1.fn[NAME].noConflict = function () {
359
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
360
- return Alert._jQueryInterface;
361
- };
362
 
363
- return Alert;
364
- }($);
 
 
365
 
366
- /**
367
- * --------------------------------------------------------------------------
368
- * Bootstrap (v4.0.0): button.js
369
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
370
- * --------------------------------------------------------------------------
371
- */
372
 
373
- var Button = function ($$$1) {
374
  /**
375
- * ------------------------------------------------------------------------
376
- * Constants
377
- * ------------------------------------------------------------------------
 
378
  */
379
- var NAME = 'button';
380
- var VERSION = '4.0.0';
381
- var DATA_KEY = 'bs.button';
382
- var EVENT_KEY = "." + DATA_KEY;
383
- var DATA_API_KEY = '.data-api';
384
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
385
- var ClassName = {
386
- ACTIVE: 'active',
387
- BUTTON: 'btn',
388
- FOCUS: 'focus'
389
- };
390
- var Selector = {
391
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
392
- DATA_TOGGLE: '[data-toggle="buttons"]',
393
- INPUT: 'input',
394
- ACTIVE: '.active',
395
- BUTTON: '.btn'
396
- };
397
- var Event = {
398
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
399
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
400
  /**
401
  * ------------------------------------------------------------------------
402
- * Class Definition
403
  * ------------------------------------------------------------------------
404
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
 
406
- };
407
 
408
- var Button =
409
- /*#__PURE__*/
410
- function () {
411
- function Button(element) {
412
- this._element = element;
413
- } // Getters
414
 
415
 
416
- var _proto = Button.prototype;
417
 
418
- // Public
419
- _proto.toggle = function toggle() {
420
- var triggerChangeEvent = true;
421
- var addAriaPressed = true;
422
- var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
423
 
424
- if (rootElement) {
425
- var input = $$$1(this._element).find(Selector.INPUT)[0];
426
 
427
- if (input) {
428
- if (input.type === 'radio') {
429
- if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
430
- triggerChangeEvent = false;
431
- } else {
432
- var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
433
 
434
- if (activeElement) {
435
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
 
436
  }
437
  }
438
- }
439
 
440
- if (triggerChangeEvent) {
441
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
442
- return;
 
 
 
 
443
  }
444
 
445
- input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
446
- $$$1(input).trigger('change');
447
  }
 
448
 
449
- input.focus();
450
- addAriaPressed = false;
451
  }
452
- }
453
 
454
- if (addAriaPressed) {
455
- this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
456
- }
 
457
 
458
- if (triggerChangeEvent) {
459
- $$$1(this._element).toggleClass(ClassName.ACTIVE);
460
- }
461
- };
462
 
463
- _proto.dispose = function dispose() {
464
- $$$1.removeData(this._element, DATA_KEY);
465
- this._element = null;
466
- }; // Static
467
 
 
 
 
468
 
469
- Button._jQueryInterface = function _jQueryInterface(config) {
470
- return this.each(function () {
471
- var data = $$$1(this).data(DATA_KEY);
 
472
 
473
- if (!data) {
474
- data = new Button(this);
475
- $$$1(this).data(DATA_KEY, data);
476
- }
 
477
 
478
- if (config === 'toggle') {
479
- data[config]();
 
 
480
  }
481
- });
482
- };
483
-
484
- _createClass(Button, null, [{
485
- key: "VERSION",
486
- get: function get() {
487
- return VERSION;
488
- }
489
- }]);
490
- return Button;
491
- }();
492
- /**
493
- * ------------------------------------------------------------------------
494
- * Data Api implementation
495
- * ------------------------------------------------------------------------
496
- */
497
 
 
 
 
 
 
 
 
498
 
499
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
500
- event.preventDefault();
501
- var button = event.target;
502
 
503
- if (!$$$1(button).hasClass(ClassName.BUTTON)) {
504
- button = $$$1(button).closest(Selector.BUTTON);
505
- }
506
 
507
- Button._jQueryInterface.call($$$1(button), 'toggle');
508
- }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
509
- var button = $$$1(event.target).closest(Selector.BUTTON)[0];
510
- $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
511
- });
512
- /**
513
- * ------------------------------------------------------------------------
514
- * jQuery
515
- * ------------------------------------------------------------------------
516
- */
517
 
518
- $$$1.fn[NAME] = Button._jQueryInterface;
519
- $$$1.fn[NAME].Constructor = Button;
 
 
 
 
 
 
 
 
520
 
521
- $$$1.fn[NAME].noConflict = function () {
522
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
523
- return Button._jQueryInterface;
524
- };
525
 
526
- return Button;
527
- }($);
 
 
528
 
529
- /**
530
- * --------------------------------------------------------------------------
531
- * Bootstrap (v4.0.0): carousel.js
532
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
533
- * --------------------------------------------------------------------------
534
- */
535
 
536
- var Carousel = function ($$$1) {
537
  /**
538
- * ------------------------------------------------------------------------
539
- * Constants
540
- * ------------------------------------------------------------------------
 
541
  */
542
- var NAME = 'carousel';
543
- var VERSION = '4.0.0';
544
- var DATA_KEY = 'bs.carousel';
545
- var EVENT_KEY = "." + DATA_KEY;
546
- var DATA_API_KEY = '.data-api';
547
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
548
- var TRANSITION_DURATION = 600;
549
- var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
550
-
551
- var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
552
-
553
- var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
554
-
555
- var Default = {
556
- interval: 5000,
557
- keyboard: true,
558
- slide: false,
559
- pause: 'hover',
560
- wrap: true
561
- };
562
- var DefaultType = {
563
- interval: '(number|boolean)',
564
- keyboard: 'boolean',
565
- slide: '(boolean|string)',
566
- pause: '(string|boolean)',
567
- wrap: 'boolean'
568
- };
569
- var Direction = {
570
- NEXT: 'next',
571
- PREV: 'prev',
572
- LEFT: 'left',
573
- RIGHT: 'right'
574
- };
575
- var Event = {
576
- SLIDE: "slide" + EVENT_KEY,
577
- SLID: "slid" + EVENT_KEY,
578
- KEYDOWN: "keydown" + EVENT_KEY,
579
- MOUSEENTER: "mouseenter" + EVENT_KEY,
580
- MOUSELEAVE: "mouseleave" + EVENT_KEY,
581
- TOUCHEND: "touchend" + EVENT_KEY,
582
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
583
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
584
- };
585
- var ClassName = {
586
- CAROUSEL: 'carousel',
587
- ACTIVE: 'active',
588
- SLIDE: 'slide',
589
- RIGHT: 'carousel-item-right',
590
- LEFT: 'carousel-item-left',
591
- NEXT: 'carousel-item-next',
592
- PREV: 'carousel-item-prev',
593
- ITEM: 'carousel-item'
594
- };
595
- var Selector = {
596
- ACTIVE: '.active',
597
- ACTIVE_ITEM: '.active.carousel-item',
598
- ITEM: '.carousel-item',
599
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
600
- INDICATORS: '.carousel-indicators',
601
- DATA_SLIDE: '[data-slide], [data-slide-to]',
602
- DATA_RIDE: '[data-ride="carousel"]'
603
  /**
604
  * ------------------------------------------------------------------------
605
- * Class Definition
606
  * ------------------------------------------------------------------------
607
  */
608
-
609
- };
610
-
611
- var Carousel =
612
- /*#__PURE__*/
613
- function () {
614
- function Carousel(element, config) {
615
- this._items = null;
616
- this._interval = null;
617
- this._activeElement = null;
618
- this._isPaused = false;
619
- this._isSliding = false;
620
- this.touchTimeout = null;
621
- this._config = this._getConfig(config);
622
- this._element = $$$1(element)[0];
623
- this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
624
-
625
- this._addEventListeners();
626
- } // Getters
627
-
628
-
629
- var _proto = Carousel.prototype;
630
-
631
- // Public
632
- _proto.next = function next() {
633
- if (!this._isSliding) {
634
- this._slide(Direction.NEXT);
635
- }
636
  };
637
-
638
- _proto.nextWhenVisible = function nextWhenVisible() {
639
- // Don't call next when the page isn't visible
640
- // or the carousel or its parent isn't visible
641
- if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
642
- this.next();
643
- }
644
  };
645
-
646
- _proto.prev = function prev() {
647
- if (!this._isSliding) {
648
- this._slide(Direction.PREV);
649
- }
650
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651
 
652
- _proto.pause = function pause(event) {
653
- if (!event) {
654
- this._isPaused = true;
655
- }
656
-
657
- if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
658
- Util.triggerTransitionEnd(this._element);
659
- this.cycle(true);
660
- }
661
-
662
- clearInterval(this._interval);
663
- this._interval = null;
664
  };
665
 
666
- _proto.cycle = function cycle(event) {
667
- if (!event) {
 
 
 
 
 
668
  this._isPaused = false;
669
- }
 
 
 
 
670
 
671
- if (this._interval) {
672
- clearInterval(this._interval);
673
- this._interval = null;
674
- }
675
 
676
- if (this._config.interval && !this._isPaused) {
677
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
678
- }
679
- };
680
 
681
- _proto.to = function to(index) {
682
- var _this = this;
683
 
684
- this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
 
 
 
 
685
 
686
- var activeIndex = this._getItemIndex(this._activeElement);
 
 
 
 
 
 
687
 
688
- if (index > this._items.length - 1 || index < 0) {
689
- return;
690
- }
 
 
691
 
692
- if (this._isSliding) {
693
- $$$1(this._element).one(Event.SLID, function () {
694
- return _this.to(index);
695
- });
696
- return;
697
- }
698
 
699
- if (activeIndex === index) {
700
- this.pause();
701
- this.cycle();
702
- return;
703
- }
704
 
705
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
 
 
706
 
707
- this._slide(direction, this._items[index]);
708
- };
 
 
709
 
710
- _proto.dispose = function dispose() {
711
- $$$1(this._element).off(EVENT_KEY);
712
- $$$1.removeData(this._element, DATA_KEY);
713
- this._items = null;
714
- this._config = null;
715
- this._element = null;
716
- this._interval = null;
717
- this._isPaused = null;
718
- this._isSliding = null;
719
- this._activeElement = null;
720
- this._indicatorsElement = null;
721
- }; // Private
722
-
723
-
724
- _proto._getConfig = function _getConfig(config) {
725
- config = _extends({}, Default, config);
726
- Util.typeCheckConfig(NAME, config, DefaultType);
727
- return config;
728
- };
729
 
730
- _proto._addEventListeners = function _addEventListeners() {
731
- var _this2 = this;
 
 
732
 
733
- if (this._config.keyboard) {
734
- $$$1(this._element).on(Event.KEYDOWN, function (event) {
735
- return _this2._keydown(event);
736
- });
737
- }
738
 
739
- if (this._config.pause === 'hover') {
740
- $$$1(this._element).on(Event.MOUSEENTER, function (event) {
741
- return _this2.pause(event);
742
- }).on(Event.MOUSELEAVE, function (event) {
743
- return _this2.cycle(event);
744
- });
745
 
746
- if ('ontouchstart' in document.documentElement) {
747
- // If it's a touch-enabled device, mouseenter/leave are fired as
748
- // part of the mouse compatibility events on first tap - the carousel
749
- // would stop cycling until user tapped out of it;
750
- // here, we listen for touchend, explicitly pause the carousel
751
- // (as if it's the second time we tap on it, mouseenter compat event
752
- // is NOT fired) and after a timeout (to allow for mouse compatibility
753
- // events to fire) we explicitly restart cycling
754
- $$$1(this._element).on(Event.TOUCHEND, function () {
755
- _this2.pause();
756
-
757
- if (_this2.touchTimeout) {
758
- clearTimeout(_this2.touchTimeout);
759
- }
760
 
761
- _this2.touchTimeout = setTimeout(function (event) {
762
- return _this2.cycle(event);
763
- }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
764
- });
765
  }
766
- }
767
- };
768
 
769
- _proto._keydown = function _keydown(event) {
770
- if (/input|textarea/i.test(event.target.tagName)) {
771
- return;
772
- }
 
 
773
 
774
- switch (event.which) {
775
- case ARROW_LEFT_KEYCODE:
776
- event.preventDefault();
777
- this.prev();
778
- break;
779
 
780
- case ARROW_RIGHT_KEYCODE:
781
- event.preventDefault();
782
- this.next();
783
- break;
784
 
785
- default:
786
- }
787
- };
788
 
789
- _proto._getItemIndex = function _getItemIndex(element) {
790
- this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
791
- return this._items.indexOf(element);
792
- };
 
 
 
 
 
 
 
 
793
 
794
- _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
795
- var isNextDirection = direction === Direction.NEXT;
796
- var isPrevDirection = direction === Direction.PREV;
797
 
798
- var activeIndex = this._getItemIndex(activeElement);
 
 
 
 
799
 
800
- var lastItemIndex = this._items.length - 1;
801
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
802
 
803
- if (isGoingToWrap && !this._config.wrap) {
804
- return activeElement;
805
- }
 
 
806
 
807
- var delta = direction === Direction.PREV ? -1 : 1;
808
- var itemIndex = (activeIndex + delta) % this._items.length;
809
- return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
810
- };
 
 
811
 
812
- _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
813
- var targetIndex = this._getItemIndex(relatedTarget);
 
 
 
 
 
 
 
 
 
 
 
 
814
 
815
- var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
 
 
 
 
 
 
816
 
817
- var slideEvent = $$$1.Event(Event.SLIDE, {
818
- relatedTarget: relatedTarget,
819
- direction: eventDirectionName,
820
- from: fromIndex,
821
- to: targetIndex
822
- });
823
- $$$1(this._element).trigger(slideEvent);
824
- return slideEvent;
825
- };
826
 
827
- _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
828
- if (this._indicatorsElement) {
829
- $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
 
 
830
 
831
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
 
 
832
 
833
- if (nextIndicator) {
834
- $$$1(nextIndicator).addClass(ClassName.ACTIVE);
835
  }
836
- }
837
- };
838
 
839
- _proto._slide = function _slide(direction, element) {
840
- var _this3 = this;
 
 
841
 
842
- var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
 
843
 
844
- var activeElementIndex = this._getItemIndex(activeElement);
845
 
846
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
847
 
848
- var nextElementIndex = this._getItemIndex(nextElement);
 
 
849
 
850
- var isCycling = Boolean(this._interval);
851
- var directionalClassName;
852
- var orderClassName;
853
- var eventDirectionName;
854
 
855
- if (direction === Direction.NEXT) {
856
- directionalClassName = ClassName.LEFT;
857
- orderClassName = ClassName.NEXT;
858
- eventDirectionName = Direction.LEFT;
859
- } else {
860
- directionalClassName = ClassName.RIGHT;
861
- orderClassName = ClassName.PREV;
862
- eventDirectionName = Direction.RIGHT;
863
- }
864
 
865
- if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
866
- this._isSliding = false;
867
- return;
868
- }
869
 
870
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
 
 
 
 
 
 
 
 
871
 
872
- if (slideEvent.isDefaultPrevented()) {
873
- return;
874
- }
875
 
876
- if (!activeElement || !nextElement) {
877
- // Some weirdness is happening, so we bail
878
- return;
879
- }
 
 
 
880
 
881
- this._isSliding = true;
 
882
 
883
- if (isCycling) {
884
- this.pause();
885
- }
886
 
887
- this._setActiveIndicatorElement(nextElement);
888
 
889
- var slidEvent = $$$1.Event(Event.SLID, {
890
- relatedTarget: nextElement,
891
- direction: eventDirectionName,
892
- from: activeElementIndex,
893
- to: nextElementIndex
894
- });
895
 
896
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
897
- $$$1(nextElement).addClass(orderClassName);
898
- Util.reflow(nextElement);
899
- $$$1(activeElement).addClass(directionalClassName);
900
- $$$1(nextElement).addClass(directionalClassName);
901
- $$$1(activeElement).one(Util.TRANSITION_END, function () {
902
- $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
903
- $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
904
- _this3._isSliding = false;
905
- setTimeout(function () {
906
- return $$$1(_this3._element).trigger(slidEvent);
907
- }, 0);
908
- }).emulateTransitionEnd(TRANSITION_DURATION);
909
- } else {
910
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
911
- $$$1(nextElement).addClass(ClassName.ACTIVE);
912
- this._isSliding = false;
913
- $$$1(this._element).trigger(slidEvent);
914
- }
915
 
916
- if (isCycling) {
917
- this.cycle();
918
- }
919
- }; // Static
920
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
921
 
922
- Carousel._jQueryInterface = function _jQueryInterface(config) {
923
- return this.each(function () {
924
- var data = $$$1(this).data(DATA_KEY);
 
925
 
926
- var _config = _extends({}, Default, $$$1(this).data());
927
 
928
- if (typeof config === 'object') {
929
- _config = _extends({}, _config, config);
930
  }
931
 
932
- var action = typeof config === 'string' ? config : _config.slide;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
933
 
934
- if (!data) {
935
- data = new Carousel(this, _config);
936
- $$$1(this).data(DATA_KEY, data);
937
  }
 
938
 
939
- if (typeof config === 'number') {
940
- data.to(config);
941
- } else if (typeof action === 'string') {
942
- if (typeof data[action] === 'undefined') {
943
- throw new TypeError("No method named \"" + action + "\"");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
944
  }
 
 
945
 
946
- data[action]();
947
- } else if (_config.interval) {
948
- data.pause();
949
- data.cycle();
 
950
  }
951
- });
952
- };
953
 
954
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
955
- var selector = Util.getSelectorFromElement(this);
956
 
957
- if (!selector) {
958
- return;
959
- }
960
 
961
- var target = $$$1(selector)[0];
962
 
963
- if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
964
- return;
965
- }
966
 
967
- var config = _extends({}, $$$1(target).data(), $$$1(this).data());
968
- var slideIndex = this.getAttribute('data-slide-to');
 
969
 
970
- if (slideIndex) {
971
- config.interval = false;
972
- }
973
 
974
- Carousel._jQueryInterface.call($$$1(target), config);
 
 
975
 
976
- if (slideIndex) {
977
- $$$1(target).data(DATA_KEY).to(slideIndex);
978
- }
979
 
980
- event.preventDefault();
981
- };
 
 
 
 
 
 
 
 
 
982
 
983
- _createClass(Carousel, null, [{
984
- key: "VERSION",
985
- get: function get() {
986
- return VERSION;
987
- }
988
- }, {
989
- key: "Default",
990
- get: function get() {
991
- return Default;
992
- }
993
- }]);
994
- return Carousel;
995
- }();
996
- /**
997
- * ------------------------------------------------------------------------
998
- * Data Api implementation
999
- * ------------------------------------------------------------------------
1000
- */
1001
 
1002
 
1003
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
1004
- $$$1(window).on(Event.LOAD_DATA_API, function () {
1005
- $$$1(Selector.DATA_RIDE).each(function () {
1006
- var $carousel = $$$1(this);
1007
 
1008
- Carousel._jQueryInterface.call($carousel, $carousel.data());
 
1009
  });
1010
- });
1011
- /**
1012
- * ------------------------------------------------------------------------
1013
- * jQuery
1014
- * ------------------------------------------------------------------------
1015
- */
1016
-
1017
- $$$1.fn[NAME] = Carousel._jQueryInterface;
1018
- $$$1.fn[NAME].Constructor = Carousel;
1019
 
1020
- $$$1.fn[NAME].noConflict = function () {
1021
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1022
- return Carousel._jQueryInterface;
1023
- };
1024
 
1025
- return Carousel;
1026
- }($);
 
 
1027
 
1028
- /**
1029
- * --------------------------------------------------------------------------
1030
- * Bootstrap (v4.0.0): collapse.js
1031
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1032
- * --------------------------------------------------------------------------
1033
- */
1034
 
1035
- var Collapse = function ($$$1) {
1036
  /**
1037
- * ------------------------------------------------------------------------
1038
- * Constants
1039
- * ------------------------------------------------------------------------
 
1040
  */
1041
- var NAME = 'collapse';
1042
- var VERSION = '4.0.0';
1043
- var DATA_KEY = 'bs.collapse';
1044
- var EVENT_KEY = "." + DATA_KEY;
1045
- var DATA_API_KEY = '.data-api';
1046
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1047
- var TRANSITION_DURATION = 600;
1048
- var Default = {
1049
- toggle: true,
1050
- parent: ''
1051
- };
1052
- var DefaultType = {
1053
- toggle: 'boolean',
1054
- parent: '(string|element)'
1055
- };
1056
- var Event = {
1057
- SHOW: "show" + EVENT_KEY,
1058
- SHOWN: "shown" + EVENT_KEY,
1059
- HIDE: "hide" + EVENT_KEY,
1060
- HIDDEN: "hidden" + EVENT_KEY,
1061
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
1062
- };
1063
- var ClassName = {
1064
- SHOW: 'show',
1065
- COLLAPSE: 'collapse',
1066
- COLLAPSING: 'collapsing',
1067
- COLLAPSED: 'collapsed'
1068
- };
1069
- var Dimension = {
1070
- WIDTH: 'width',
1071
- HEIGHT: 'height'
1072
- };
1073
- var Selector = {
1074
- ACTIVES: '.show, .collapsing',
1075
- DATA_TOGGLE: '[data-toggle="collapse"]'
1076
  /**
1077
  * ------------------------------------------------------------------------
1078
- * Class Definition
1079
  * ------------------------------------------------------------------------
1080
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1081
 
1082
- };
1083
 
1084
- var Collapse =
1085
- /*#__PURE__*/
1086
- function () {
1087
- function Collapse(element, config) {
1088
- this._isTransitioning = false;
1089
- this._element = element;
1090
- this._config = this._getConfig(config);
1091
- this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1092
- var tabToggles = $$$1(Selector.DATA_TOGGLE);
1093
 
1094
- for (var i = 0; i < tabToggles.length; i++) {
1095
- var elem = tabToggles[i];
1096
- var selector = Util.getSelectorFromElement(elem);
1097
 
1098
- if (selector !== null && $$$1(selector).filter(element).length > 0) {
1099
- this._selector = selector;
1100
 
1101
- this._triggerArray.push(elem);
 
1102
  }
1103
- }
1104
 
1105
- this._parent = this._config.parent ? this._getParent() : null;
1106
 
1107
- if (!this._config.parent) {
1108
- this._addAriaAndCollapsedClass(this._element, this._triggerArray);
1109
- }
1110
 
1111
- if (this._config.toggle) {
1112
- this.toggle();
1113
- }
1114
- } // Getters
1115
 
1116
 
1117
- var _proto = Collapse.prototype;
1118
 
1119
- // Public
1120
- _proto.toggle = function toggle() {
1121
- if ($$$1(this._element).hasClass(ClassName.SHOW)) {
1122
- this.hide();
1123
- } else {
1124
- this.show();
1125
- }
1126
- };
1127
 
1128
- _proto.show = function show() {
1129
- var _this = this;
1130
 
1131
- if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
1132
- return;
1133
- }
1134
 
1135
- var actives;
1136
- var activesData;
1137
 
1138
- if (this._parent) {
1139
- actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
1140
 
1141
- if (actives.length === 0) {
1142
- actives = null;
 
1143
  }
1144
- }
1145
 
1146
- if (actives) {
1147
- activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
1148
 
1149
- if (activesData && activesData._isTransitioning) {
1150
- return;
 
1151
  }
1152
- }
1153
 
1154
- var startEvent = $$$1.Event(Event.SHOW);
1155
- $$$1(this._element).trigger(startEvent);
1156
 
1157
- if (startEvent.isDefaultPrevented()) {
1158
- return;
1159
- }
1160
 
1161
- if (actives) {
1162
- Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
1163
 
1164
- if (!activesData) {
1165
- $$$1(actives).data(DATA_KEY, null);
 
1166
  }
1167
- }
1168
 
1169
- var dimension = this._getDimension();
1170
 
1171
- $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1172
- this._element.style[dimension] = 0;
1173
 
1174
- if (this._triggerArray.length > 0) {
1175
- $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1176
- }
1177
-
1178
- this.setTransitioning(true);
1179
 
1180
- var complete = function complete() {
1181
- $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
1182
- _this._element.style[dimension] = '';
1183
 
1184
- _this.setTransitioning(false);
 
 
1185
 
1186
- $$$1(_this._element).trigger(Event.SHOWN);
1187
- };
1188
 
1189
- if (!Util.supportsTransitionEnd()) {
1190
- complete();
1191
- return;
1192
- }
1193
 
1194
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1195
- var scrollSize = "scroll" + capitalizedDimension;
1196
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
1197
- this._element.style[dimension] = this._element[scrollSize] + "px";
1198
- };
 
1199
 
1200
- _proto.hide = function hide() {
1201
- var _this2 = this;
1202
 
1203
- if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
1204
- return;
1205
- }
1206
 
1207
- var startEvent = $$$1.Event(Event.HIDE);
1208
- $$$1(this._element).trigger(startEvent);
1209
 
1210
- if (startEvent.isDefaultPrevented()) {
1211
- return;
1212
- }
1213
 
1214
- var dimension = this._getDimension();
1215
 
1216
- this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1217
- Util.reflow(this._element);
1218
- $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1219
 
1220
- if (this._triggerArray.length > 0) {
1221
- for (var i = 0; i < this._triggerArray.length; i++) {
1222
- var trigger = this._triggerArray[i];
1223
- var selector = Util.getSelectorFromElement(trigger);
1224
 
1225
- if (selector !== null) {
1226
- var $elem = $$$1(selector);
1227
 
1228
- if (!$elem.hasClass(ClassName.SHOW)) {
1229
- $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
 
1230
  }
1231
  }
1232
  }
1233
- }
1234
-
1235
- this.setTransitioning(true);
1236
 
1237
- var complete = function complete() {
1238
- _this2.setTransitioning(false);
1239
-
1240
- $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
1241
- };
1242
 
1243
- this._element.style[dimension] = '';
 
1244
 
1245
- if (!Util.supportsTransitionEnd()) {
1246
- complete();
1247
- return;
1248
- }
1249
 
1250
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
1251
- };
 
 
1252
 
1253
- _proto.setTransitioning = function setTransitioning(isTransitioning) {
1254
- this._isTransitioning = isTransitioning;
1255
- };
1256
 
1257
- _proto.dispose = function dispose() {
1258
- $$$1.removeData(this._element, DATA_KEY);
1259
- this._config = null;
1260
- this._parent = null;
1261
- this._element = null;
1262
- this._triggerArray = null;
1263
- this._isTransitioning = null;
1264
- }; // Private
1265
 
1266
 
1267
- _proto._getConfig = function _getConfig(config) {
1268
- config = _extends({}, Default, config);
1269
- config.toggle = Boolean(config.toggle); // Coerce string values
1270
 
1271
- Util.typeCheckConfig(NAME, config, DefaultType);
1272
- return config;
1273
- };
1274
 
1275
- _proto._getDimension = function _getDimension() {
1276
- var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
1277
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1278
- };
1279
 
1280
- _proto._getParent = function _getParent() {
1281
- var _this3 = this;
1282
 
1283
- var parent = null;
1284
 
1285
- if (Util.isElement(this._config.parent)) {
1286
- parent = this._config.parent; // It's a jQuery object
1287
 
1288
- if (typeof this._config.parent.jquery !== 'undefined') {
1289
- parent = this._config.parent[0];
 
 
 
1290
  }
1291
- } else {
1292
- parent = $$$1(this._config.parent)[0];
1293
- }
1294
 
1295
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1296
- $$$1(parent).find(selector).each(function (i, element) {
1297
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1298
- });
1299
- return parent;
1300
- };
1301
 
1302
- _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1303
- if (element) {
1304
- var isOpen = $$$1(element).hasClass(ClassName.SHOW);
1305
 
1306
- if (triggerArray.length > 0) {
1307
- $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
 
1308
  }
1309
- }
1310
- }; // Static
1311
 
1312
 
1313
- Collapse._getTargetFromElement = function _getTargetFromElement(element) {
1314
- var selector = Util.getSelectorFromElement(element);
1315
- return selector ? $$$1(selector)[0] : null;
1316
- };
1317
 
1318
- Collapse._jQueryInterface = function _jQueryInterface(config) {
1319
- return this.each(function () {
1320
- var $this = $$$1(this);
1321
- var data = $this.data(DATA_KEY);
1322
 
1323
- var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
1324
 
1325
- if (!data && _config.toggle && /show|hide/.test(config)) {
1326
- _config.toggle = false;
1327
- }
1328
 
1329
- if (!data) {
1330
- data = new Collapse(this, _config);
1331
- $this.data(DATA_KEY, data);
1332
- }
1333
 
1334
- if (typeof config === 'string') {
1335
- if (typeof data[config] === 'undefined') {
1336
- throw new TypeError("No method named \"" + config + "\"");
 
 
 
1337
  }
 
 
1338
 
1339
- data[config]();
 
 
 
1340
  }
1341
- });
1342
- };
 
 
 
 
1343
 
1344
- _createClass(Collapse, null, [{
1345
- key: "VERSION",
1346
- get: function get() {
1347
- return VERSION;
1348
- }
1349
- }, {
1350
- key: "Default",
1351
- get: function get() {
1352
- return Default;
1353
- }
1354
- }]);
1355
- return Collapse;
1356
- }();
1357
- /**
1358
- * ------------------------------------------------------------------------
1359
- * Data Api implementation
1360
- * ------------------------------------------------------------------------
1361
- */
1362
 
1363
 
1364
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1365
- // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1366
- if (event.currentTarget.tagName === 'A') {
1367
- event.preventDefault();
1368
- }
1369
 
1370
- var $trigger = $$$1(this);
1371
- var selector = Util.getSelectorFromElement(this);
1372
- $$$1(selector).each(function () {
1373
- var $target = $$$1(this);
1374
- var data = $target.data(DATA_KEY);
1375
- var config = data ? 'toggle' : $trigger.data();
1376
 
1377
- Collapse._jQueryInterface.call($target, config);
 
1378
  });
1379
- });
1380
- /**
1381
- * ------------------------------------------------------------------------
1382
- * jQuery
1383
- * ------------------------------------------------------------------------
1384
- */
1385
 
1386
- $$$1.fn[NAME] = Collapse._jQueryInterface;
1387
- $$$1.fn[NAME].Constructor = Collapse;
1388
 
1389
- $$$1.fn[NAME].noConflict = function () {
1390
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1391
- return Collapse._jQueryInterface;
1392
- };
1393
 
1394
- return Collapse;
1395
- }($);
1396
-
1397
- /**!
1398
- * @fileOverview Kickass library to create and place poppers near their reference elements.
1399
- * @version 1.12.9
1400
- * @license
1401
- * Copyright (c) 2016 Federico Zivolo and contributors
1402
- *
1403
- * Permission is hereby granted, free of charge, to any person obtaining a copy
1404
- * of this software and associated documentation files (the "Software"), to deal
1405
- * in the Software without restriction, including without limitation the rights
1406
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1407
- * copies of the Software, and to permit persons to whom the Software is
1408
- * furnished to do so, subject to the following conditions:
1409
- *
1410
- * The above copyright notice and this permission notice shall be included in all
1411
- * copies or substantial portions of the Software.
1412
- *
1413
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1414
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1415
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1416
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1417
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1418
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1419
- * SOFTWARE.
1420
- */
1421
- var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
1422
- var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
1423
- var timeoutDuration = 0;
1424
- for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
1425
- if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
1426
- timeoutDuration = 1;
1427
- break;
1428
- }
1429
- }
1430
 
1431
- function microtaskDebounce(fn) {
1432
- var called = false;
1433
- return function () {
1434
- if (called) {
1435
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1436
  }
1437
- called = true;
1438
- window.Promise.resolve().then(function () {
1439
- called = false;
1440
- fn();
1441
- });
1442
- };
1443
- }
1444
 
1445
- function taskDebounce(fn) {
1446
- var scheduled = false;
1447
- return function () {
1448
- if (!scheduled) {
1449
- scheduled = true;
1450
- setTimeout(function () {
1451
- scheduled = false;
 
 
1452
  fn();
1453
- }, timeoutDuration);
1454
- }
1455
- };
1456
- }
1457
-
1458
- var supportsMicroTasks = isBrowser && window.Promise;
1459
-
1460
- /**
1461
- * Create a debounced version of a method, that's asynchronously deferred
1462
- * but called in the minimum time possible.
1463
- *
1464
- * @method
1465
- * @memberof Popper.Utils
1466
- * @argument {Function} fn
1467
- * @returns {Function}
1468
- */
1469
- var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
1470
-
1471
- /**
1472
- * Check if the given variable is a function
1473
- * @method
1474
- * @memberof Popper.Utils
1475
- * @argument {Any} functionToCheck - variable to check
1476
- * @returns {Boolean} answer to: is a function?
1477
- */
1478
- function isFunction(functionToCheck) {
1479
- var getType = {};
1480
- return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
1481
- }
1482
-
1483
- /**
1484
- * Get CSS computed property of the given element
1485
- * @method
1486
- * @memberof Popper.Utils
1487
- * @argument {Eement} element
1488
- * @argument {String} property
1489
- */
1490
- function getStyleComputedProperty(element, property) {
1491
- if (element.nodeType !== 1) {
1492
- return [];
1493
- }
1494
- // NOTE: 1 DOM access here
1495
- var css = getComputedStyle(element, null);
1496
- return property ? css[property] : css;
1497
- }
1498
-
1499
- /**
1500
- * Returns the parentNode or the host of the element
1501
- * @method
1502
- * @memberof Popper.Utils
1503
- * @argument {Element} element
1504
- * @returns {Element} parent
1505
- */
1506
- function getParentNode(element) {
1507
- if (element.nodeName === 'HTML') {
1508
- return element;
1509
- }
1510
- return element.parentNode || element.host;
1511
- }
1512
-
1513
- /**
1514
- * Returns the scrolling parent of the given element
1515
- * @method
1516
- * @memberof Popper.Utils
1517
- * @argument {Element} element
1518
- * @returns {Element} scroll parent
1519
- */
1520
- function getScrollParent(element) {
1521
- // Return body, `getScroll` will take care to get the correct `scrollTop` from it
1522
- if (!element) {
1523
- return document.body;
1524
  }
1525
 
1526
- switch (element.nodeName) {
1527
- case 'HTML':
1528
- case 'BODY':
1529
- return element.ownerDocument.body;
1530
- case '#document':
1531
- return element.body;
 
 
 
 
 
1532
  }
1533
 
1534
- // Firefox want us to check `-x` and `-y` variations as well
1535
 
1536
- var _getStyleComputedProp = getStyleComputedProperty(element),
1537
- overflow = _getStyleComputedProp.overflow,
1538
- overflowX = _getStyleComputedProp.overflowX,
1539
- overflowY = _getStyleComputedProp.overflowY;
 
 
 
 
 
 
1540
 
1541
- if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
1542
- return element;
 
 
 
 
 
 
 
 
1543
  }
1544
 
1545
- return getScrollParent(getParentNode(element));
1546
- }
1547
-
1548
- /**
1549
- * Returns the offset parent of the given element
1550
- * @method
1551
- * @memberof Popper.Utils
1552
- * @argument {Element} element
1553
- * @returns {Element} offset parent
1554
- */
1555
- function getOffsetParent(element) {
1556
- // NOTE: 1 DOM access here
1557
- var offsetParent = element && element.offsetParent;
1558
- var nodeName = offsetParent && offsetParent.nodeName;
1559
-
1560
- if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
1561
- if (element) {
1562
- return element.ownerDocument.documentElement;
1563
  }
1564
-
1565
- return document.documentElement;
 
1566
  }
1567
 
1568
- // .offsetParent will return the closest TD or TABLE in case
1569
- // no offsetParent is present, I hate this job...
1570
- if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
1571
- return getOffsetParent(offsetParent);
1572
- }
1573
-
1574
- return offsetParent;
1575
- }
1576
-
1577
- function isOffsetContainer(element) {
1578
- var nodeName = element.nodeName;
1579
-
1580
- if (nodeName === 'BODY') {
1581
- return false;
1582
- }
1583
- return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
1584
- }
1585
-
1586
- /**
1587
- * Finds the root node (document, shadowDOM root) of the given element
1588
- * @method
1589
- * @memberof Popper.Utils
1590
- * @argument {Element} node
1591
- * @returns {Element} root node
1592
- */
1593
- function getRoot(node) {
1594
- if (node.parentNode !== null) {
1595
- return getRoot(node.parentNode);
1596
  }
1597
 
1598
- return node;
1599
- }
1600
-
1601
- /**
1602
- * Finds the offset parent common to the two provided nodes
1603
- * @method
1604
- * @memberof Popper.Utils
1605
- * @argument {Element} element1
1606
- * @argument {Element} element2
1607
- * @returns {Element} common offset parent
1608
- */
1609
- function findCommonOffsetParent(element1, element2) {
1610
- // This check is needed to avoid errors in case one of the elements isn't defined for any reason
1611
- if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
1612
- return document.documentElement;
1613
- }
1614
 
1615
- // Here we make sure to give as "start" the element that comes first in the DOM
1616
- var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
1617
- var start = order ? element1 : element2;
1618
- var end = order ? element2 : element1;
 
 
 
1619
 
1620
- // Get common ancestor container
1621
- var range = document.createRange();
1622
- range.setStart(start, 0);
1623
- range.setEnd(end, 0);
1624
- var commonAncestorContainer = range.commonAncestorContainer;
1625
 
1626
- // Both nodes are inside #document
 
 
 
1627
 
1628
- if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
1629
- if (isOffsetContainer(commonAncestorContainer)) {
1630
- return commonAncestorContainer;
1631
  }
1632
 
1633
- return getOffsetParent(commonAncestorContainer);
1634
- }
1635
-
1636
- // one of the nodes is inside shadowDOM, find which one
1637
- var element1root = getRoot(element1);
1638
- if (element1root.host) {
1639
- return findCommonOffsetParent(element1root.host, element2);
1640
- } else {
1641
- return findCommonOffsetParent(element1, getRoot(element2).host);
1642
- }
1643
- }
1644
-
1645
- /**
1646
- * Gets the scroll value of the given element in the given side (top and left)
1647
- * @method
1648
- * @memberof Popper.Utils
1649
- * @argument {Element} element
1650
- * @argument {String} side `top` or `left`
1651
- * @returns {number} amount of scrolled pixels
1652
- */
1653
- function getScroll(element) {
1654
- var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
1655
-
1656
- var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
1657
- var nodeName = element.nodeName;
1658
-
1659
- if (nodeName === 'BODY' || nodeName === 'HTML') {
1660
- var html = element.ownerDocument.documentElement;
1661
- var scrollingElement = element.ownerDocument.scrollingElement || html;
1662
- return scrollingElement[upperSide];
1663
  }
1664
 
1665
- return element[upperSide];
1666
- }
1667
-
1668
- /*
1669
- * Sum or subtract the element scroll values (left and top) from a given rect object
1670
- * @method
1671
- * @memberof Popper.Utils
1672
- * @param {Object} rect - Rect object you want to change
1673
- * @param {HTMLElement} element - The element from the function reads the scroll values
1674
- * @param {Boolean} subtract - set to true if you want to subtract the scroll values
1675
- * @return {Object} rect - The modifier rect object
1676
- */
1677
- function includeScroll(rect, element) {
1678
- var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1679
-
1680
- var scrollTop = getScroll(element, 'top');
1681
- var scrollLeft = getScroll(element, 'left');
1682
- var modifier = subtract ? -1 : 1;
1683
- rect.top += scrollTop * modifier;
1684
- rect.bottom += scrollTop * modifier;
1685
- rect.left += scrollLeft * modifier;
1686
- rect.right += scrollLeft * modifier;
1687
- return rect;
1688
- }
1689
-
1690
- /*
1691
- * Helper to detect borders of a given element
1692
- * @method
1693
- * @memberof Popper.Utils
1694
- * @param {CSSStyleDeclaration} styles
1695
- * Result of `getStyleComputedProperty` on the given element
1696
- * @param {String} axis - `x` or `y`
1697
- * @return {number} borders - The borders size of the given axis
1698
- */
1699
-
1700
- function getBordersSize(styles, axis) {
1701
- var sideA = axis === 'x' ? 'Left' : 'Top';
1702
- var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
1703
-
1704
- return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
1705
- }
1706
-
1707
- /**
1708
- * Tells if you are running Internet Explorer 10
1709
- * @method
1710
- * @memberof Popper.Utils
1711
- * @returns {Boolean} isIE10
1712
- */
1713
- var isIE10 = undefined;
1714
-
1715
- var isIE10$1 = function () {
1716
- if (isIE10 === undefined) {
1717
- isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;
1718
- }
1719
- return isIE10;
1720
- };
1721
 
1722
- function getSize(axis, body, html, computedStyle) {
1723
- return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
1724
- }
1725
 
1726
- function getWindowSizes() {
1727
- var body = document.body;
1728
- var html = document.documentElement;
1729
- var computedStyle = isIE10$1() && getComputedStyle(html);
 
 
 
 
 
 
 
 
 
 
 
1730
 
1731
- return {
1732
- height: getSize('Height', body, html, computedStyle),
1733
- width: getSize('Width', body, html, computedStyle)
 
 
1734
  };
1735
- }
1736
-
1737
- var classCallCheck = function (instance, Constructor) {
1738
- if (!(instance instanceof Constructor)) {
1739
- throw new TypeError("Cannot call a class as a function");
1740
- }
1741
- };
1742
 
1743
- var createClass = function () {
1744
- function defineProperties(target, props) {
1745
- for (var i = 0; i < props.length; i++) {
1746
- var descriptor = props[i];
1747
- descriptor.enumerable = descriptor.enumerable || false;
1748
- descriptor.configurable = true;
1749
- if ("value" in descriptor) descriptor.writable = true;
1750
- Object.defineProperty(target, descriptor.key, descriptor);
 
 
1751
  }
1752
- }
1753
 
1754
- return function (Constructor, protoProps, staticProps) {
1755
- if (protoProps) defineProperties(Constructor.prototype, protoProps);
1756
- if (staticProps) defineProperties(Constructor, staticProps);
1757
- return Constructor;
1758
- };
1759
- }();
1760
 
 
 
 
 
 
 
1761
 
 
1762
 
 
 
 
1763
 
 
 
 
 
 
1764
 
1765
- var defineProperty = function (obj, key, value) {
1766
- if (key in obj) {
1767
- Object.defineProperty(obj, key, {
1768
- value: value,
1769
- enumerable: true,
1770
- configurable: true,
1771
- writable: true
1772
- });
1773
- } else {
1774
- obj[key] = value;
1775
  }
1776
 
1777
- return obj;
1778
- };
1779
-
1780
- var _extends$1 = Object.assign || function (target) {
1781
- for (var i = 1; i < arguments.length; i++) {
1782
- var source = arguments[i];
1783
 
1784
- for (var key in source) {
1785
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1786
- target[key] = source[key];
1787
- }
1788
  }
 
1789
  }
1790
 
1791
- return target;
1792
- };
1793
-
1794
- /**
1795
- * Given element offsets, generate an output similar to getBoundingClientRect
1796
- * @method
1797
- * @memberof Popper.Utils
1798
- * @argument {Object} offsets
1799
- * @returns {Object} ClientRect like output
1800
- */
1801
- function getClientRect(offsets) {
1802
- return _extends$1({}, offsets, {
1803
- right: offsets.left + offsets.width,
1804
- bottom: offsets.top + offsets.height
1805
- });
1806
- }
1807
-
1808
- /**
1809
- * Get bounding client rect of given element
1810
- * @method
1811
- * @memberof Popper.Utils
1812
- * @param {HTMLElement} element
1813
- * @return {Object} client rect
1814
- */
1815
- function getBoundingClientRect(element) {
1816
- var rect = {};
1817
-
1818
- // IE10 10 FIX: Please, don't ask, the element isn't
1819
- // considered in DOM in some circumstances...
1820
- // This isn't reproducible in IE10 compatibility mode of IE11
1821
- if (isIE10$1()) {
1822
- try {
1823
- rect = element.getBoundingClientRect();
1824
- var scrollTop = getScroll(element, 'top');
1825
- var scrollLeft = getScroll(element, 'left');
1826
- rect.top += scrollTop;
1827
- rect.left += scrollLeft;
1828
- rect.bottom += scrollTop;
1829
- rect.right += scrollLeft;
1830
- } catch (err) {}
1831
- } else {
1832
- rect = element.getBoundingClientRect();
1833
- }
1834
-
1835
- var result = {
1836
- left: rect.left,
1837
- top: rect.top,
1838
- width: rect.right - rect.left,
1839
- height: rect.bottom - rect.top
1840
- };
1841
-
1842
- // subtract scrollbar size from sizes
1843
- var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
1844
- var width = sizes.width || element.clientWidth || result.right - result.left;
1845
- var height = sizes.height || element.clientHeight || result.bottom - result.top;
1846
-
1847
- var horizScrollbar = element.offsetWidth - width;
1848
- var vertScrollbar = element.offsetHeight - height;
1849
-
1850
- // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
1851
- // we make this check conditional for performance reasons
1852
- if (horizScrollbar || vertScrollbar) {
1853
- var styles = getStyleComputedProperty(element);
1854
- horizScrollbar -= getBordersSize(styles, 'x');
1855
- vertScrollbar -= getBordersSize(styles, 'y');
1856
 
1857
- result.width -= horizScrollbar;
1858
- result.height -= vertScrollbar;
1859
  }
1860
 
1861
- return getClientRect(result);
1862
- }
1863
-
1864
- function getOffsetRectRelativeToArbitraryNode(children, parent) {
1865
- var isIE10 = isIE10$1();
1866
- var isHTML = parent.nodeName === 'HTML';
1867
- var childrenRect = getBoundingClientRect(children);
1868
- var parentRect = getBoundingClientRect(parent);
1869
- var scrollParent = getScrollParent(children);
1870
-
1871
- var styles = getStyleComputedProperty(parent);
1872
- var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
1873
- var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
1874
-
1875
- var offsets = getClientRect({
1876
- top: childrenRect.top - parentRect.top - borderTopWidth,
1877
- left: childrenRect.left - parentRect.left - borderLeftWidth,
1878
- width: childrenRect.width,
1879
- height: childrenRect.height
1880
- });
1881
- offsets.marginTop = 0;
1882
- offsets.marginLeft = 0;
1883
-
1884
- // Subtract margins of documentElement in case it's being used as parent
1885
- // we do this only on HTML because it's the only element that behaves
1886
- // differently when margins are applied to it. The margins are included in
1887
- // the box of the documentElement, in the other cases not.
1888
- if (!isIE10 && isHTML) {
1889
- var marginTop = parseFloat(styles.marginTop, 10);
1890
- var marginLeft = parseFloat(styles.marginLeft, 10);
1891
-
1892
- offsets.top -= borderTopWidth - marginTop;
1893
- offsets.bottom -= borderTopWidth - marginTop;
1894
- offsets.left -= borderLeftWidth - marginLeft;
1895
- offsets.right -= borderLeftWidth - marginLeft;
1896
-
1897
- // Attach marginTop and marginLeft because in some circumstances we may need them
1898
- offsets.marginTop = marginTop;
1899
- offsets.marginLeft = marginLeft;
1900
- }
1901
 
1902
- if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
1903
- offsets = includeScroll(offsets, parent);
1904
- }
 
1905
 
1906
- return offsets;
1907
- }
 
 
 
1908
 
1909
- function getViewportOffsetRectRelativeToArtbitraryNode(element) {
1910
- var html = element.ownerDocument.documentElement;
1911
- var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
1912
- var width = Math.max(html.clientWidth, window.innerWidth || 0);
1913
- var height = Math.max(html.clientHeight, window.innerHeight || 0);
1914
 
1915
- var scrollTop = getScroll(html);
1916
- var scrollLeft = getScroll(html, 'left');
 
 
1917
 
1918
- var offset = {
1919
- top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
1920
- left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
1921
- width: width,
1922
- height: height
1923
- };
1924
 
1925
- return getClientRect(offset);
1926
- }
1927
-
1928
- /**
1929
- * Check if the given element is fixed or is inside a fixed parent
1930
- * @method
1931
- * @memberof Popper.Utils
1932
- * @argument {Element} element
1933
- * @argument {Element} customContainer
1934
- * @returns {Boolean} answer to "isFixed?"
1935
- */
1936
- function isFixed(element) {
1937
- var nodeName = element.nodeName;
1938
- if (nodeName === 'BODY' || nodeName === 'HTML') {
1939
- return false;
1940
- }
1941
- if (getStyleComputedProperty(element, 'position') === 'fixed') {
1942
- return true;
1943
- }
1944
- return isFixed(getParentNode(element));
1945
- }
1946
-
1947
- /**
1948
- * Computed the boundaries limits and return them
1949
- * @method
1950
- * @memberof Popper.Utils
1951
- * @param {HTMLElement} popper
1952
- * @param {HTMLElement} reference
1953
- * @param {number} padding
1954
- * @param {HTMLElement} boundariesElement - Element used to define the boundaries
1955
- * @returns {Object} Coordinates of the boundaries
1956
- */
1957
- function getBoundaries(popper, reference, padding, boundariesElement) {
1958
- // NOTE: 1 DOM access here
1959
- var boundaries = { top: 0, left: 0 };
1960
- var offsetParent = findCommonOffsetParent(popper, reference);
1961
-
1962
- // Handle viewport case
1963
- if (boundariesElement === 'viewport') {
1964
- boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);
1965
- } else {
1966
- // Handle other cases based on DOM element used as boundaries
1967
- var boundariesNode = void 0;
1968
- if (boundariesElement === 'scrollParent') {
1969
- boundariesNode = getScrollParent(getParentNode(reference));
1970
- if (boundariesNode.nodeName === 'BODY') {
1971
- boundariesNode = popper.ownerDocument.documentElement;
1972
- }
1973
- } else if (boundariesElement === 'window') {
1974
- boundariesNode = popper.ownerDocument.documentElement;
1975
  } else {
1976
- boundariesNode = boundariesElement;
1977
  }
 
1978
 
1979
- var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);
 
 
 
 
 
 
 
 
 
1980
 
1981
- // In case of HTML, we need a different computation
1982
- if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
1983
- var _getWindowSizes = getWindowSizes(),
1984
- height = _getWindowSizes.height,
1985
- width = _getWindowSizes.width;
1986
 
1987
- boundaries.top += offsets.top - offsets.marginTop;
1988
- boundaries.bottom = height + offsets.top;
1989
- boundaries.left += offsets.left - offsets.marginLeft;
1990
- boundaries.right = width + offsets.left;
1991
- } else {
1992
- // for all the other DOM elements, this one is good
1993
- boundaries = offsets;
1994
  }
1995
- }
1996
 
1997
- // Add paddings
1998
- boundaries.left += padding;
1999
- boundaries.top += padding;
2000
- boundaries.right -= padding;
2001
- boundaries.bottom -= padding;
2002
-
2003
- return boundaries;
2004
- }
2005
-
2006
- function getArea(_ref) {
2007
- var width = _ref.width,
2008
- height = _ref.height;
2009
-
2010
- return width * height;
2011
- }
2012
-
2013
- /**
2014
- * Utility used to transform the `auto` placement to the placement with more
2015
- * available space.
2016
- * @method
2017
- * @memberof Popper.Utils
2018
- * @argument {Object} data - The data object generated by update method
2019
- * @argument {Object} options - Modifiers configuration and options
2020
- * @returns {Object} The data object, properly modified
2021
- */
2022
- function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
2023
- var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
2024
-
2025
- if (placement.indexOf('auto') === -1) {
2026
- return placement;
2027
  }
2028
 
2029
- var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2030
 
2031
- var rects = {
2032
- top: {
2033
- width: boundaries.width,
2034
- height: refRect.top - boundaries.top
2035
- },
2036
- right: {
2037
- width: boundaries.right - refRect.right,
2038
- height: boundaries.height
2039
- },
2040
- bottom: {
2041
- width: boundaries.width,
2042
- height: boundaries.bottom - refRect.bottom
2043
- },
2044
- left: {
2045
- width: refRect.left - boundaries.left,
2046
- height: boundaries.height
2047
- }
2048
- };
2049
 
2050
- var sortedAreas = Object.keys(rects).map(function (key) {
2051
- return _extends$1({
2052
- key: key
2053
- }, rects[key], {
2054
- area: getArea(rects[key])
2055
- });
2056
- }).sort(function (a, b) {
2057
- return b.area - a.area;
2058
- });
2059
-
2060
- var filteredAreas = sortedAreas.filter(function (_ref2) {
2061
- var width = _ref2.width,
2062
- height = _ref2.height;
2063
- return width >= popper.clientWidth && height >= popper.clientHeight;
2064
- });
2065
-
2066
- var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
2067
-
2068
- var variation = placement.split('-')[1];
2069
-
2070
- return computedPlacement + (variation ? '-' + variation : '');
2071
- }
2072
-
2073
- /**
2074
- * Get offsets to the reference element
2075
- * @method
2076
- * @memberof Popper.Utils
2077
- * @param {Object} state
2078
- * @param {Element} popper - the popper element
2079
- * @param {Element} reference - the reference element (the popper will be relative to this)
2080
- * @returns {Object} An object containing the offsets which will be applied to the popper
2081
- */
2082
- function getReferenceOffsets(state, popper, reference) {
2083
- var commonOffsetParent = findCommonOffsetParent(popper, reference);
2084
- return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);
2085
- }
2086
-
2087
- /**
2088
- * Get the outer sizes of the given element (offset size + margins)
2089
- * @method
2090
- * @memberof Popper.Utils
2091
- * @argument {Element} element
2092
- * @returns {Object} object containing width and height properties
2093
- */
2094
- function getOuterSizes(element) {
2095
- var styles = getComputedStyle(element);
2096
- var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
2097
- var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
2098
- var result = {
2099
- width: element.offsetWidth + y,
2100
- height: element.offsetHeight + x
2101
- };
2102
- return result;
2103
- }
2104
-
2105
- /**
2106
- * Get the opposite placement of the given one
2107
- * @method
2108
- * @memberof Popper.Utils
2109
- * @argument {String} placement
2110
- * @returns {String} flipped placement
2111
- */
2112
- function getOppositePlacement(placement) {
2113
- var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
2114
- return placement.replace(/left|right|bottom|top/g, function (matched) {
2115
- return hash[matched];
2116
- });
2117
- }
2118
-
2119
- /**
2120
- * Get offsets to the popper
2121
- * @method
2122
- * @memberof Popper.Utils
2123
- * @param {Object} position - CSS position the Popper will get applied
2124
- * @param {HTMLElement} popper - the popper element
2125
- * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
2126
- * @param {String} placement - one of the valid placement options
2127
- * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
2128
- */
2129
- function getPopperOffsets(popper, referenceOffsets, placement) {
2130
- placement = placement.split('-')[0];
2131
-
2132
- // Get popper node sizes
2133
- var popperRect = getOuterSizes(popper);
2134
-
2135
- // Add position, width and height to our offsets object
2136
- var popperOffsets = {
2137
- width: popperRect.width,
2138
- height: popperRect.height
2139
- };
2140
 
2141
- // depending by the popper placement we have to compute its offsets slightly differently
2142
- var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
2143
- var mainSide = isHoriz ? 'top' : 'left';
2144
- var secondarySide = isHoriz ? 'left' : 'top';
2145
- var measurement = isHoriz ? 'height' : 'width';
2146
- var secondaryMeasurement = !isHoriz ? 'height' : 'width';
2147
-
2148
- popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
2149
- if (placement === secondarySide) {
2150
- popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
2151
- } else {
2152
- popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
2153
  }
2154
 
2155
- return popperOffsets;
2156
- }
2157
-
2158
- /**
2159
- * Mimics the `find` method of Array
2160
- * @method
2161
- * @memberof Popper.Utils
2162
- * @argument {Array} arr
2163
- * @argument prop
2164
- * @argument value
2165
- * @returns index or -1
2166
- */
2167
- function find(arr, check) {
2168
- // use native find if supported
2169
- if (Array.prototype.find) {
2170
- return arr.find(check);
2171
  }
2172
 
2173
- // use `filter` to obtain the same behavior of `find`
2174
- return arr.filter(check)[0];
2175
- }
2176
-
2177
- /**
2178
- * Return the index of the matching object
2179
- * @method
2180
- * @memberof Popper.Utils
2181
- * @argument {Array} arr
2182
- * @argument prop
2183
- * @argument value
2184
- * @returns index or -1
2185
- */
2186
- function findIndex(arr, prop, value) {
2187
- // use native findIndex if supported
2188
- if (Array.prototype.findIndex) {
2189
- return arr.findIndex(function (cur) {
2190
- return cur[prop] === value;
2191
- });
2192
- }
2193
 
2194
- // use `find` + `indexOf` if `findIndex` isn't supported
2195
- var match = find(arr, function (obj) {
2196
- return obj[prop] === value;
2197
- });
2198
- return arr.indexOf(match);
2199
- }
2200
-
2201
- /**
2202
- * Loop trough the list of modifiers and run them in order,
2203
- * each of them will then edit the data object.
2204
- * @method
2205
- * @memberof Popper.Utils
2206
- * @param {dataObject} data
2207
- * @param {Array} modifiers
2208
- * @param {String} ends - Optional modifier name used as stopper
2209
- * @returns {dataObject}
2210
- */
2211
- function runModifiers(modifiers, data, ends) {
2212
- var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
2213
-
2214
- modifiersToRun.forEach(function (modifier) {
2215
- if (modifier['function']) {
2216
- // eslint-disable-line dot-notation
2217
- console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
2218
- }
2219
- var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
2220
- if (modifier.enabled && isFunction(fn)) {
2221
- // Add properties to offsets to make them a complete clientRect object
2222
- // we do this before each modifier to make sure the previous one doesn't
2223
- // mess with these values
2224
- data.offsets.popper = getClientRect(data.offsets.popper);
2225
- data.offsets.reference = getClientRect(data.offsets.reference);
2226
-
2227
- data = fn(data, modifier);
2228
- }
2229
- });
2230
-
2231
- return data;
2232
- }
2233
-
2234
- /**
2235
- * Updates the position of the popper, computing the new offsets and applying
2236
- * the new style.<br />
2237
- * Prefer `scheduleUpdate` over `update` because of performance reasons.
2238
- * @method
2239
- * @memberof Popper
2240
- */
2241
- function update() {
2242
- // if popper is destroyed, don't perform any further update
2243
- if (this.state.isDestroyed) {
2244
- return;
2245
  }
2246
 
2247
- var data = {
2248
- instance: this,
2249
- styles: {},
2250
- arrowStyles: {},
2251
- attributes: {},
2252
- flipped: false,
2253
- offsets: {}
2254
  };
2255
 
2256
- // compute reference element offsets
2257
- data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);
2258
-
2259
- // compute auto placement, store placement inside the data object,
2260
- // modifiers will be able to edit `placement` if needed
2261
- // and refer to originalPlacement to know the original value
2262
- data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
 
 
 
2263
 
2264
- // store the computed placement inside `originalPlacement`
2265
- data.originalPlacement = data.placement;
 
 
 
 
2266
 
2267
- // compute the popper offsets
2268
- data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
2269
- data.offsets.popper.position = 'absolute';
2270
 
2271
- // run the modifiers
2272
- data = runModifiers(this.modifiers, data);
2273
 
2274
- // the first `update` will call `onCreate` callback
2275
- // the other ones will call `onUpdate` callback
2276
- if (!this.state.isCreated) {
2277
- this.state.isCreated = true;
2278
- this.options.onCreate(data);
2279
- } else {
2280
- this.options.onUpdate(data);
2281
- }
2282
- }
2283
-
2284
- /**
2285
- * Helper used to know if the given modifier is enabled.
2286
- * @method
2287
- * @memberof Popper.Utils
2288
- * @returns {Boolean}
2289
- */
2290
- function isModifierEnabled(modifiers, modifierName) {
2291
- return modifiers.some(function (_ref) {
2292
- var name = _ref.name,
2293
- enabled = _ref.enabled;
2294
- return enabled && name === modifierName;
2295
- });
2296
- }
2297
-
2298
- /**
2299
- * Get the prefixed supported property name
2300
- * @method
2301
- * @memberof Popper.Utils
2302
- * @argument {String} property (camelCase)
2303
- * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
2304
- */
2305
- function getSupportedPropertyName(property) {
2306
- var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
2307
- var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
2308
-
2309
- for (var i = 0; i < prefixes.length - 1; i++) {
2310
- var prefix = prefixes[i];
2311
- var toCheck = prefix ? '' + prefix + upperProp : property;
2312
- if (typeof document.body.style[toCheck] !== 'undefined') {
2313
- return toCheck;
2314
- }
2315
- }
2316
- return null;
2317
- }
2318
-
2319
- /**
2320
- * Destroy the popper
2321
- * @method
2322
- * @memberof Popper
2323
- */
2324
- function destroy() {
2325
- this.state.isDestroyed = true;
2326
-
2327
- // touch DOM only if `applyStyle` modifier is enabled
2328
- if (isModifierEnabled(this.modifiers, 'applyStyle')) {
2329
- this.popper.removeAttribute('x-placement');
2330
- this.popper.style.left = '';
2331
- this.popper.style.position = '';
2332
- this.popper.style.top = '';
2333
- this.popper.style[getSupportedPropertyName('transform')] = '';
2334
- }
2335
 
2336
- this.disableEventListeners();
2337
 
2338
- // remove the popper if user explicity asked for the deletion on destroy
2339
- // do not use `remove` because IE11 doesn't support it
2340
- if (this.options.removeOnDestroy) {
2341
- this.popper.parentNode.removeChild(this.popper);
2342
- }
2343
- return this;
2344
- }
2345
-
2346
- /**
2347
- * Get the window associated with the element
2348
- * @argument {Element} element
2349
- * @returns {Window}
2350
- */
2351
- function getWindow(element) {
2352
- var ownerDocument = element.ownerDocument;
2353
- return ownerDocument ? ownerDocument.defaultView : window;
2354
- }
2355
-
2356
- function attachToScrollParents(scrollParent, event, callback, scrollParents) {
2357
- var isBody = scrollParent.nodeName === 'BODY';
2358
- var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
2359
- target.addEventListener(event, callback, { passive: true });
2360
-
2361
- if (!isBody) {
2362
- attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
2363
- }
2364
- scrollParents.push(target);
2365
- }
2366
-
2367
- /**
2368
- * Setup needed event listeners used to update the popper position
2369
- * @method
2370
- * @memberof Popper.Utils
2371
- * @private
2372
- */
2373
- function setupEventListeners(reference, options, state, updateBound) {
2374
- // Resize event listener on window
2375
- state.updateBound = updateBound;
2376
- getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
2377
-
2378
- // Scroll event listener on scroll parents
2379
- var scrollElement = getScrollParent(reference);
2380
- attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
2381
- state.scrollElement = scrollElement;
2382
- state.eventsEnabled = true;
2383
-
2384
- return state;
2385
- }
2386
-
2387
- /**
2388
- * It will add resize/scroll events and start recalculating
2389
- * position of the popper element when they are triggered.
2390
- * @method
2391
- * @memberof Popper
2392
- */
2393
- function enableEventListeners() {
2394
- if (!this.state.eventsEnabled) {
2395
- this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
2396
- }
2397
- }
2398
-
2399
- /**
2400
- * Remove event listeners used to update the popper position
2401
- * @method
2402
- * @memberof Popper.Utils
2403
- * @private
2404
- */
2405
- function removeEventListeners(reference, state) {
2406
- // Remove resize event listener on window
2407
- getWindow(reference).removeEventListener('resize', state.updateBound);
2408
-
2409
- // Remove scroll event listener on scroll parents
2410
- state.scrollParents.forEach(function (target) {
2411
- target.removeEventListener('scroll', state.updateBound);
2412
- });
2413
-
2414
- // Reset state
2415
- state.updateBound = null;
2416
- state.scrollParents = [];
2417
- state.scrollElement = null;
2418
- state.eventsEnabled = false;
2419
- return state;
2420
- }
2421
-
2422
- /**
2423
- * It will remove resize/scroll events and won't recalculate popper position
2424
- * when they are triggered. It also won't trigger onUpdate callback anymore,
2425
- * unless you call `update` method manually.
2426
- * @method
2427
- * @memberof Popper
2428
- */
2429
- function disableEventListeners() {
2430
- if (this.state.eventsEnabled) {
2431
- cancelAnimationFrame(this.scheduleUpdate);
2432
- this.state = removeEventListeners(this.reference, this.state);
2433
- }
2434
- }
2435
-
2436
- /**
2437
- * Tells if a given input is a number
2438
- * @method
2439
- * @memberof Popper.Utils
2440
- * @param {*} input to check
2441
- * @return {Boolean}
2442
- */
2443
- function isNumeric(n) {
2444
- return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
2445
- }
2446
-
2447
- /**
2448
- * Set the style to the given popper
2449
- * @method
2450
- * @memberof Popper.Utils
2451
- * @argument {Element} element - Element to apply the style to
2452
- * @argument {Object} styles
2453
- * Object with a list of properties and values which will be applied to the element
2454
- */
2455
- function setStyles(element, styles) {
2456
- Object.keys(styles).forEach(function (prop) {
2457
- var unit = '';
2458
- // add unit if the value is numeric and is one of the following
2459
- if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
2460
- unit = 'px';
2461
- }
2462
- element.style[prop] = styles[prop] + unit;
2463
- });
2464
- }
2465
-
2466
- /**
2467
- * Set the attributes to the given popper
2468
- * @method
2469
- * @memberof Popper.Utils
2470
- * @argument {Element} element - Element to apply the attributes to
2471
- * @argument {Object} styles
2472
- * Object with a list of properties and values which will be applied to the element
2473
- */
2474
- function setAttributes(element, attributes) {
2475
- Object.keys(attributes).forEach(function (prop) {
2476
- var value = attributes[prop];
2477
- if (value !== false) {
2478
- element.setAttribute(prop, attributes[prop]);
2479
  } else {
2480
- element.removeAttribute(prop);
2481
  }
2482
- });
2483
- }
2484
-
2485
- /**
2486
- * @function
2487
- * @memberof Modifiers
2488
- * @argument {Object} data - The data object generated by `update` method
2489
- * @argument {Object} data.styles - List of style properties - values to apply to popper element
2490
- * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
2491
- * @argument {Object} options - Modifiers configuration and options
2492
- * @returns {Object} The same data object
2493
- */
2494
- function applyStyle(data) {
2495
- // any property present in `data.styles` will be applied to the popper,
2496
- // in this way we can make the 3rd party modifiers add custom styles to it
2497
- // Be aware, modifiers could override the properties defined in the previous
2498
- // lines of this modifier!
2499
- setStyles(data.instance.popper, data.styles);
2500
-
2501
- // any property present in `data.attributes` will be applied to the popper,
2502
- // they will be set as HTML attributes of the element
2503
- setAttributes(data.instance.popper, data.attributes);
2504
-
2505
- // if arrowElement is defined and arrowStyles has some properties
2506
- if (data.arrowElement && Object.keys(data.arrowStyles).length) {
2507
- setStyles(data.arrowElement, data.arrowStyles);
2508
- }
2509
 
2510
- return data;
2511
- }
2512
-
2513
- /**
2514
- * Set the x-placement attribute before everything else because it could be used
2515
- * to add margins to the popper margins needs to be calculated to get the
2516
- * correct popper offsets.
2517
- * @method
2518
- * @memberof Popper.modifiers
2519
- * @param {HTMLElement} reference - The reference element used to position the popper
2520
- * @param {HTMLElement} popper - The HTML element used as popper.
2521
- * @param {Object} options - Popper.js options
2522
- */
2523
- function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
2524
- // compute reference element offsets
2525
- var referenceOffsets = getReferenceOffsets(state, popper, reference);
2526
-
2527
- // compute auto placement, store placement inside the data object,
2528
- // modifiers will be able to edit `placement` if needed
2529
- // and refer to originalPlacement to know the original value
2530
- var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
2531
-
2532
- popper.setAttribute('x-placement', placement);
2533
-
2534
- // Apply `position` to popper before anything else because
2535
- // without the position applied we can't guarantee correct computations
2536
- setStyles(popper, { position: 'absolute' });
2537
-
2538
- return options;
2539
- }
2540
-
2541
- /**
2542
- * @function
2543
- * @memberof Modifiers
2544
- * @argument {Object} data - The data object generated by `update` method
2545
- * @argument {Object} options - Modifiers configuration and options
2546
- * @returns {Object} The data object, properly modified
2547
- */
2548
- function computeStyle(data, options) {
2549
- var x = options.x,
2550
- y = options.y;
2551
- var popper = data.offsets.popper;
2552
-
2553
- // Remove this legacy support in Popper.js v2
2554
-
2555
- var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
2556
- return modifier.name === 'applyStyle';
2557
- }).gpuAcceleration;
2558
- if (legacyGpuAccelerationOption !== undefined) {
2559
- console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
2560
- }
2561
- var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
2562
 
2563
- var offsetParent = getOffsetParent(data.instance.popper);
2564
- var offsetParentRect = getBoundingClientRect(offsetParent);
 
2565
 
2566
- // Styles
2567
- var styles = {
2568
- position: popper.position
2569
- };
 
 
2570
 
2571
- // floor sides to avoid blurry text
2572
- var offsets = {
2573
- left: Math.floor(popper.left),
2574
- top: Math.floor(popper.top),
2575
- bottom: Math.floor(popper.bottom),
2576
- right: Math.floor(popper.right)
2577
  };
2578
 
2579
- var sideA = x === 'bottom' ? 'top' : 'bottom';
2580
- var sideB = y === 'right' ? 'left' : 'right';
2581
-
2582
- // if gpuAcceleration is set to `true` and transform is supported,
2583
- // we use `translate3d` to apply the position to the popper we
2584
- // automatically use the supported prefixed version if needed
2585
- var prefixedProperty = getSupportedPropertyName('transform');
2586
-
2587
- // now, let's make a step back and look at this code closely (wtf?)
2588
- // If the content of the popper grows once it's been positioned, it
2589
- // may happen that the popper gets misplaced because of the new content
2590
- // overflowing its reference element
2591
- // To avoid this problem, we provide two options (x and y), which allow
2592
- // the consumer to define the offset origin.
2593
- // If we position a popper on top of a reference element, we can set
2594
- // `x` to `top` to make the popper grow towards its top instead of
2595
- // its bottom.
2596
- var left = void 0,
2597
- top = void 0;
2598
- if (sideA === 'bottom') {
2599
- top = -offsetParentRect.height + offsets.bottom;
2600
- } else {
2601
- top = offsets.top;
2602
- }
2603
- if (sideB === 'right') {
2604
- left = -offsetParentRect.width + offsets.right;
2605
- } else {
2606
- left = offsets.left;
2607
- }
2608
- if (gpuAcceleration && prefixedProperty) {
2609
- styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
2610
- styles[sideA] = 0;
2611
- styles[sideB] = 0;
2612
- styles.willChange = 'transform';
2613
- } else {
2614
- // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
2615
- var invertTop = sideA === 'bottom' ? -1 : 1;
2616
- var invertLeft = sideB === 'right' ? -1 : 1;
2617
- styles[sideA] = top * invertTop;
2618
- styles[sideB] = left * invertLeft;
2619
- styles.willChange = sideA + ', ' + sideB;
2620
  }
2621
 
2622
- // Attributes
2623
- var attributes = {
2624
- 'x-placement': data.placement
2625
- };
 
 
 
 
 
2626
 
2627
- // Update `data` attributes, styles and arrowStyles
2628
- data.attributes = _extends$1({}, attributes, data.attributes);
2629
- data.styles = _extends$1({}, styles, data.styles);
2630
- data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles);
2631
-
2632
- return data;
2633
- }
2634
-
2635
- /**
2636
- * Helper used to know if the given modifier depends from another one.<br />
2637
- * It checks if the needed modifier is listed and enabled.
2638
- * @method
2639
- * @memberof Popper.Utils
2640
- * @param {Array} modifiers - list of modifiers
2641
- * @param {String} requestingName - name of requesting modifier
2642
- * @param {String} requestedName - name of requested modifier
2643
- * @returns {Boolean}
2644
- */
2645
- function isModifierRequired(modifiers, requestingName, requestedName) {
2646
- var requesting = find(modifiers, function (_ref) {
2647
- var name = _ref.name;
2648
- return name === requestingName;
2649
- });
2650
-
2651
- var isRequired = !!requesting && modifiers.some(function (modifier) {
2652
- return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
2653
- });
2654
-
2655
- if (!isRequired) {
2656
- var _requesting = '`' + requestingName + '`';
2657
- var requested = '`' + requestedName + '`';
2658
- console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
2659
- }
2660
- return isRequired;
2661
- }
2662
-
2663
- /**
2664
- * @function
2665
- * @memberof Modifiers
2666
- * @argument {Object} data - The data object generated by update method
2667
- * @argument {Object} options - Modifiers configuration and options
2668
- * @returns {Object} The data object, properly modified
2669
- */
2670
- function arrow(data, options) {
2671
- var _data$offsets$arrow;
2672
-
2673
- // arrow depends on keepTogether in order to work
2674
- if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
2675
- return data;
2676
- }
2677
 
2678
- var arrowElement = options.element;
 
 
 
 
 
2679
 
2680
- // if arrowElement is a string, suppose it's a CSS selector
2681
- if (typeof arrowElement === 'string') {
2682
- arrowElement = data.instance.popper.querySelector(arrowElement);
 
2683
 
2684
- // if arrowElement is not found, don't run the modifier
2685
- if (!arrowElement) {
2686
- return data;
2687
- }
2688
- } else {
2689
- // if the arrowElement isn't a query selector we must check that the
2690
- // provided DOM node is child of its popper node
2691
- if (!data.instance.popper.contains(arrowElement)) {
2692
- console.warn('WARNING: `arrow.element` must be child of its popper element!');
2693
- return data;
 
 
2694
  }
 
 
2695
  }
2696
 
2697
- var placement = data.placement.split('-')[0];
2698
- var _data$offsets = data.offsets,
2699
- popper = _data$offsets.popper,
2700
- reference = _data$offsets.reference;
2701
 
2702
- var isVertical = ['left', 'right'].indexOf(placement) !== -1;
 
 
 
 
2703
 
2704
- var len = isVertical ? 'height' : 'width';
2705
- var sideCapitalized = isVertical ? 'Top' : 'Left';
2706
- var side = sideCapitalized.toLowerCase();
2707
- var altSide = isVertical ? 'left' : 'top';
2708
- var opSide = isVertical ? 'bottom' : 'right';
2709
- var arrowElementSize = getOuterSizes(arrowElement)[len];
2710
 
2711
- //
2712
- // extends keepTogether behavior making sure the popper and its
2713
- // reference have enough pixels in conjuction
2714
- //
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2715
 
2716
- // top/left side
2717
- if (reference[opSide] - arrowElementSize < popper[side]) {
2718
- data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
2719
- }
2720
- // bottom/right side
2721
- if (reference[side] + arrowElementSize > popper[opSide]) {
2722
- data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
2723
- }
2724
- data.offsets.popper = getClientRect(data.offsets.popper);
2725
-
2726
- // compute center of the popper
2727
- var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
2728
-
2729
- // Compute the sideValue using the updated popper offsets
2730
- // take popper margin in account because we don't have this info available
2731
- var css = getStyleComputedProperty(data.instance.popper);
2732
- var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
2733
- var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
2734
- var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
2735
-
2736
- // prevent arrowElement from being placed not contiguously to its popper
2737
- sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
2738
-
2739
- data.arrowElement = arrowElement;
2740
- data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
2741
-
2742
- return data;
2743
- }
2744
-
2745
- /**
2746
- * Get the opposite placement variation of the given one
2747
- * @method
2748
- * @memberof Popper.Utils
2749
- * @argument {String} placement variation
2750
- * @returns {String} flipped placement variation
2751
- */
2752
- function getOppositeVariation(variation) {
2753
- if (variation === 'end') {
2754
- return 'start';
2755
- } else if (variation === 'start') {
2756
- return 'end';
2757
- }
2758
- return variation;
2759
- }
2760
-
2761
- /**
2762
- * List of accepted placements to use as values of the `placement` option.<br />
2763
- * Valid placements are:
2764
- * - `auto`
2765
- * - `top`
2766
- * - `right`
2767
- * - `bottom`
2768
- * - `left`
2769
- *
2770
- * Each placement can have a variation from this list:
2771
- * - `-start`
2772
- * - `-end`
2773
- *
2774
- * Variations are interpreted easily if you think of them as the left to right
2775
- * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
2776
- * is right.<br />
2777
- * Vertically (`left` and `right`), `start` is top and `end` is bottom.
2778
- *
2779
- * Some valid examples are:
2780
- * - `top-end` (on top of reference, right aligned)
2781
- * - `right-start` (on right of reference, top aligned)
2782
- * - `bottom` (on bottom, centered)
2783
- * - `auto-right` (on the side with more space available, alignment depends by placement)
2784
- *
2785
- * @static
2786
- * @type {Array}
2787
- * @enum {String}
2788
- * @readonly
2789
- * @method placements
2790
- * @memberof Popper
2791
- */
2792
- var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
2793
-
2794
- // Get rid of `auto` `auto-start` and `auto-end`
2795
- var validPlacements = placements.slice(3);
2796
-
2797
- /**
2798
- * Given an initial placement, returns all the subsequent placements
2799
- * clockwise (or counter-clockwise).
2800
- *
2801
- * @method
2802
- * @memberof Popper.Utils
2803
- * @argument {String} placement - A valid placement (it accepts variations)
2804
- * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
2805
- * @returns {Array} placements including their variations
2806
- */
2807
- function clockwise(placement) {
2808
- var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2809
-
2810
- var index = validPlacements.indexOf(placement);
2811
- var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
2812
- return counter ? arr.reverse() : arr;
2813
- }
2814
-
2815
- var BEHAVIORS = {
2816
- FLIP: 'flip',
2817
- CLOCKWISE: 'clockwise',
2818
- COUNTERCLOCKWISE: 'counterclockwise'
2819
- };
2820
-
2821
- /**
2822
- * @function
2823
- * @memberof Modifiers
2824
- * @argument {Object} data - The data object generated by update method
2825
- * @argument {Object} options - Modifiers configuration and options
2826
- * @returns {Object} The data object, properly modified
2827
- */
2828
- function flip(data, options) {
2829
- // if `inner` modifier is enabled, we can't use the `flip` modifier
2830
- if (isModifierEnabled(data.instance.modifiers, 'inner')) {
2831
- return data;
2832
- }
2833
 
2834
- if (data.flipped && data.placement === data.originalPlacement) {
2835
- // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
2836
- return data;
2837
  }
2838
 
2839
- var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);
 
2840
 
2841
- var placement = data.placement.split('-')[0];
2842
- var placementOpposite = getOppositePlacement(placement);
2843
- var variation = data.placement.split('-')[1] || '';
2844
-
2845
- var flipOrder = [];
 
 
 
 
 
 
 
 
 
2846
 
2847
- switch (options.behavior) {
2848
- case BEHAVIORS.FLIP:
2849
- flipOrder = [placement, placementOpposite];
2850
- break;
2851
- case BEHAVIORS.CLOCKWISE:
2852
- flipOrder = clockwise(placement);
2853
- break;
2854
- case BEHAVIORS.COUNTERCLOCKWISE:
2855
- flipOrder = clockwise(placement, true);
2856
- break;
2857
- default:
2858
- flipOrder = options.behavior;
2859
  }
2860
 
2861
- flipOrder.forEach(function (step, index) {
2862
- if (placement !== step || flipOrder.length === index + 1) {
2863
- return data;
 
 
 
 
 
 
 
 
 
2864
  }
 
 
 
 
 
2865
 
2866
- placement = data.placement.split('-')[0];
2867
- placementOpposite = getOppositePlacement(placement);
 
 
 
 
 
2868
 
2869
- var popperOffsets = data.offsets.popper;
2870
- var refOffsets = data.offsets.reference;
 
 
 
 
 
 
 
 
 
2871
 
2872
- // using floor because the reference offsets may contain decimals we are not going to consider here
2873
- var floor = Math.floor;
2874
- var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
 
 
 
 
 
 
 
 
 
 
2875
 
2876
- var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
2877
- var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
2878
- var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
2879
- var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
2880
 
2881
- var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
 
2882
 
2883
- // flip the variation if required
2884
- var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
2885
- var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
 
 
 
 
 
 
 
 
 
 
 
 
 
2886
 
2887
- if (overlapsRef || overflowsBoundaries || flippedVariation) {
2888
- // this boolean to detect any flip loop
2889
- data.flipped = true;
2890
 
2891
- if (overlapsRef || overflowsBoundaries) {
2892
- placement = flipOrder[index + 1];
2893
- }
 
 
2894
 
2895
- if (flippedVariation) {
2896
- variation = getOppositeVariation(variation);
 
 
 
 
 
2897
  }
 
2898
 
2899
- data.placement = placement + (variation ? '-' + variation : '');
2900
-
2901
- // this object contains `position`, we want to preserve it along with
2902
- // any additional property we may add in the future
2903
- data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
2904
 
2905
- data = runModifiers(data.instance.modifiers, data, 'flip');
2906
- }
2907
- });
2908
- return data;
2909
- }
2910
-
2911
- /**
2912
- * @function
2913
- * @memberof Modifiers
2914
- * @argument {Object} data - The data object generated by update method
2915
- * @argument {Object} options - Modifiers configuration and options
2916
- * @returns {Object} The data object, properly modified
2917
- */
2918
- function keepTogether(data) {
2919
- var _data$offsets = data.offsets,
2920
- popper = _data$offsets.popper,
2921
- reference = _data$offsets.reference;
2922
-
2923
- var placement = data.placement.split('-')[0];
2924
- var floor = Math.floor;
2925
- var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
2926
- var side = isVertical ? 'right' : 'bottom';
2927
- var opSide = isVertical ? 'left' : 'top';
2928
- var measurement = isVertical ? 'width' : 'height';
2929
-
2930
- if (popper[side] < floor(reference[opSide])) {
2931
- data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
2932
- }
2933
- if (popper[opSide] > floor(reference[side])) {
2934
- data.offsets.popper[opSide] = floor(reference[side]);
2935
  }
2936
 
2937
- return data;
2938
- }
2939
-
2940
- /**
2941
- * Converts a string containing value + unit into a px value number
2942
- * @function
2943
- * @memberof {modifiers~offset}
2944
- * @private
2945
- * @argument {String} str - Value + unit string
2946
- * @argument {String} measurement - `height` or `width`
2947
- * @argument {Object} popperOffsets
2948
- * @argument {Object} referenceOffsets
2949
- * @returns {Number|String}
2950
- * Value in pixels, or original string if no values were extracted
2951
- */
2952
- function toValue(str, measurement, popperOffsets, referenceOffsets) {
2953
- // separate value from unit
2954
- var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
2955
- var value = +split[1];
2956
- var unit = split[2];
2957
-
2958
- // If it's not a number it's an operator, I guess
2959
- if (!value) {
2960
- return str;
2961
  }
2962
 
2963
- if (unit.indexOf('%') === 0) {
2964
- var element = void 0;
2965
- switch (unit) {
2966
- case '%p':
2967
- element = popperOffsets;
2968
- break;
2969
- case '%':
2970
- case '%r':
2971
- default:
2972
- element = referenceOffsets;
2973
- }
2974
 
2975
- var rect = getClientRect(element);
2976
- return rect[measurement] / 100 * value;
2977
- } else if (unit === 'vh' || unit === 'vw') {
2978
- // if is a vh or vw, we calculate the size based on the viewport
2979
- var size = void 0;
2980
- if (unit === 'vh') {
2981
- size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
2982
- } else {
2983
- size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
2984
  }
2985
- return size / 100 * value;
2986
- } else {
2987
- // if is an explicit pixel unit, we get rid of the unit and keep the value
2988
- // if is an implicit unit, it's px, and we return just the value
2989
- return value;
2990
- }
2991
- }
2992
-
2993
- /**
2994
- * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
2995
- * @function
2996
- * @memberof {modifiers~offset}
2997
- * @private
2998
- * @argument {String} offset
2999
- * @argument {Object} popperOffsets
3000
- * @argument {Object} referenceOffsets
3001
- * @argument {String} basePlacement
3002
- * @returns {Array} a two cells array with x and y offsets in numbers
3003
- */
3004
- function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
3005
- var offsets = [0, 0];
3006
-
3007
- // Use height if placement is left or right and index is 0 otherwise use width
3008
- // in this way the first offset will use an axis and the second one
3009
- // will use the other one
3010
- var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
3011
-
3012
- // Split the offset string to obtain a list of values and operands
3013
- // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
3014
- var fragments = offset.split(/(\+|\-)/).map(function (frag) {
3015
- return frag.trim();
3016
- });
3017
-
3018
- // Detect if the offset string contains a pair of values or a single one
3019
- // they could be separated by comma or space
3020
- var divider = fragments.indexOf(find(fragments, function (frag) {
3021
- return frag.search(/,|\s/) !== -1;
3022
- }));
3023
-
3024
- if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
3025
- console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
3026
- }
3027
 
3028
- // If divider is found, we divide the list of values and operands to divide
3029
- // them by ofset X and Y.
3030
- var splitRegex = /\s*,\s*|\s+/;
3031
- var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
3032
-
3033
- // Convert the values with units to absolute pixels to allow our computations
3034
- ops = ops.map(function (op, index) {
3035
- // Most of the units rely on the orientation of the popper
3036
- var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
3037
- var mergeWithPrevious = false;
3038
- return op
3039
- // This aggregates any `+` or `-` sign that aren't considered operators
3040
- // e.g.: 10 + +5 => [10, +, +5]
3041
- .reduce(function (a, b) {
3042
- if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
3043
- a[a.length - 1] = b;
3044
- mergeWithPrevious = true;
3045
- return a;
3046
- } else if (mergeWithPrevious) {
3047
- a[a.length - 1] += b;
3048
- mergeWithPrevious = false;
3049
- return a;
3050
- } else {
3051
- return a.concat(b);
3052
  }
3053
- }, [])
3054
- // Here we convert the string values into number values (in px)
3055
- .map(function (str) {
3056
- return toValue(str, measurement, popperOffsets, referenceOffsets);
 
 
 
 
 
 
3057
  });
3058
- });
3059
 
3060
- // Loop trough the offsets arrays and execute the operations
3061
- ops.forEach(function (op, index) {
3062
- op.forEach(function (frag, index2) {
3063
- if (isNumeric(frag)) {
3064
- offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
3065
- }
3066
  });
3067
- });
3068
- return offsets;
3069
- }
3070
-
3071
- /**
3072
- * @function
3073
- * @memberof Modifiers
3074
- * @argument {Object} data - The data object generated by update method
3075
- * @argument {Object} options - Modifiers configuration and options
3076
- * @argument {Number|String} options.offset=0
3077
- * The offset value as described in the modifier description
3078
- * @returns {Object} The data object, properly modified
3079
- */
3080
- function offset(data, _ref) {
3081
- var offset = _ref.offset;
3082
- var placement = data.placement,
3083
- _data$offsets = data.offsets,
3084
- popper = _data$offsets.popper,
3085
- reference = _data$offsets.reference;
3086
-
3087
- var basePlacement = placement.split('-')[0];
3088
-
3089
- var offsets = void 0;
3090
- if (isNumeric(+offset)) {
3091
- offsets = [+offset, 0];
3092
- } else {
3093
- offsets = parseOffset(offset, popper, reference, basePlacement);
3094
  }
3095
 
3096
- if (basePlacement === 'left') {
3097
- popper.top += offsets[0];
3098
- popper.left -= offsets[1];
3099
- } else if (basePlacement === 'right') {
3100
- popper.top += offsets[0];
3101
- popper.left += offsets[1];
3102
- } else if (basePlacement === 'top') {
3103
- popper.left += offsets[0];
3104
- popper.top -= offsets[1];
3105
- } else if (basePlacement === 'bottom') {
3106
- popper.left += offsets[0];
3107
- popper.top += offsets[1];
 
 
 
3108
  }
3109
 
3110
- data.popper = popper;
3111
- return data;
3112
- }
3113
-
3114
- /**
3115
- * @function
3116
- * @memberof Modifiers
3117
- * @argument {Object} data - The data object generated by `update` method
3118
- * @argument {Object} options - Modifiers configuration and options
3119
- * @returns {Object} The data object, properly modified
3120
- */
3121
- function preventOverflow(data, options) {
3122
- var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
3123
-
3124
- // If offsetParent is the reference element, we really want to
3125
- // go one step up and use the next offsetParent as reference to
3126
- // avoid to make this modifier completely useless and look like broken
3127
- if (data.instance.reference === boundariesElement) {
3128
- boundariesElement = getOffsetParent(boundariesElement);
 
 
 
 
 
 
 
 
 
 
 
3129
  }
3130
 
3131
- var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);
3132
- options.boundaries = boundaries;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3133
 
3134
- var order = options.priority;
3135
- var popper = data.offsets.popper;
 
 
 
 
3136
 
3137
- var check = {
3138
- primary: function primary(placement) {
3139
- var value = popper[placement];
3140
- if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
3141
- value = Math.max(popper[placement], boundaries[placement]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3142
  }
3143
- return defineProperty({}, placement, value);
3144
- },
3145
- secondary: function secondary(placement) {
3146
- var mainSide = placement === 'right' ? 'left' : 'top';
3147
- var value = popper[mainSide];
3148
- if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
3149
- value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
 
 
3150
  }
3151
- return defineProperty({}, mainSide, value);
3152
- }
3153
- };
3154
 
3155
- order.forEach(function (placement) {
3156
- var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
3157
- popper = _extends$1({}, popper, check[side](placement));
3158
- });
3159
-
3160
- data.offsets.popper = popper;
3161
-
3162
- return data;
3163
- }
3164
-
3165
- /**
3166
- * @function
3167
- * @memberof Modifiers
3168
- * @argument {Object} data - The data object generated by `update` method
3169
- * @argument {Object} options - Modifiers configuration and options
3170
- * @returns {Object} The data object, properly modified
3171
- */
3172
- function shift(data) {
3173
- var placement = data.placement;
3174
- var basePlacement = placement.split('-')[0];
3175
- var shiftvariation = placement.split('-')[1];
3176
-
3177
- // if shift shiftvariation is specified, run the modifier
3178
- if (shiftvariation) {
3179
- var _data$offsets = data.offsets,
3180
- reference = _data$offsets.reference,
3181
- popper = _data$offsets.popper;
3182
 
3183
- var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
3184
- var side = isVertical ? 'left' : 'top';
3185
- var measurement = isVertical ? 'width' : 'height';
 
 
 
 
 
 
 
 
 
3186
 
3187
- var shiftOffsets = {
3188
- start: defineProperty({}, side, reference[side]),
3189
- end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
 
 
 
 
3190
  };
3191
 
3192
- data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3193
  }
3194
 
3195
- return data;
3196
- }
3197
-
3198
- /**
3199
- * @function
3200
- * @memberof Modifiers
3201
- * @argument {Object} data - The data object generated by update method
3202
- * @argument {Object} options - Modifiers configuration and options
3203
- * @returns {Object} The data object, properly modified
3204
- */
3205
- function hide(data) {
3206
- if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3207
  return data;
3208
  }
3209
 
3210
- var refRect = data.offsets.reference;
3211
- var bound = find(data.instance.modifiers, function (modifier) {
3212
- return modifier.name === 'preventOverflow';
3213
- }).boundaries;
 
 
 
 
 
 
 
 
 
3214
 
3215
- if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
3216
- // Avoid unnecessary DOM access if visibility hasn't changed
3217
- if (data.hide === true) {
3218
- return data;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3219
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3220
 
3221
- data.hide = true;
3222
- data.attributes['x-out-of-boundaries'] = '';
3223
- } else {
3224
- // Avoid unnecessary DOM access if visibility hasn't changed
3225
- if (data.hide === false) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3226
  return data;
3227
  }
3228
 
3229
- data.hide = false;
3230
- data.attributes['x-out-of-boundaries'] = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3231
  }
3232
 
3233
- return data;
3234
- }
3235
-
3236
- /**
3237
- * @function
3238
- * @memberof Modifiers
3239
- * @argument {Object} data - The data object generated by `update` method
3240
- * @argument {Object} options - Modifiers configuration and options
3241
- * @returns {Object} The data object, properly modified
3242
- */
3243
- function inner(data) {
3244
- var placement = data.placement;
3245
- var basePlacement = placement.split('-')[0];
3246
- var _data$offsets = data.offsets,
3247
- popper = _data$offsets.popper,
3248
- reference = _data$offsets.reference;
3249
-
3250
- var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
3251
-
3252
- var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
3253
-
3254
- popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
3255
-
3256
- data.placement = getOppositePlacement(placement);
3257
- data.offsets.popper = getClientRect(popper);
3258
-
3259
- return data;
3260
- }
3261
-
3262
- /**
3263
- * Modifier function, each modifier can have a function of this type assigned
3264
- * to its `fn` property.<br />
3265
- * These functions will be called on each update, this means that you must
3266
- * make sure they are performant enough to avoid performance bottlenecks.
3267
- *
3268
- * @function ModifierFn
3269
- * @argument {dataObject} data - The data object generated by `update` method
3270
- * @argument {Object} options - Modifiers configuration and options
3271
- * @returns {dataObject} The data object, properly modified
3272
- */
3273
-
3274
- /**
3275
- * Modifiers are plugins used to alter the behavior of your poppers.<br />
3276
- * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
3277
- * needed by the library.
3278
- *
3279
- * Usually you don't want to override the `order`, `fn` and `onLoad` props.
3280
- * All the other properties are configurations that could be tweaked.
3281
- * @namespace modifiers
3282
- */
3283
- var modifiers = {
3284
  /**
3285
- * Modifier used to shift the popper on the start or end of its reference
3286
- * element.<br />
3287
- * It will read the variation of the `placement` property.<br />
3288
- * It can be one either `-end` or `-start`.
3289
- * @memberof modifiers
3290
- * @inner
3291
  */
3292
- shift: {
3293
- /** @prop {number} order=100 - Index used to define the order of execution */
3294
- order: 100,
3295
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3296
- enabled: true,
3297
- /** @prop {ModifierFn} */
3298
- fn: shift
3299
- },
3300
 
3301
  /**
3302
- * The `offset` modifier can shift your popper on both its axis.
3303
- *
3304
- * It accepts the following units:
3305
- * - `px` or unitless, interpreted as pixels
3306
- * - `%` or `%r`, percentage relative to the length of the reference element
3307
- * - `%p`, percentage relative to the length of the popper element
3308
- * - `vw`, CSS viewport width unit
3309
- * - `vh`, CSS viewport height unit
3310
  *
3311
- * For length is intended the main axis relative to the placement of the popper.<br />
3312
- * This means that if the placement is `top` or `bottom`, the length will be the
3313
- * `width`. In case of `left` or `right`, it will be the height.
3314
  *
3315
- * You can provide a single value (as `Number` or `String`), or a pair of values
3316
- * as `String` divided by a comma or one (or more) white spaces.<br />
3317
- * The latter is a deprecated method because it leads to confusion and will be
3318
- * removed in v2.<br />
3319
- * Additionally, it accepts additions and subtractions between different units.
3320
- * Note that multiplications and divisions aren't supported.
3321
  *
3322
- * Valid examples are:
3323
- * ```
3324
- * 10
3325
- * '10%'
3326
- * '10, 10'
3327
- * '10%, 10'
3328
- * '10 + 10%'
3329
- * '10 - 5vh + 3%'
3330
- * '-10px + 5vh, 5px - 6%'
3331
- * ```
3332
- * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
3333
- * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
3334
- * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
3335
  *
3336
- * @memberof modifiers
3337
- * @inner
 
 
 
 
3338
  */
3339
- offset: {
3340
- /** @prop {number} order=200 - Index used to define the order of execution */
3341
- order: 200,
3342
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3343
- enabled: true,
3344
- /** @prop {ModifierFn} */
3345
- fn: offset,
3346
- /** @prop {Number|String} offset=0
3347
- * The offset value as described in the modifier description
3348
- */
3349
- offset: 0
3350
- },
3351
 
3352
  /**
3353
- * Modifier used to prevent the popper from being positioned outside the boundary.
3354
- *
3355
- * An scenario exists where the reference itself is not within the boundaries.<br />
3356
- * We can say it has "escaped the boundaries" — or just "escaped".<br />
3357
- * In this case we need to decide whether the popper should either:
3358
  *
3359
- * - detach from the reference and remain "trapped" in the boundaries, or
3360
- * - if it should ignore the boundary and "escape with its reference"
3361
- *
3362
- * When `escapeWithReference` is set to`true` and reference is completely
3363
- * outside its boundaries, the popper will overflow (or completely leave)
3364
- * the boundaries in order to remain attached to the edge of the reference.
3365
- *
3366
- * @memberof modifiers
3367
- * @inner
3368
  */
3369
- preventOverflow: {
3370
- /** @prop {number} order=300 - Index used to define the order of execution */
3371
- order: 300,
3372
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3373
- enabled: true,
3374
- /** @prop {ModifierFn} */
3375
- fn: preventOverflow,
3376
- /**
3377
- * @prop {Array} [priority=['left','right','top','bottom']]
3378
- * Popper will try to prevent overflow following these priorities by default,
3379
- * then, it could overflow on the left and on top of the `boundariesElement`
3380
- */
3381
- priority: ['left', 'right', 'top', 'bottom'],
3382
- /**
3383
- * @prop {number} padding=5
3384
- * Amount of pixel used to define a minimum distance between the boundaries
3385
- * and the popper this makes sure the popper has always a little padding
3386
- * between the edges of its container
3387
- */
3388
- padding: 5,
3389
- /**
3390
- * @prop {String|HTMLElement} boundariesElement='scrollParent'
3391
- * Boundaries used by the modifier, can be `scrollParent`, `window`,
3392
- * `viewport` or any DOM element.
3393
- */
3394
- boundariesElement: 'scrollParent'
3395
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3396
 
3397
  /**
3398
- * Modifier used to make sure the reference and its popper stay near eachothers
3399
- * without leaving any gap between the two. Expecially useful when the arrow is
3400
- * enabled and you want to assure it to point to its reference element.
3401
- * It cares only about the first axis, you can still have poppers with margin
3402
- * between the popper and its reference element.
3403
- * @memberof modifiers
3404
- * @inner
3405
  */
3406
- keepTogether: {
3407
- /** @prop {number} order=400 - Index used to define the order of execution */
3408
- order: 400,
3409
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3410
- enabled: true,
3411
- /** @prop {ModifierFn} */
3412
- fn: keepTogether
3413
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
3414
 
3415
  /**
3416
- * This modifier is used to move the `arrowElement` of the popper to make
3417
- * sure it is positioned between the reference element and its popper element.
3418
- * It will read the outer size of the `arrowElement` node to detect how many
3419
- * pixels of conjuction are needed.
3420
- *
3421
- * It has no effect if no `arrowElement` is provided.
3422
- * @memberof modifiers
3423
- * @inner
 
 
3424
  */
3425
- arrow: {
3426
- /** @prop {number} order=500 - Index used to define the order of execution */
3427
- order: 500,
3428
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3429
- enabled: true,
3430
- /** @prop {ModifierFn} */
3431
- fn: arrow,
3432
- /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
3433
- element: '[x-arrow]'
3434
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3435
 
3436
  /**
3437
- * Modifier used to flip the popper's placement when it starts to overlap its
3438
- * reference element.
3439
- *
3440
- * Requires the `preventOverflow` modifier before it in order to work.
3441
- *
3442
- * **NOTE:** this modifier will interrupt the current update cycle and will
3443
- * restart it if it detects the need to flip the placement.
3444
- * @memberof modifiers
3445
- * @inner
3446
  */
3447
- flip: {
3448
- /** @prop {number} order=600 - Index used to define the order of execution */
3449
- order: 600,
3450
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3451
- enabled: true,
3452
- /** @prop {ModifierFn} */
3453
- fn: flip,
3454
- /**
3455
- * @prop {String|Array} behavior='flip'
3456
- * The behavior used to change the popper's placement. It can be one of
3457
- * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
3458
- * placements (with optional variations).
3459
- */
3460
- behavior: 'flip',
3461
- /**
3462
- * @prop {number} padding=5
3463
- * The popper will flip if it hits the edges of the `boundariesElement`
3464
- */
3465
- padding: 5,
3466
- /**
3467
- * @prop {String|HTMLElement} boundariesElement='viewport'
3468
- * The element which will define the boundaries of the popper position,
3469
- * the popper will never be placed outside of the defined boundaries
3470
- * (except if keepTogether is enabled)
3471
- */
3472
- boundariesElement: 'viewport'
3473
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3474
 
3475
  /**
3476
- * Modifier used to make the popper flow toward the inner of the reference element.
3477
- * By default, when this modifier is disabled, the popper will be placed outside
3478
- * the reference element.
3479
- * @memberof modifiers
3480
- * @inner
 
 
3481
  */
3482
- inner: {
3483
- /** @prop {number} order=700 - Index used to define the order of execution */
3484
- order: 700,
3485
- /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
3486
- enabled: false,
3487
- /** @prop {ModifierFn} */
3488
- fn: inner
3489
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3490
 
3491
  /**
3492
- * Modifier used to hide the popper when its reference element is outside of the
3493
- * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
3494
- * be used to hide with a CSS selector the popper when its reference is
3495
- * out of boundaries.
3496
- *
3497
- * Requires the `preventOverflow` modifier before it in order to work.
3498
- * @memberof modifiers
3499
- * @inner
3500
  */
3501
- hide: {
3502
- /** @prop {number} order=800 - Index used to define the order of execution */
3503
- order: 800,
3504
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3505
- enabled: true,
3506
- /** @prop {ModifierFn} */
3507
- fn: hide
3508
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3509
 
3510
  /**
3511
- * Computes the style that will be applied to the popper element to gets
3512
- * properly positioned.
3513
- *
3514
- * Note that this modifier will not touch the DOM, it just prepares the styles
3515
- * so that `applyStyle` modifier can apply it. This separation is useful
3516
- * in case you need to replace `applyStyle` with a custom implementation.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3517
  *
3518
- * This modifier has `850` as `order` value to maintain backward compatibility
3519
- * with previous versions of Popper.js. Expect the modifiers ordering method
3520
- * to change in future major versions of the library.
 
 
 
 
 
 
 
3521
  *
3522
- * @memberof modifiers
3523
- * @inner
 
3524
  */
3525
- computeStyle: {
3526
- /** @prop {number} order=850 - Index used to define the order of execution */
3527
- order: 850,
3528
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3529
- enabled: true,
3530
- /** @prop {ModifierFn} */
3531
- fn: computeStyle,
3532
  /**
3533
- * @prop {Boolean} gpuAcceleration=true
3534
- * If true, it uses the CSS 3d transformation to position the popper.
3535
- * Otherwise, it will use the `top` and `left` properties.
 
 
 
3536
  */
3537
- gpuAcceleration: true,
 
 
 
 
 
 
 
 
3538
  /**
3539
- * @prop {string} [x='bottom']
3540
- * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
3541
- * Change this if your popper should grow in a direction different from `bottom`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3542
  */
3543
- x: 'bottom',
 
 
 
 
 
 
 
 
 
 
 
 
3544
  /**
3545
- * @prop {string} [x='left']
3546
- * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
3547
- * Change this if your popper should grow in a direction different from `right`
 
 
 
 
 
 
 
 
 
 
 
 
3548
  */
3549
- y: 'right'
3550
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3551
 
3552
- /**
3553
- * Applies the computed styles to the popper element.
3554
- *
3555
- * All the DOM manipulations are limited to this modifier. This is useful in case
3556
- * you want to integrate Popper.js inside a framework or view library and you
3557
- * want to delegate all the DOM manipulations to it.
3558
- *
3559
- * Note that if you disable this modifier, you must make sure the popper element
3560
- * has its position set to `absolute` before Popper.js can do its work!
3561
- *
3562
- * Just disable this modifier and define you own to achieve the desired effect.
3563
- *
3564
- * @memberof modifiers
3565
- * @inner
3566
- */
3567
- applyStyle: {
3568
- /** @prop {number} order=900 - Index used to define the order of execution */
3569
- order: 900,
3570
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3571
- enabled: true,
3572
- /** @prop {ModifierFn} */
3573
- fn: applyStyle,
3574
- /** @prop {Function} */
3575
- onLoad: applyStyleOnLoad,
3576
  /**
3577
- * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
3578
- * @prop {Boolean} gpuAcceleration=true
3579
- * If true, it uses the CSS 3d transformation to position the popper.
3580
- * Otherwise, it will use the `top` and `left` properties.
 
 
 
3581
  */
3582
- gpuAcceleration: undefined
3583
- }
3584
- };
3585
-
3586
- /**
3587
- * The `dataObject` is an object containing all the informations used by Popper.js
3588
- * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
3589
- * @name dataObject
3590
- * @property {Object} data.instance The Popper.js instance
3591
- * @property {String} data.placement Placement applied to popper
3592
- * @property {String} data.originalPlacement Placement originally defined on init
3593
- * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
3594
- * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
3595
- * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
3596
- * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
3597
- * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
3598
- * @property {Object} data.boundaries Offsets of the popper boundaries
3599
- * @property {Object} data.offsets The measurements of popper, reference and arrow elements.
3600
- * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
3601
- * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
3602
- * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
3603
- */
3604
-
3605
- /**
3606
- * Default options provided to Popper.js constructor.<br />
3607
- * These can be overriden using the `options` argument of Popper.js.<br />
3608
- * To override an option, simply pass as 3rd argument an object with the same
3609
- * structure of this object, example:
3610
- * ```
3611
- * new Popper(ref, pop, {
3612
- * modifiers: {
3613
- * preventOverflow: { enabled: false }
3614
- * }
3615
- * })
3616
- * ```
3617
- * @type {Object}
3618
- * @static
3619
- * @memberof Popper
3620
- */
3621
- var Defaults = {
3622
- /**
3623
- * Popper's placement
3624
- * @prop {Popper.placements} placement='bottom'
3625
- */
3626
- placement: 'bottom',
3627
 
3628
- /**
3629
- * Whether events (resize, scroll) are initially enabled
3630
- * @prop {Boolean} eventsEnabled=true
3631
- */
3632
- eventsEnabled: true,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3633
 
3634
- /**
3635
- * Set to true if you want to automatically remove the popper when
3636
- * you call the `destroy` method.
3637
- * @prop {Boolean} removeOnDestroy=false
3638
- */
3639
- removeOnDestroy: false,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3640
 
3641
  /**
3642
- * Callback called when the popper is created.<br />
3643
- * By default, is set to no-op.<br />
3644
- * Access Popper.js instance with `data.instance`.
3645
- * @prop {onCreate}
 
 
 
 
 
 
 
 
 
 
 
 
3646
  */
3647
- onCreate: function onCreate() {},
3648
 
3649
  /**
3650
- * Callback called when the popper is updated, this callback is not called
3651
- * on the initialization/creation of the popper, but only on subsequent
3652
- * updates.<br />
3653
- * By default, is set to no-op.<br />
3654
- * Access Popper.js instance with `data.instance`.
3655
- * @prop {onUpdate}
 
 
 
 
 
 
 
 
3656
  */
3657
- onUpdate: function onUpdate() {},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3658
 
3659
  /**
3660
- * List of modifiers used to modify the offsets before they are applied to the popper.
3661
- * They provide most of the functionalities of Popper.js
3662
- * @prop {modifiers}
3663
  */
3664
- modifiers: modifiers
3665
- };
3666
-
3667
- /**
3668
- * @callback onCreate
3669
- * @param {dataObject} data
3670
- */
3671
-
3672
- /**
3673
- * @callback onUpdate
3674
- * @param {dataObject} data
3675
- */
3676
-
3677
- // Utils
3678
- // Methods
3679
- var Popper = function () {
3680
  /**
3681
- * Create a new Popper.js instance
3682
- * @class Popper
3683
- * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
3684
- * @param {HTMLElement} popper - The HTML element used as popper.
3685
- * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
3686
- * @return {Object} instance - The generated Popper.js instance
3687
  */
3688
- function Popper(reference, popper) {
3689
- var _this = this;
3690
 
3691
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
3692
- classCallCheck(this, Popper);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3693
 
3694
- this.scheduleUpdate = function () {
3695
- return requestAnimationFrame(_this.update);
3696
- };
3697
 
3698
- // make update() debounced, so that it only runs at most once-per-tick
3699
- this.update = debounce(this.update.bind(this));
 
 
 
 
3700
 
3701
- // with {} we create a new object with the options inside it
3702
- this.options = _extends$1({}, Popper.Defaults, options);
 
3703
 
3704
- // init state
3705
- this.state = {
3706
- isDestroyed: false,
3707
- isCreated: false,
3708
- scrollParents: []
3709
- };
3710
 
3711
- // get reference and popper elements (allow jQuery wrappers)
3712
- this.reference = reference && reference.jquery ? reference[0] : reference;
3713
- this.popper = popper && popper.jquery ? popper[0] : popper;
 
 
 
 
 
 
 
3714
 
3715
- // Deep merge modifiers options
3716
- this.options.modifiers = {};
3717
- Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
3718
- _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
3719
- });
 
 
 
 
3720
 
3721
- // Refactoring modifiers' list (Object => Array)
3722
- this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
3723
- return _extends$1({
3724
- name: name
3725
- }, _this.options.modifiers[name]);
3726
- })
3727
- // sort the modifiers by order
3728
- .sort(function (a, b) {
3729
- return a.order - b.order;
3730
- });
3731
 
3732
- // modifiers have the ability to execute arbitrary code when Popper.js get inited
3733
- // such code is executed in the same order of its modifier
3734
- // they could add new properties to their options configuration
3735
- // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
3736
- this.modifiers.forEach(function (modifierOptions) {
3737
- if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
3738
- modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
3739
  }
3740
- });
3741
-
3742
- // fire the first update to position the popper in the right place
3743
- this.update();
3744
 
3745
- var eventsEnabled = this.options.eventsEnabled;
3746
- if (eventsEnabled) {
3747
- // setup event listeners, they will take care of update the position in specific situations
3748
- this.enableEventListeners();
3749
  }
3750
 
3751
- this.state.eventsEnabled = eventsEnabled;
3752
- }
3753
 
3754
- // We can't use class properties because they don't get listed in the
3755
- // class prototype and break stuff like Sinon stubs
3756
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3757
 
3758
- createClass(Popper, [{
3759
- key: 'update',
3760
- value: function update$$1() {
3761
- return update.call(this);
3762
- }
3763
- }, {
3764
- key: 'destroy',
3765
- value: function destroy$$1() {
3766
- return destroy.call(this);
3767
- }
3768
- }, {
3769
- key: 'enableEventListeners',
3770
- value: function enableEventListeners$$1() {
3771
- return enableEventListeners.call(this);
3772
- }
3773
- }, {
3774
- key: 'disableEventListeners',
3775
- value: function disableEventListeners$$1() {
3776
- return disableEventListeners.call(this);
3777
- }
3778
 
3779
- /**
3780
- * Schedule an update, it will run on the next UI update available
3781
- * @method scheduleUpdate
3782
- * @memberof Popper
3783
- */
3784
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3785
 
3786
- /**
3787
- * Collection of utilities useful when writing custom modifiers.
3788
- * Starting from version 1.7, this method is available only if you
3789
- * include `popper-utils.js` before `popper.js`.
3790
- *
3791
- * **DEPRECATION**: This way to access PopperUtils is deprecated
3792
- * and will be removed in v2! Use the PopperUtils module directly instead.
3793
- * Due to the high instability of the methods contained in Utils, we can't
3794
- * guarantee them to follow semver. Use them at your own risk!
3795
- * @static
3796
- * @private
3797
- * @type {Object}
3798
- * @deprecated since version 1.8
3799
- * @member Utils
3800
- * @memberof Popper
3801
- */
3802
 
3803
- }]);
3804
- return Popper;
3805
- }();
3806
-
3807
- /**
3808
- * The `referenceObject` is an object that provides an interface compatible with Popper.js
3809
- * and lets you use it as replacement of a real DOM node.<br />
3810
- * You can use this method to position a popper relatively to a set of coordinates
3811
- * in case you don't have a DOM node to use as reference.
3812
- *
3813
- * ```
3814
- * new Popper(referenceObject, popperNode);
3815
- * ```
3816
- *
3817
- * NB: This feature isn't supported in Internet Explorer 10
3818
- * @name referenceObject
3819
- * @property {Function} data.getBoundingClientRect
3820
- * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
3821
- * @property {number} data.clientWidth
3822
- * An ES6 getter that will return the width of the virtual reference element.
3823
- * @property {number} data.clientHeight
3824
- * An ES6 getter that will return the height of the virtual reference element.
3825
- */
3826
-
3827
-
3828
- Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
3829
- Popper.placements = placements;
3830
- Popper.Defaults = Defaults;
3831
-
3832
- /**
3833
- * --------------------------------------------------------------------------
3834
- * Bootstrap (v4.0.0): dropdown.js
3835
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3836
- * --------------------------------------------------------------------------
3837
- */
3838
-
3839
- var Dropdown = function ($$$1) {
3840
  /**
3841
- * ------------------------------------------------------------------------
3842
- * Constants
3843
- * ------------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3844
  */
3845
- var NAME = 'dropdown';
3846
- var VERSION = '4.0.0';
3847
- var DATA_KEY = 'bs.dropdown';
3848
- var EVENT_KEY = "." + DATA_KEY;
3849
- var DATA_API_KEY = '.data-api';
3850
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
3851
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
3852
-
3853
- var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
3854
-
3855
- var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
3856
-
3857
- var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
3858
-
3859
- var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
3860
-
3861
- var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
3862
-
3863
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
3864
- var Event = {
3865
- HIDE: "hide" + EVENT_KEY,
3866
- HIDDEN: "hidden" + EVENT_KEY,
3867
- SHOW: "show" + EVENT_KEY,
3868
- SHOWN: "shown" + EVENT_KEY,
3869
- CLICK: "click" + EVENT_KEY,
3870
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
3871
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
3872
- KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
3873
- };
3874
- var ClassName = {
3875
- DISABLED: 'disabled',
3876
- SHOW: 'show',
3877
- DROPUP: 'dropup',
3878
- DROPRIGHT: 'dropright',
3879
- DROPLEFT: 'dropleft',
3880
- MENURIGHT: 'dropdown-menu-right',
3881
- MENULEFT: 'dropdown-menu-left',
3882
- POSITION_STATIC: 'position-static'
3883
- };
3884
- var Selector = {
3885
- DATA_TOGGLE: '[data-toggle="dropdown"]',
3886
- FORM_CHILD: '.dropdown form',
3887
- MENU: '.dropdown-menu',
3888
- NAVBAR_NAV: '.navbar-nav',
3889
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
3890
- };
3891
- var AttachmentMap = {
3892
- TOP: 'top-start',
3893
- TOPEND: 'top-end',
3894
- BOTTOM: 'bottom-start',
3895
- BOTTOMEND: 'bottom-end',
3896
- RIGHT: 'right-start',
3897
- RIGHTEND: 'right-end',
3898
- LEFT: 'left-start',
3899
- LEFTEND: 'left-end'
3900
- };
3901
- var Default = {
3902
- offset: 0,
3903
- flip: true,
3904
- boundary: 'scrollParent'
3905
- };
3906
- var DefaultType = {
3907
- offset: '(number|string|function)',
3908
- flip: 'boolean',
3909
- boundary: '(string|element)'
3910
  /**
3911
  * ------------------------------------------------------------------------
3912
- * Class Definition
3913
  * ------------------------------------------------------------------------
3914
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3915
 
3916
- };
3917
 
3918
- var Dropdown =
3919
- /*#__PURE__*/
3920
- function () {
3921
- function Dropdown(element, config) {
3922
- this._element = element;
3923
- this._popper = null;
3924
- this._config = this._getConfig(config);
3925
- this._menu = this._getMenuElement();
3926
- this._inNavbar = this._detectNavbar();
3927
 
3928
- this._addEventListeners();
3929
- } // Getters
3930
 
3931
 
3932
- var _proto = Dropdown.prototype;
3933
 
3934
- // Public
3935
- _proto.toggle = function toggle() {
3936
- if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
3937
- return;
3938
- }
3939
 
3940
- var parent = Dropdown._getParentFromElement(this._element);
3941
 
3942
- var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
3943
 
3944
- Dropdown._clearMenus();
3945
 
3946
- if (isActive) {
3947
- return;
3948
- }
3949
 
3950
- var relatedTarget = {
3951
- relatedTarget: this._element
3952
- };
3953
- var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
3954
- $$$1(parent).trigger(showEvent);
3955
 
3956
- if (showEvent.isDefaultPrevented()) {
3957
- return;
3958
- } // Disable totally Popper.js for Dropdown in Navbar
3959
 
3960
 
3961
- if (!this._inNavbar) {
3962
- /**
3963
- * Check for Popper dependency
3964
- * Popper - https://popper.js.org
3965
- */
3966
- if (typeof Popper === 'undefined') {
3967
- throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
3968
- }
3969
 
3970
- var element = this._element; // For dropup with alignment we use the parent as popper container
3971
 
3972
- if ($$$1(parent).hasClass(ClassName.DROPUP)) {
3973
- if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
3974
- element = parent;
3975
- }
3976
- } // If boundary is not `scrollParent`, then set position to `static`
3977
- // to allow the menu to "escape" the scroll parent's boundaries
3978
- // https://github.com/twbs/bootstrap/issues/24251
3979
 
 
 
 
 
 
 
3980
 
3981
- if (this._config.boundary !== 'scrollParent') {
3982
- $$$1(parent).addClass(ClassName.POSITION_STATIC);
3983
- }
3984
 
3985
- this._popper = new Popper(element, this._menu, this._getPopperConfig());
3986
- } // If this is a touch-enabled device we add extra
3987
- // empty mouseover listeners to the body's immediate children;
3988
- // only needed because of broken event delegation on iOS
3989
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
3990
 
 
 
 
 
 
3991
 
3992
- if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
3993
- $$$1('body').children().on('mouseover', null, $$$1.noop);
3994
- }
3995
 
3996
- this._element.focus();
 
 
3997
 
3998
- this._element.setAttribute('aria-expanded', true);
3999
 
4000
- $$$1(this._menu).toggleClass(ClassName.SHOW);
4001
- $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
4002
- };
4003
 
4004
- _proto.dispose = function dispose() {
4005
- $$$1.removeData(this._element, DATA_KEY);
4006
- $$$1(this._element).off(EVENT_KEY);
4007
- this._element = null;
4008
- this._menu = null;
4009
 
4010
- if (this._popper !== null) {
4011
- this._popper.destroy();
 
 
 
4012
 
4013
- this._popper = null;
4014
- }
4015
- };
4016
 
4017
- _proto.update = function update() {
4018
- this._inNavbar = this._detectNavbar();
 
4019
 
4020
- if (this._popper !== null) {
4021
- this._popper.scheduleUpdate();
4022
- }
4023
- }; // Private
4024
 
 
 
 
 
4025
 
4026
- _proto._addEventListeners = function _addEventListeners() {
4027
- var _this = this;
4028
 
4029
- $$$1(this._element).on(Event.CLICK, function (event) {
4030
- event.preventDefault();
4031
- event.stopPropagation();
4032
 
4033
- _this.toggle();
4034
- });
4035
- };
4036
 
4037
- _proto._getConfig = function _getConfig(config) {
4038
- config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
4039
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
4040
- return config;
4041
- };
4042
 
4043
- _proto._getMenuElement = function _getMenuElement() {
4044
- if (!this._menu) {
4045
- var parent = Dropdown._getParentFromElement(this._element);
 
 
4046
 
4047
- this._menu = $$$1(parent).find(Selector.MENU)[0];
4048
- }
 
4049
 
4050
- return this._menu;
4051
- };
 
 
 
4052
 
4053
- _proto._getPlacement = function _getPlacement() {
4054
- var $parentDropdown = $$$1(this._element).parent();
4055
- var placement = AttachmentMap.BOTTOM; // Handle dropup
4056
 
4057
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
4058
- placement = AttachmentMap.TOP;
4059
 
4060
- if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
4061
- placement = AttachmentMap.TOPEND;
 
 
 
 
 
 
 
4062
  }
4063
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
4064
- placement = AttachmentMap.RIGHT;
4065
- } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
4066
- placement = AttachmentMap.LEFT;
4067
- } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
4068
- placement = AttachmentMap.BOTTOMEND;
4069
- }
4070
 
4071
- return placement;
4072
- };
4073
 
4074
- _proto._detectNavbar = function _detectNavbar() {
4075
- return $$$1(this._element).closest('.navbar').length > 0;
4076
- };
4077
 
4078
- _proto._getPopperConfig = function _getPopperConfig() {
4079
- var _this2 = this;
 
 
 
 
 
 
 
 
 
 
 
4080
 
4081
- var offsetConf = {};
 
 
 
 
 
 
 
 
 
 
4082
 
4083
- if (typeof this._config.offset === 'function') {
4084
- offsetConf.fn = function (data) {
4085
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
4086
- return data;
4087
  };
4088
- } else {
4089
- offsetConf.offset = this._config.offset;
4090
- }
4091
 
4092
- var popperConfig = {
4093
- placement: this._getPlacement(),
4094
- modifiers: {
4095
- offset: offsetConf,
4096
- flip: {
4097
- enabled: this._config.flip
4098
- },
4099
- preventOverflow: {
4100
- boundariesElement: this._config.boundary
4101
- }
4102
  }
4103
- };
4104
- return popperConfig;
4105
- }; // Static
4106
 
 
 
4107
 
4108
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
4109
- return this.each(function () {
4110
- var data = $$$1(this).data(DATA_KEY);
4111
 
4112
- var _config = typeof config === 'object' ? config : null;
 
 
4113
 
4114
- if (!data) {
4115
- data = new Dropdown(this, _config);
4116
- $$$1(this).data(DATA_KEY, data);
4117
- }
 
 
4118
 
4119
- if (typeof config === 'string') {
4120
- if (typeof data[config] === 'undefined') {
4121
- throw new TypeError("No method named \"" + config + "\"");
 
 
 
4122
  }
 
 
4123
 
4124
- data[config]();
 
 
4125
  }
4126
- });
4127
- };
4128
 
4129
- Dropdown._clearMenus = function _clearMenus(event) {
4130
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
4131
- return;
4132
- }
4133
 
4134
- var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
 
4135
 
4136
- for (var i = 0; i < toggles.length; i++) {
4137
- var parent = Dropdown._getParentFromElement(toggles[i]);
 
 
4138
 
4139
- var context = $$$1(toggles[i]).data(DATA_KEY);
4140
- var relatedTarget = {
4141
- relatedTarget: toggles[i]
4142
- };
4143
 
4144
- if (!context) {
4145
- continue;
4146
- }
4147
 
4148
- var dropdownMenu = context._menu;
 
 
4149
 
4150
- if (!$$$1(parent).hasClass(ClassName.SHOW)) {
4151
- continue;
4152
- }
4153
 
4154
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
4155
- continue;
4156
- }
4157
 
4158
- var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
4159
- $$$1(parent).trigger(hideEvent);
 
 
4160
 
4161
- if (hideEvent.isDefaultPrevented()) {
4162
- continue;
4163
- } // If this is a touch-enabled device we remove the extra
4164
- // empty mouseover listeners we added for iOS support
4165
 
 
 
 
4166
 
4167
- if ('ontouchstart' in document.documentElement) {
4168
- $$$1('body').children().off('mouseover', null, $$$1.noop);
 
4169
  }
 
4170
 
4171
- toggles[i].setAttribute('aria-expanded', 'false');
4172
- $$$1(dropdownMenu).removeClass(ClassName.SHOW);
4173
- $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
4174
- }
4175
- };
4176
 
4177
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
4178
- var parent;
4179
- var selector = Util.getSelectorFromElement(element);
4180
 
4181
- if (selector) {
4182
- parent = $$$1(selector)[0];
4183
- }
4184
 
4185
- return parent || element.parentNode;
4186
- }; // eslint-disable-next-line complexity
4187
 
 
 
 
 
 
 
 
 
 
 
 
4188
 
4189
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
4190
- // If not input/textarea:
4191
- // - And not a key in REGEXP_KEYDOWN => not a dropdown command
4192
- // If input/textarea:
4193
- // - If space key => not a dropdown command
4194
- // - If key is other than escape
4195
- // - If key is not up or down => not a dropdown command
4196
- // - If trigger inside the menu => not a dropdown command
4197
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
4198
- return;
4199
- }
4200
 
4201
- event.preventDefault();
4202
- event.stopPropagation();
 
4203
 
4204
- if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
4205
- return;
4206
- }
4207
 
4208
- var parent = Dropdown._getParentFromElement(this);
4209
 
4210
- var isActive = $$$1(parent).hasClass(ClassName.SHOW);
 
 
 
 
4211
 
4212
- if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
4213
- if (event.which === ESCAPE_KEYCODE) {
4214
- var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
4215
- $$$1(toggle).trigger('focus');
4216
  }
4217
 
4218
- $$$1(this).trigger('click');
4219
- return;
4220
- }
4221
-
4222
- var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
4223
 
4224
- if (items.length === 0) {
4225
- return;
4226
- }
4227
 
4228
- var index = items.indexOf(event.target);
4229
 
4230
- if (event.which === ARROW_UP_KEYCODE && index > 0) {
4231
- // Up
4232
- index--;
4233
- }
4234
 
4235
- if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
4236
- // Down
4237
- index++;
4238
- }
4239
 
4240
- if (index < 0) {
4241
- index = 0;
4242
- }
4243
 
4244
- items[index].focus();
4245
- };
4246
 
4247
- _createClass(Dropdown, null, [{
4248
- key: "VERSION",
4249
- get: function get() {
4250
- return VERSION;
4251
- }
4252
- }, {
4253
- key: "Default",
4254
- get: function get() {
4255
- return Default;
4256
- }
4257
- }, {
4258
- key: "DefaultType",
4259
- get: function get() {
4260
- return DefaultType;
4261
- }
4262
- }]);
4263
- return Dropdown;
4264
- }();
4265
- /**
4266
- * ------------------------------------------------------------------------
4267
- * Data Api implementation
4268
- * ------------------------------------------------------------------------
4269
- */
4270
 
 
 
 
 
 
 
 
4271
 
4272
- $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
4273
- event.preventDefault();
4274
- event.stopPropagation();
4275
 
4276
- Dropdown._jQueryInterface.call($$$1(this), 'toggle');
4277
- }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
4278
- e.stopPropagation();
4279
- });
4280
- /**
4281
- * ------------------------------------------------------------------------
4282
- * jQuery
4283
- * ------------------------------------------------------------------------
4284
- */
4285
 
4286
- $$$1.fn[NAME] = Dropdown._jQueryInterface;
4287
- $$$1.fn[NAME].Constructor = Dropdown;
 
 
 
 
 
 
 
4288
 
4289
- $$$1.fn[NAME].noConflict = function () {
4290
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
4291
- return Dropdown._jQueryInterface;
4292
- };
4293
 
4294
- return Dropdown;
4295
- }($, Popper);
 
 
4296
 
4297
- /**
4298
- * --------------------------------------------------------------------------
4299
- * Bootstrap (v4.0.0): modal.js
4300
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4301
- * --------------------------------------------------------------------------
4302
- */
4303
 
4304
- var Modal = function ($$$1) {
4305
  /**
4306
- * ------------------------------------------------------------------------
4307
- * Constants
4308
- * ------------------------------------------------------------------------
 
4309
  */
4310
- var NAME = 'modal';
4311
- var VERSION = '4.0.0';
4312
- var DATA_KEY = 'bs.modal';
4313
- var EVENT_KEY = "." + DATA_KEY;
4314
- var DATA_API_KEY = '.data-api';
4315
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
4316
- var TRANSITION_DURATION = 300;
4317
- var BACKDROP_TRANSITION_DURATION = 150;
4318
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
4319
-
4320
- var Default = {
4321
- backdrop: true,
4322
- keyboard: true,
4323
- focus: true,
4324
- show: true
4325
- };
4326
- var DefaultType = {
4327
- backdrop: '(boolean|string)',
4328
- keyboard: 'boolean',
4329
- focus: 'boolean',
4330
- show: 'boolean'
4331
- };
4332
- var Event = {
4333
- HIDE: "hide" + EVENT_KEY,
4334
- HIDDEN: "hidden" + EVENT_KEY,
4335
- SHOW: "show" + EVENT_KEY,
4336
- SHOWN: "shown" + EVENT_KEY,
4337
- FOCUSIN: "focusin" + EVENT_KEY,
4338
- RESIZE: "resize" + EVENT_KEY,
4339
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
4340
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
4341
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
4342
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
4343
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
4344
- };
4345
- var ClassName = {
4346
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
4347
- BACKDROP: 'modal-backdrop',
4348
- OPEN: 'modal-open',
4349
- FADE: 'fade',
4350
- SHOW: 'show'
4351
- };
4352
- var Selector = {
4353
- DIALOG: '.modal-dialog',
4354
- DATA_TOGGLE: '[data-toggle="modal"]',
4355
- DATA_DISMISS: '[data-dismiss="modal"]',
4356
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
4357
- STICKY_CONTENT: '.sticky-top',
4358
- NAVBAR_TOGGLER: '.navbar-toggler'
4359
  /**
4360
  * ------------------------------------------------------------------------
4361
- * Class Definition
4362
  * ------------------------------------------------------------------------
4363
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4364
 
4365
- };
4366
-
4367
- var Modal =
4368
- /*#__PURE__*/
4369
- function () {
4370
- function Modal(element, config) {
4371
- this._config = this._getConfig(config);
4372
- this._element = element;
4373
- this._dialog = $$$1(element).find(Selector.DIALOG)[0];
4374
- this._backdrop = null;
4375
- this._isShown = false;
4376
- this._isBodyOverflowing = false;
4377
- this._ignoreBackdropClick = false;
4378
- this._originalBodyPadding = 0;
4379
- this._scrollbarWidth = 0;
4380
- } // Getters
4381
-
4382
-
4383
- var _proto = Modal.prototype;
4384
-
4385
- // Public
4386
- _proto.toggle = function toggle(relatedTarget) {
4387
- return this._isShown ? this.hide() : this.show(relatedTarget);
4388
  };
4389
 
4390
- _proto.show = function show(relatedTarget) {
4391
- var _this = this;
 
 
 
 
 
 
 
 
 
 
 
4392
 
4393
- if (this._isTransitioning || this._isShown) {
4394
- return;
4395
- }
4396
 
4397
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
4398
- this._isTransitioning = true;
4399
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4400
 
4401
- var showEvent = $$$1.Event(Event.SHOW, {
4402
- relatedTarget: relatedTarget
4403
- });
4404
- $$$1(this._element).trigger(showEvent);
4405
 
4406
- if (this._isShown || showEvent.isDefaultPrevented()) {
4407
- return;
4408
- }
4409
 
4410
- this._isShown = true;
4411
 
4412
- this._checkScrollbar();
4413
 
4414
- this._setScrollbar();
4415
 
4416
- this._adjustDialog();
4417
 
4418
- $$$1(document.body).addClass(ClassName.OPEN);
4419
 
4420
- this._setEscapeEvent();
4421
 
4422
- this._setResizeEvent();
 
 
 
 
 
 
 
 
 
4423
 
4424
- $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
4425
- return _this.hide(event);
4426
- });
4427
- $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
4428
- $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
4429
- if ($$$1(event.target).is(_this._element)) {
4430
- _this._ignoreBackdropClick = true;
4431
- }
4432
  });
4433
- });
4434
 
4435
- this._showBackdrop(function () {
4436
- return _this._showElement(relatedTarget);
4437
- });
4438
- };
4439
 
4440
- _proto.hide = function hide(event) {
4441
- var _this2 = this;
 
4442
 
4443
- if (event) {
4444
- event.preventDefault();
4445
- }
4446
 
4447
- if (this._isTransitioning || !this._isShown) {
4448
- return;
4449
- }
4450
 
4451
- var hideEvent = $$$1.Event(Event.HIDE);
4452
- $$$1(this._element).trigger(hideEvent);
 
4453
 
4454
- if (!this._isShown || hideEvent.isDefaultPrevented()) {
4455
- return;
4456
- }
 
 
 
4457
 
4458
- this._isShown = false;
4459
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
4460
 
4461
- if (transition) {
4462
- this._isTransitioning = true;
4463
- }
4464
 
4465
- this._setEscapeEvent();
 
 
 
4466
 
4467
- this._setResizeEvent();
 
 
 
 
 
 
 
 
4468
 
4469
- $$$1(document).off(Event.FOCUSIN);
4470
- $$$1(this._element).removeClass(ClassName.SHOW);
4471
- $$$1(this._element).off(Event.CLICK_DISMISS);
4472
- $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
 
 
 
 
 
 
 
 
4473
 
4474
- if (transition) {
4475
- $$$1(this._element).one(Util.TRANSITION_END, function (event) {
4476
- return _this2._hideModal(event);
4477
- }).emulateTransitionEnd(TRANSITION_DURATION);
4478
- } else {
4479
- this._hideModal();
4480
- }
4481
- };
4482
 
4483
- _proto.dispose = function dispose() {
4484
- $$$1.removeData(this._element, DATA_KEY);
4485
- $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
4486
- this._config = null;
4487
- this._element = null;
4488
- this._dialog = null;
4489
- this._backdrop = null;
4490
- this._isShown = null;
4491
- this._isBodyOverflowing = null;
4492
- this._ignoreBackdropClick = null;
4493
- this._scrollbarWidth = null;
4494
- };
4495
 
4496
- _proto.handleUpdate = function handleUpdate() {
4497
- this._adjustDialog();
4498
- }; // Private
 
 
4499
 
 
 
4500
 
4501
- _proto._getConfig = function _getConfig(config) {
4502
- config = _extends({}, Default, config);
4503
- Util.typeCheckConfig(NAME, config, DefaultType);
4504
- return config;
4505
- };
4506
 
4507
- _proto._showElement = function _showElement(relatedTarget) {
4508
- var _this3 = this;
 
 
4509
 
4510
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
4511
 
4512
- if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
4513
- // Don't move modal's DOM position
4514
- document.body.appendChild(this._element);
4515
- }
4516
 
4517
- this._element.style.display = 'block';
4518
 
4519
- this._element.removeAttribute('aria-hidden');
 
 
4520
 
4521
- this._element.scrollTop = 0;
4522
 
4523
- if (transition) {
4524
- Util.reflow(this._element);
4525
- }
4526
 
4527
- $$$1(this._element).addClass(ClassName.SHOW);
 
 
4528
 
4529
- if (this._config.focus) {
4530
- this._enforceFocus();
4531
- }
 
4532
 
4533
- var shownEvent = $$$1.Event(Event.SHOWN, {
4534
- relatedTarget: relatedTarget
4535
- });
4536
 
4537
- var transitionComplete = function transitionComplete() {
4538
- if (_this3._config.focus) {
4539
- _this3._element.focus();
 
 
4540
  }
 
 
 
 
4541
 
4542
- _this3._isTransitioning = false;
4543
- $$$1(_this3._element).trigger(shownEvent);
 
 
 
 
4544
  };
4545
 
4546
- if (transition) {
4547
- $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
4548
- } else {
4549
- transitionComplete();
4550
- }
4551
- };
 
4552
 
4553
- _proto._enforceFocus = function _enforceFocus() {
4554
- var _this4 = this;
 
 
 
 
 
4555
 
4556
- $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
4557
- .on(Event.FOCUSIN, function (event) {
4558
- if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
4559
- _this4._element.focus();
 
 
 
 
 
4560
  }
4561
- });
4562
- };
4563
 
4564
- _proto._setEscapeEvent = function _setEscapeEvent() {
4565
- var _this5 = this;
4566
 
4567
- if (this._isShown && this._config.keyboard) {
4568
- $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
4569
- if (event.which === ESCAPE_KEYCODE) {
4570
- event.preventDefault();
4571
 
4572
- _this5.hide();
4573
- }
4574
- });
4575
- } else if (!this._isShown) {
4576
- $$$1(this._element).off(Event.KEYDOWN_DISMISS);
4577
- }
4578
- };
4579
 
4580
- _proto._setResizeEvent = function _setResizeEvent() {
4581
- var _this6 = this;
4582
 
4583
- if (this._isShown) {
4584
- $$$1(window).on(Event.RESIZE, function (event) {
4585
- return _this6.handleUpdate(event);
4586
- });
4587
- } else {
4588
- $$$1(window).off(Event.RESIZE);
4589
- }
4590
- };
4591
 
4592
- _proto._hideModal = function _hideModal() {
4593
- var _this7 = this;
4594
 
4595
- this._element.style.display = 'none';
4596
 
4597
- this._element.setAttribute('aria-hidden', true);
 
 
4598
 
4599
- this._isTransitioning = false;
 
 
 
 
 
4600
 
4601
- this._showBackdrop(function () {
4602
- $$$1(document.body).removeClass(ClassName.OPEN);
4603
 
4604
- _this7._resetAdjustments();
4605
 
4606
- _this7._resetScrollbar();
 
 
4607
 
4608
- $$$1(_this7._element).trigger(Event.HIDDEN);
4609
- });
4610
- };
4611
 
4612
- _proto._removeBackdrop = function _removeBackdrop() {
4613
- if (this._backdrop) {
4614
- $$$1(this._backdrop).remove();
4615
- this._backdrop = null;
4616
- }
4617
- };
4618
 
4619
- _proto._showBackdrop = function _showBackdrop(callback) {
4620
- var _this8 = this;
 
4621
 
4622
- var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
 
 
 
 
 
4623
 
4624
- if (this._isShown && this._config.backdrop) {
4625
- var doAnimate = Util.supportsTransitionEnd() && animate;
4626
- this._backdrop = document.createElement('div');
4627
- this._backdrop.className = ClassName.BACKDROP;
4628
 
4629
- if (animate) {
4630
- $$$1(this._backdrop).addClass(animate);
4631
- }
4632
 
4633
- $$$1(this._backdrop).appendTo(document.body);
4634
- $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
4635
- if (_this8._ignoreBackdropClick) {
4636
- _this8._ignoreBackdropClick = false;
4637
  return;
4638
  }
4639
 
4640
- if (event.target !== event.currentTarget) {
 
4641
  return;
4642
  }
4643
 
4644
- if (_this8._config.backdrop === 'static') {
4645
- _this8._element.focus();
4646
- } else {
4647
- _this8.hide();
4648
- }
4649
- });
4650
 
4651
- if (doAnimate) {
4652
- Util.reflow(this._backdrop);
4653
- }
4654
 
4655
- $$$1(this._backdrop).addClass(ClassName.SHOW);
 
 
 
4656
 
4657
- if (!callback) {
4658
- return;
4659
- }
4660
 
4661
- if (!doAnimate) {
 
 
 
 
4662
  callback();
4663
- return;
4664
  }
 
 
 
 
4665
 
4666
- $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
4667
- } else if (!this._isShown && this._backdrop) {
4668
- $$$1(this._backdrop).removeClass(ClassName.SHOW);
4669
 
4670
- var callbackRemove = function callbackRemove() {
4671
- _this8._removeBackdrop();
4672
-
4673
- if (callback) {
4674
- callback();
4675
- }
4676
- };
4677
 
4678
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
4679
- $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
4680
- } else {
4681
- callbackRemove();
4682
  }
4683
- } else if (callback) {
4684
- callback();
4685
- }
4686
- }; // ----------------------------------------------------------------------
4687
- // the following methods are used to handle overflowing modals
4688
- // todo (fat): these should probably be refactored out of modal.js
4689
- // ----------------------------------------------------------------------
4690
 
 
 
 
 
4691
 
4692
- _proto._adjustDialog = function _adjustDialog() {
4693
- var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
 
4694
 
4695
- if (!this._isBodyOverflowing && isModalOverflowing) {
4696
- this._element.style.paddingLeft = this._scrollbarWidth + "px";
4697
- }
 
 
4698
 
4699
- if (this._isBodyOverflowing && !isModalOverflowing) {
4700
- this._element.style.paddingRight = this._scrollbarWidth + "px";
4701
- }
4702
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4703
 
4704
- _proto._resetAdjustments = function _resetAdjustments() {
4705
- this._element.style.paddingLeft = '';
4706
- this._element.style.paddingRight = '';
4707
- };
4708
 
4709
- _proto._checkScrollbar = function _checkScrollbar() {
4710
- var rect = document.body.getBoundingClientRect();
4711
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
4712
- this._scrollbarWidth = this._getScrollbarWidth();
4713
- };
4714
 
4715
- _proto._setScrollbar = function _setScrollbar() {
4716
- var _this9 = this;
4717
 
4718
- if (this._isBodyOverflowing) {
4719
- // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
4720
- // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
4721
- // Adjust fixed content padding
4722
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
4723
- var actualPadding = $$$1(element)[0].style.paddingRight;
4724
- var calculatedPadding = $$$1(element).css('padding-right');
4725
- $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
4726
- }); // Adjust sticky content margin
4727
-
4728
- $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
4729
- var actualMargin = $$$1(element)[0].style.marginRight;
4730
- var calculatedMargin = $$$1(element).css('margin-right');
4731
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
4732
- }); // Adjust navbar-toggler margin
4733
-
4734
- $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
4735
- var actualMargin = $$$1(element)[0].style.marginRight;
4736
- var calculatedMargin = $$$1(element).css('margin-right');
4737
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
4738
- }); // Adjust body padding
4739
-
4740
- var actualPadding = document.body.style.paddingRight;
4741
- var calculatedPadding = $$$1('body').css('padding-right');
4742
- $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
4743
- }
4744
- };
4745
 
4746
- _proto._resetScrollbar = function _resetScrollbar() {
4747
- // Restore fixed content padding
4748
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
4749
- var padding = $$$1(element).data('padding-right');
4750
 
4751
  if (typeof padding !== 'undefined') {
4752
- $$$1(element).css('padding-right', padding).removeData('padding-right');
4753
- }
4754
- }); // Restore sticky content and navbar-toggler margin
4755
-
4756
- $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
4757
- var margin = $$$1(element).data('margin-right');
4758
-
4759
- if (typeof margin !== 'undefined') {
4760
- $$$1(element).css('margin-right', margin).removeData('margin-right');
4761
  }
4762
- }); // Restore body padding
4763
-
4764
- var padding = $$$1('body').data('padding-right');
4765
 
4766
- if (typeof padding !== 'undefined') {
4767
- $$$1('body').css('padding-right', padding).removeData('padding-right');
4768
- }
4769
- };
 
 
 
 
 
4770
 
4771
- _proto._getScrollbarWidth = function _getScrollbarWidth() {
4772
- // thx d.walsh
4773
- var scrollDiv = document.createElement('div');
4774
- scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
4775
- document.body.appendChild(scrollDiv);
4776
- var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
4777
- document.body.removeChild(scrollDiv);
4778
- return scrollbarWidth;
4779
- }; // Static
4780
 
 
 
 
4781
 
4782
- Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
4783
- return this.each(function () {
4784
- var data = $$$1(this).data(DATA_KEY);
4785
 
4786
- var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
 
 
 
4787
 
4788
- if (!data) {
4789
- data = new Modal(this, _config);
4790
- $$$1(this).data(DATA_KEY, data);
4791
- }
4792
 
4793
- if (typeof config === 'string') {
4794
- if (typeof data[config] === 'undefined') {
4795
- throw new TypeError("No method named \"" + config + "\"");
4796
  }
 
 
4797
 
4798
- data[config](relatedTarget);
4799
- } else if (_config.show) {
4800
- data.show(relatedTarget);
 
4801
  }
4802
- });
4803
- };
4804
-
4805
- _createClass(Modal, null, [{
4806
- key: "VERSION",
4807
- get: function get() {
4808
- return VERSION;
4809
- }
4810
- }, {
4811
- key: "Default",
4812
- get: function get() {
4813
- return Default;
4814
- }
4815
- }]);
4816
- return Modal;
4817
- }();
4818
- /**
4819
- * ------------------------------------------------------------------------
4820
- * Data Api implementation
4821
- * ------------------------------------------------------------------------
4822
- */
4823
 
 
 
 
 
 
 
 
4824
 
4825
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
4826
- var _this10 = this;
4827
 
4828
- var target;
4829
- var selector = Util.getSelectorFromElement(this);
4830
 
4831
- if (selector) {
4832
- target = $$$1(selector)[0];
4833
- }
4834
 
4835
- var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
 
 
4836
 
4837
- if (this.tagName === 'A' || this.tagName === 'AREA') {
4838
- event.preventDefault();
4839
- }
4840
 
4841
- var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
4842
- if (showEvent.isDefaultPrevented()) {
4843
- // Only register focus restorer if modal will actually get shown
4844
- return;
4845
  }
4846
 
4847
- $target.one(Event.HIDDEN, function () {
4848
- if ($$$1(_this10).is(':visible')) {
4849
- _this10.focus();
 
4850
  }
4851
- });
4852
- });
4853
 
4854
- Modal._jQueryInterface.call($$$1(target), config, this);
4855
- });
4856
- /**
4857
- * ------------------------------------------------------------------------
4858
- * jQuery
4859
- * ------------------------------------------------------------------------
4860
- */
4861
 
4862
- $$$1.fn[NAME] = Modal._jQueryInterface;
4863
- $$$1.fn[NAME].Constructor = Modal;
 
 
 
 
 
4864
 
4865
- $$$1.fn[NAME].noConflict = function () {
4866
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
4867
- return Modal._jQueryInterface;
4868
- };
4869
 
4870
- return Modal;
4871
- }($);
 
 
4872
 
4873
- /**
4874
- * --------------------------------------------------------------------------
4875
- * Bootstrap (v4.0.0): tooltip.js
4876
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4877
- * --------------------------------------------------------------------------
4878
- */
4879
 
4880
- var Tooltip = function ($$$1) {
4881
  /**
4882
- * ------------------------------------------------------------------------
4883
- * Constants
4884
- * ------------------------------------------------------------------------
 
4885
  */
4886
- var NAME = 'tooltip';
4887
- var VERSION = '4.0.0';
4888
- var DATA_KEY = 'bs.tooltip';
4889
- var EVENT_KEY = "." + DATA_KEY;
4890
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
4891
- var TRANSITION_DURATION = 150;
4892
- var CLASS_PREFIX = 'bs-tooltip';
4893
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
4894
- var DefaultType = {
4895
- animation: 'boolean',
4896
- template: 'string',
4897
- title: '(string|element|function)',
4898
- trigger: 'string',
4899
- delay: '(number|object)',
4900
- html: 'boolean',
4901
- selector: '(string|boolean)',
4902
- placement: '(string|function)',
4903
- offset: '(number|string)',
4904
- container: '(string|element|boolean)',
4905
- fallbackPlacement: '(string|array)',
4906
- boundary: '(string|element)'
4907
- };
4908
- var AttachmentMap = {
4909
- AUTO: 'auto',
4910
- TOP: 'top',
4911
- RIGHT: 'right',
4912
- BOTTOM: 'bottom',
4913
- LEFT: 'left'
4914
- };
4915
- var Default = {
4916
- animation: true,
4917
- template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
4918
- trigger: 'hover focus',
4919
- title: '',
4920
- delay: 0,
4921
- html: false,
4922
- selector: false,
4923
- placement: 'top',
4924
- offset: 0,
4925
- container: false,
4926
- fallbackPlacement: 'flip',
4927
- boundary: 'scrollParent'
4928
- };
4929
- var HoverState = {
4930
- SHOW: 'show',
4931
- OUT: 'out'
4932
- };
4933
- var Event = {
4934
- HIDE: "hide" + EVENT_KEY,
4935
- HIDDEN: "hidden" + EVENT_KEY,
4936
- SHOW: "show" + EVENT_KEY,
4937
- SHOWN: "shown" + EVENT_KEY,
4938
- INSERTED: "inserted" + EVENT_KEY,
4939
- CLICK: "click" + EVENT_KEY,
4940
- FOCUSIN: "focusin" + EVENT_KEY,
4941
- FOCUSOUT: "focusout" + EVENT_KEY,
4942
- MOUSEENTER: "mouseenter" + EVENT_KEY,
4943
- MOUSELEAVE: "mouseleave" + EVENT_KEY
4944
- };
4945
- var ClassName = {
4946
- FADE: 'fade',
4947
- SHOW: 'show'
4948
- };
4949
- var Selector = {
4950
- TOOLTIP: '.tooltip',
4951
- TOOLTIP_INNER: '.tooltip-inner',
4952
- ARROW: '.arrow'
4953
- };
4954
- var Trigger = {
4955
- HOVER: 'hover',
4956
- FOCUS: 'focus',
4957
- CLICK: 'click',
4958
- MANUAL: 'manual'
4959
  /**
4960
  * ------------------------------------------------------------------------
4961
- * Class Definition
4962
  * ------------------------------------------------------------------------
4963
  */
4964
-
4965
- };
4966
-
4967
- var Tooltip =
4968
- /*#__PURE__*/
4969
- function () {
4970
- function Tooltip(element, config) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4971
  /**
4972
- * Check for Popper dependency
4973
- * Popper - https://popper.js.org
 
4974
  */
4975
- if (typeof Popper === 'undefined') {
4976
- throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
4977
- } // private
4978
 
 
4979
 
4980
- this._isEnabled = true;
4981
- this._timeout = 0;
4982
- this._hoverState = '';
4983
- this._activeTrigger = {};
4984
- this._popper = null; // Protected
 
 
 
 
 
 
4985
 
4986
- this.element = element;
4987
- this.config = this._getConfig(config);
4988
- this.tip = null;
4989
 
4990
- this._setListeners();
4991
- } // Getters
 
 
 
4992
 
 
 
 
4993
 
4994
- var _proto = Tooltip.prototype;
 
4995
 
4996
- // Public
4997
- _proto.enable = function enable() {
4998
- this._isEnabled = true;
4999
- };
5000
 
5001
- _proto.disable = function disable() {
5002
- this._isEnabled = false;
5003
- };
5004
 
5005
- _proto.toggleEnabled = function toggleEnabled() {
5006
- this._isEnabled = !this._isEnabled;
5007
- };
 
5008
 
5009
- _proto.toggle = function toggle(event) {
5010
- if (!this._isEnabled) {
5011
- return;
5012
- }
5013
 
5014
- if (event) {
5015
- var dataKey = this.constructor.DATA_KEY;
5016
- var context = $$$1(event.currentTarget).data(dataKey);
5017
 
5018
- if (!context) {
5019
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
5020
- $$$1(event.currentTarget).data(dataKey, context);
5021
  }
5022
 
5023
- context._activeTrigger.click = !context._activeTrigger.click;
 
 
 
 
 
 
 
 
 
5024
 
5025
- if (context._isWithActiveTrigger()) {
5026
- context._enter(null, context);
 
 
 
5027
  } else {
5028
- context._leave(null, context);
5029
- }
5030
- } else {
5031
- if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
5032
- this._leave(null, this);
5033
 
5034
- return;
5035
- }
5036
 
5037
- this._enter(null, this);
5038
- }
5039
- };
5040
 
5041
- _proto.dispose = function dispose() {
5042
- clearTimeout(this._timeout);
5043
- $$$1.removeData(this.element, this.constructor.DATA_KEY);
5044
- $$$1(this.element).off(this.constructor.EVENT_KEY);
5045
- $$$1(this.element).closest('.modal').off('hide.bs.modal');
5046
 
5047
- if (this.tip) {
5048
- $$$1(this.tip).remove();
5049
- }
5050
 
5051
- this._isEnabled = null;
5052
- this._timeout = null;
5053
- this._hoverState = null;
5054
- this._activeTrigger = null;
5055
 
5056
- if (this._popper !== null) {
5057
- this._popper.destroy();
5058
- }
5059
 
5060
- this._popper = null;
5061
- this.element = null;
5062
- this.config = null;
5063
- this.tip = null;
5064
- };
5065
 
5066
- _proto.show = function show() {
5067
- var _this = this;
5068
 
5069
- if ($$$1(this.element).css('display') === 'none') {
5070
- throw new Error('Please use show on visible elements');
5071
- }
5072
 
5073
- var showEvent = $$$1.Event(this.constructor.Event.SHOW);
5074
 
5075
- if (this.isWithContent() && this._isEnabled) {
5076
- $$$1(this.element).trigger(showEvent);
5077
- var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
5078
 
5079
- if (showEvent.isDefaultPrevented() || !isInTheDom) {
5080
- return;
5081
- }
5082
 
5083
- var tip = this.getTipElement();
5084
- var tipId = Util.getUID(this.constructor.NAME);
5085
- tip.setAttribute('id', tipId);
5086
- this.element.setAttribute('aria-describedby', tipId);
5087
- this.setContent();
5088
 
5089
- if (this.config.animation) {
5090
- $$$1(tip).addClass(ClassName.FADE);
5091
- }
5092
 
5093
- var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
5094
 
5095
- var attachment = this._getAttachment(placement);
5096
 
5097
- this.addAttachmentClass(attachment);
5098
- var container = this.config.container === false ? document.body : $$$1(this.config.container);
5099
- $$$1(tip).data(this.constructor.DATA_KEY, this);
5100
 
5101
- if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
5102
- $$$1(tip).appendTo(container);
5103
- }
5104
 
5105
- $$$1(this.element).trigger(this.constructor.Event.INSERTED);
5106
- this._popper = new Popper(this.element, tip, {
5107
- placement: attachment,
5108
- modifiers: {
5109
- offset: {
5110
- offset: this.config.offset
5111
- },
5112
- flip: {
5113
- behavior: this.config.fallbackPlacement
 
 
 
 
 
 
 
5114
  },
5115
- arrow: {
5116
- element: Selector.ARROW
 
 
5117
  },
5118
- preventOverflow: {
5119
- boundariesElement: this.config.boundary
5120
- }
5121
- },
5122
- onCreate: function onCreate(data) {
5123
- if (data.originalPlacement !== data.placement) {
5124
  _this._handlePopperPlacementChange(data);
5125
  }
5126
- },
5127
- onUpdate: function onUpdate(data) {
5128
- _this._handlePopperPlacementChange(data);
 
 
 
 
 
5129
  }
5130
- });
5131
- $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
5132
- // empty mouseover listeners to the body's immediate children;
5133
- // only needed because of broken event delegation on iOS
5134
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
5135
 
5136
- if ('ontouchstart' in document.documentElement) {
5137
- $$$1('body').children().on('mouseover', null, $$$1.noop);
5138
- }
 
5139
 
5140
- var complete = function complete() {
5141
- if (_this.config.animation) {
5142
- _this._fixTransition();
5143
- }
5144
 
5145
- var prevHoverState = _this._hoverState;
5146
- _this._hoverState = null;
5147
- $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
 
5148
 
5149
- if (prevHoverState === HoverState.OUT) {
5150
- _this._leave(null, _this);
 
 
 
5151
  }
5152
- };
5153
-
5154
- if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
5155
- $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
5156
- } else {
5157
- complete();
5158
  }
5159
- }
5160
- };
5161
 
5162
- _proto.hide = function hide(callback) {
5163
- var _this2 = this;
5164
 
5165
- var tip = this.getTipElement();
5166
- var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
5167
 
5168
- var complete = function complete() {
5169
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
5170
- tip.parentNode.removeChild(tip);
5171
- }
5172
 
5173
- _this2._cleanTipClass();
5174
 
5175
- _this2.element.removeAttribute('aria-describedby');
5176
 
5177
- $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
5178
 
5179
- if (_this2._popper !== null) {
5180
- _this2._popper.destroy();
5181
- }
5182
 
5183
- if (callback) {
5184
- callback();
5185
- }
5186
- };
5187
 
5188
- $$$1(this.element).trigger(hideEvent);
5189
 
5190
- if (hideEvent.isDefaultPrevented()) {
5191
- return;
5192
- }
5193
 
5194
- $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
5195
- // empty mouseover listeners we added for iOS support
5196
 
5197
- if ('ontouchstart' in document.documentElement) {
5198
- $$$1('body').children().off('mouseover', null, $$$1.noop);
5199
- }
5200
 
5201
- this._activeTrigger[Trigger.CLICK] = false;
5202
- this._activeTrigger[Trigger.FOCUS] = false;
5203
- this._activeTrigger[Trigger.HOVER] = false;
5204
 
5205
- if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
5206
- $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
5207
- } else {
5208
- complete();
5209
- }
 
5210
 
5211
- this._hoverState = '';
5212
- };
5213
 
5214
- _proto.update = function update() {
5215
- if (this._popper !== null) {
5216
- this._popper.scheduleUpdate();
5217
- }
5218
- }; // Protected
5219
 
5220
 
5221
- _proto.isWithContent = function isWithContent() {
5222
- return Boolean(this.getTitle());
5223
- };
5224
 
5225
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
5226
- $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
5227
- };
5228
 
5229
- _proto.getTipElement = function getTipElement() {
5230
- this.tip = this.tip || $$$1(this.config.template)[0];
5231
- return this.tip;
5232
- };
5233
 
5234
- _proto.setContent = function setContent() {
5235
- var $tip = $$$1(this.getTipElement());
5236
- this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
5237
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
5238
- };
5239
 
5240
- _proto.setElementContent = function setElementContent($element, content) {
5241
- var html = this.config.html;
5242
 
5243
- if (typeof content === 'object' && (content.nodeType || content.jquery)) {
5244
- // Content is a DOM node or a jQuery
5245
- if (html) {
5246
- if (!$$$1(content).parent().is($element)) {
5247
- $element.empty().append(content);
 
 
 
5248
  }
5249
  } else {
5250
- $element.text($$$1(content).text());
5251
  }
5252
- } else {
5253
- $element[html ? 'html' : 'text'](content);
5254
- }
5255
- };
5256
 
5257
- _proto.getTitle = function getTitle() {
5258
- var title = this.element.getAttribute('data-original-title');
5259
 
5260
- if (!title) {
5261
- title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
5262
- }
5263
 
5264
- return title;
5265
- }; // Private
5266
 
5267
 
5268
- _proto._getAttachment = function _getAttachment(placement) {
5269
- return AttachmentMap[placement.toUpperCase()];
5270
- };
5271
 
5272
- _proto._setListeners = function _setListeners() {
5273
- var _this3 = this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5274
 
5275
- var triggers = this.config.trigger.split(' ');
5276
- triggers.forEach(function (trigger) {
5277
- if (trigger === 'click') {
5278
- $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
5279
- return _this3.toggle(event);
5280
  });
5281
- } else if (trigger !== Trigger.MANUAL) {
5282
- var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
5283
- var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
5284
- $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
5285
- return _this3._enter(event);
5286
- }).on(eventOut, _this3.config.selector, function (event) {
5287
- return _this3._leave(event);
5288
  });
 
 
5289
  }
 
5290
 
5291
- $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
5292
- return _this3.hide();
5293
- });
5294
- });
5295
-
5296
- if (this.config.selector) {
5297
- this.config = _extends({}, this.config, {
5298
- trigger: 'manual',
5299
- selector: ''
5300
- });
5301
- } else {
5302
- this._fixTitle();
5303
- }
5304
- };
5305
 
5306
- _proto._fixTitle = function _fixTitle() {
5307
- var titleType = typeof this.element.getAttribute('data-original-title');
 
 
 
5308
 
5309
- if (this.element.getAttribute('title') || titleType !== 'string') {
5310
- this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
5311
- this.element.setAttribute('title', '');
5312
- }
5313
- };
5314
 
5315
- _proto._enter = function _enter(event, context) {
5316
- var dataKey = this.constructor.DATA_KEY;
5317
- context = context || $$$1(event.currentTarget).data(dataKey);
 
5318
 
5319
- if (!context) {
5320
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
5321
- $$$1(event.currentTarget).data(dataKey, context);
5322
- }
5323
 
5324
- if (event) {
5325
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
5326
- }
 
5327
 
5328
- if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
5329
  context._hoverState = HoverState.SHOW;
5330
- return;
5331
- }
5332
-
5333
- clearTimeout(context._timeout);
5334
- context._hoverState = HoverState.SHOW;
5335
-
5336
- if (!context.config.delay || !context.config.delay.show) {
5337
- context.show();
5338
- return;
5339
- }
5340
 
5341
- context._timeout = setTimeout(function () {
5342
- if (context._hoverState === HoverState.SHOW) {
5343
  context.show();
 
5344
  }
5345
- }, context.config.delay.show);
5346
- };
5347
 
5348
- _proto._leave = function _leave(event, context) {
5349
- var dataKey = this.constructor.DATA_KEY;
5350
- context = context || $$$1(event.currentTarget).data(dataKey);
 
 
 
5351
 
5352
- if (!context) {
5353
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
5354
- $$$1(event.currentTarget).data(dataKey, context);
5355
- }
5356
 
5357
- if (event) {
5358
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
5359
- }
 
5360
 
5361
- if (context._isWithActiveTrigger()) {
5362
- return;
5363
- }
5364
 
5365
- clearTimeout(context._timeout);
5366
- context._hoverState = HoverState.OUT;
 
5367
 
5368
- if (!context.config.delay || !context.config.delay.hide) {
5369
- context.hide();
5370
- return;
5371
- }
5372
 
5373
- context._timeout = setTimeout(function () {
5374
- if (context._hoverState === HoverState.OUT) {
5375
  context.hide();
 
5376
  }
5377
- }, context.config.delay.hide);
5378
- };
5379
 
5380
- _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
5381
- for (var trigger in this._activeTrigger) {
5382
- if (this._activeTrigger[trigger]) {
5383
- return true;
 
 
 
 
 
 
 
 
5384
  }
5385
- }
5386
 
5387
- return false;
5388
- };
5389
 
5390
- _proto._getConfig = function _getConfig(config) {
5391
- config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
5392
 
5393
- if (typeof config.delay === 'number') {
5394
- config.delay = {
5395
- show: config.delay,
5396
- hide: config.delay
5397
- };
5398
- }
5399
 
5400
- if (typeof config.title === 'number') {
5401
- config.title = config.title.toString();
5402
- }
5403
 
5404
- if (typeof config.content === 'number') {
5405
- config.content = config.content.toString();
5406
- }
5407
 
5408
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
5409
- return config;
5410
- };
5411
 
5412
- _proto._getDelegateConfig = function _getDelegateConfig() {
5413
- var config = {};
5414
 
5415
- if (this.config) {
5416
- for (var key in this.config) {
5417
- if (this.constructor.Default[key] !== this.config[key]) {
5418
- config[key] = this.config[key];
 
5419
  }
5420
  }
5421
- }
5422
 
5423
- return config;
5424
- };
5425
 
5426
- _proto._cleanTipClass = function _cleanTipClass() {
5427
- var $tip = $$$1(this.getTipElement());
5428
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
5429
 
5430
- if (tabClass !== null && tabClass.length > 0) {
5431
- $tip.removeClass(tabClass.join(''));
5432
- }
5433
- };
5434
 
5435
- _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
5436
- this._cleanTipClass();
5437
 
5438
- this.addAttachmentClass(this._getAttachment(data.placement));
5439
- };
5440
 
5441
- _proto._fixTransition = function _fixTransition() {
5442
- var tip = this.getTipElement();
5443
- var initConfigAnimation = this.config.animation;
5444
 
5445
- if (tip.getAttribute('x-placement') !== null) {
5446
- return;
5447
- }
 
 
 
 
 
 
 
5448
 
5449
- $$$1(tip).removeClass(ClassName.FADE);
5450
- this.config.animation = false;
5451
- this.hide();
5452
- this.show();
5453
- this.config.animation = initConfigAnimation;
5454
- }; // Static
5455
 
 
 
 
5456
 
5457
- Tooltip._jQueryInterface = function _jQueryInterface(config) {
5458
- return this.each(function () {
5459
- var data = $$$1(this).data(DATA_KEY);
5460
 
5461
- var _config = typeof config === 'object' && config;
 
 
5462
 
5463
- if (!data && /dispose|hide/.test(config)) {
5464
- return;
5465
- }
 
5466
 
5467
- if (!data) {
5468
- data = new Tooltip(this, _config);
5469
- $$$1(this).data(DATA_KEY, data);
5470
- }
5471
 
5472
- if (typeof config === 'string') {
5473
- if (typeof data[config] === 'undefined') {
5474
- throw new TypeError("No method named \"" + config + "\"");
5475
  }
 
 
5476
 
5477
- data[config]();
 
 
 
5478
  }
5479
- });
5480
- };
5481
-
5482
- _createClass(Tooltip, null, [{
5483
- key: "VERSION",
5484
- get: function get() {
5485
- return VERSION;
5486
- }
5487
- }, {
5488
- key: "Default",
5489
- get: function get() {
5490
- return Default;
5491
- }
5492
- }, {
5493
- key: "NAME",
5494
- get: function get() {
5495
- return NAME;
5496
- }
5497
- }, {
5498
- key: "DATA_KEY",
5499
- get: function get() {
5500
- return DATA_KEY;
5501
- }
5502
- }, {
5503
- key: "Event",
5504
- get: function get() {
5505
- return Event;
5506
- }
5507
- }, {
5508
- key: "EVENT_KEY",
5509
- get: function get() {
5510
- return EVENT_KEY;
5511
- }
5512
- }, {
5513
- key: "DefaultType",
5514
- get: function get() {
5515
- return DefaultType;
5516
- }
5517
- }]);
5518
- return Tooltip;
5519
- }();
5520
- /**
5521
- * ------------------------------------------------------------------------
5522
- * jQuery
5523
- * ------------------------------------------------------------------------
5524
- */
5525
 
 
 
 
 
 
 
 
5526
 
5527
- $$$1.fn[NAME] = Tooltip._jQueryInterface;
5528
- $$$1.fn[NAME].Constructor = Tooltip;
5529
 
5530
- $$$1.fn[NAME].noConflict = function () {
5531
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
5532
- return Tooltip._jQueryInterface;
5533
- };
5534
 
5535
- return Tooltip;
5536
- }($, Popper);
 
 
5537
 
5538
- /**
5539
- * --------------------------------------------------------------------------
5540
- * Bootstrap (v4.0.0): popover.js
5541
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5542
- * --------------------------------------------------------------------------
5543
- */
5544
 
5545
- var Popover = function ($$$1) {
5546
  /**
5547
- * ------------------------------------------------------------------------
5548
- * Constants
5549
- * ------------------------------------------------------------------------
 
5550
  */
5551
- var NAME = 'popover';
5552
- var VERSION = '4.0.0';
5553
- var DATA_KEY = 'bs.popover';
5554
- var EVENT_KEY = "." + DATA_KEY;
5555
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
5556
- var CLASS_PREFIX = 'bs-popover';
5557
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
5558
- var Default = _extends({}, Tooltip.Default, {
5559
- placement: 'right',
5560
- trigger: 'click',
5561
- content: '',
5562
- template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
5563
- });
5564
- var DefaultType = _extends({}, Tooltip.DefaultType, {
5565
- content: '(string|element|function)'
5566
- });
5567
- var ClassName = {
5568
- FADE: 'fade',
5569
- SHOW: 'show'
5570
- };
5571
- var Selector = {
5572
- TITLE: '.popover-header',
5573
- CONTENT: '.popover-body'
5574
- };
5575
- var Event = {
5576
- HIDE: "hide" + EVENT_KEY,
5577
- HIDDEN: "hidden" + EVENT_KEY,
5578
- SHOW: "show" + EVENT_KEY,
5579
- SHOWN: "shown" + EVENT_KEY,
5580
- INSERTED: "inserted" + EVENT_KEY,
5581
- CLICK: "click" + EVENT_KEY,
5582
- FOCUSIN: "focusin" + EVENT_KEY,
5583
- FOCUSOUT: "focusout" + EVENT_KEY,
5584
- MOUSEENTER: "mouseenter" + EVENT_KEY,
5585
- MOUSELEAVE: "mouseleave" + EVENT_KEY
5586
  /**
5587
  * ------------------------------------------------------------------------
5588
- * Class Definition
5589
  * ------------------------------------------------------------------------
5590
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5591
 
5592
- };
5593
-
5594
- var Popover =
5595
- /*#__PURE__*/
5596
- function (_Tooltip) {
5597
- _inheritsLoose(Popover, _Tooltip);
5598
-
5599
- function Popover() {
5600
- return _Tooltip.apply(this, arguments) || this;
5601
- }
5602
-
5603
- var _proto = Popover.prototype;
5604
 
5605
- // Overrides
5606
- _proto.isWithContent = function isWithContent() {
5607
- return this.getTitle() || this._getContent();
5608
  };
5609
-
5610
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
5611
- $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
5612
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5613
 
5614
- _proto.getTipElement = function getTipElement() {
5615
- this.tip = this.tip || $$$1(this.config.template)[0];
5616
- return this.tip;
5617
  };
5618
 
5619
- _proto.setContent = function setContent() {
5620
- var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
 
 
5621
 
5622
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
 
 
5623
 
5624
- var content = this._getContent();
5625
 
5626
- if (typeof content === 'function') {
5627
- content = content.call(this.element);
5628
- }
 
 
 
 
 
5629
 
5630
- this.setElementContent($tip.find(Selector.CONTENT), content);
5631
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
5632
- }; // Private
 
5633
 
 
 
5634
 
5635
- _proto._getContent = function _getContent() {
5636
- return this.element.getAttribute('data-content') || this.config.content;
5637
- };
5638
 
5639
- _proto._cleanTipClass = function _cleanTipClass() {
5640
- var $tip = $$$1(this.getTipElement());
5641
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
5642
 
5643
- if (tabClass !== null && tabClass.length > 0) {
5644
- $tip.removeClass(tabClass.join(''));
5645
- }
5646
- }; // Static
 
 
 
5647
 
5648
 
5649
- Popover._jQueryInterface = function _jQueryInterface(config) {
5650
- return this.each(function () {
5651
- var data = $$$1(this).data(DATA_KEY);
5652
 
5653
- var _config = typeof config === 'object' ? config : null;
 
 
5654
 
5655
- if (!data && /destroy|hide/.test(config)) {
5656
- return;
5657
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5658
 
5659
- if (!data) {
5660
- data = new Popover(this, _config);
5661
- $$$1(this).data(DATA_KEY, data);
5662
- }
5663
 
5664
- if (typeof config === 'string') {
5665
- if (typeof data[config] === 'undefined') {
5666
- throw new TypeError("No method named \"" + config + "\"");
5667
  }
 
 
5668
 
5669
- data[config]();
 
 
 
 
5670
  }
5671
- });
5672
- };
5673
-
5674
- _createClass(Popover, null, [{
5675
- key: "VERSION",
5676
- // Getters
5677
- get: function get() {
5678
- return VERSION;
5679
- }
5680
- }, {
5681
- key: "Default",
5682
- get: function get() {
5683
- return Default;
5684
- }
5685
- }, {
5686
- key: "NAME",
5687
- get: function get() {
5688
- return NAME;
5689
- }
5690
- }, {
5691
- key: "DATA_KEY",
5692
- get: function get() {
5693
- return DATA_KEY;
5694
- }
5695
- }, {
5696
- key: "Event",
5697
- get: function get() {
5698
- return Event;
5699
- }
5700
- }, {
5701
- key: "EVENT_KEY",
5702
- get: function get() {
5703
- return EVENT_KEY;
5704
- }
5705
- }, {
5706
- key: "DefaultType",
5707
- get: function get() {
5708
- return DefaultType;
5709
- }
5710
- }]);
5711
- return Popover;
5712
- }(Tooltip);
5713
- /**
5714
- * ------------------------------------------------------------------------
5715
- * jQuery
5716
- * ------------------------------------------------------------------------
5717
- */
5718
 
 
 
 
 
 
 
 
5719
 
5720
- $$$1.fn[NAME] = Popover._jQueryInterface;
5721
- $$$1.fn[NAME].Constructor = Popover;
5722
 
5723
- $$$1.fn[NAME].noConflict = function () {
5724
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
5725
- return Popover._jQueryInterface;
5726
- };
5727
 
5728
- return Popover;
5729
- }($);
 
 
5730
 
5731
- /**
5732
- * --------------------------------------------------------------------------
5733
- * Bootstrap (v4.0.0): scrollspy.js
5734
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5735
- * --------------------------------------------------------------------------
5736
- */
5737
 
5738
- var ScrollSpy = function ($$$1) {
5739
  /**
5740
- * ------------------------------------------------------------------------
5741
- * Constants
5742
- * ------------------------------------------------------------------------
 
5743
  */
5744
- var NAME = 'scrollspy';
5745
- var VERSION = '4.0.0';
5746
- var DATA_KEY = 'bs.scrollspy';
5747
- var EVENT_KEY = "." + DATA_KEY;
5748
- var DATA_API_KEY = '.data-api';
5749
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
5750
- var Default = {
5751
- offset: 10,
5752
- method: 'auto',
5753
- target: ''
5754
- };
5755
- var DefaultType = {
5756
- offset: 'number',
5757
- method: 'string',
5758
- target: '(string|element)'
5759
- };
5760
- var Event = {
5761
- ACTIVATE: "activate" + EVENT_KEY,
5762
- SCROLL: "scroll" + EVENT_KEY,
5763
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
5764
- };
5765
- var ClassName = {
5766
- DROPDOWN_ITEM: 'dropdown-item',
5767
- DROPDOWN_MENU: 'dropdown-menu',
5768
- ACTIVE: 'active'
5769
- };
5770
- var Selector = {
5771
- DATA_SPY: '[data-spy="scroll"]',
5772
- ACTIVE: '.active',
5773
- NAV_LIST_GROUP: '.nav, .list-group',
5774
- NAV_LINKS: '.nav-link',
5775
- NAV_ITEMS: '.nav-item',
5776
- LIST_ITEMS: '.list-group-item',
5777
- DROPDOWN: '.dropdown',
5778
- DROPDOWN_ITEMS: '.dropdown-item',
5779
- DROPDOWN_TOGGLE: '.dropdown-toggle'
5780
- };
5781
- var OffsetMethod = {
5782
- OFFSET: 'offset',
5783
- POSITION: 'position'
5784
  /**
5785
  * ------------------------------------------------------------------------
5786
- * Class Definition
5787
  * ------------------------------------------------------------------------
5788
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5789
 
5790
- };
5791
-
5792
- var ScrollSpy =
5793
- /*#__PURE__*/
5794
- function () {
5795
- function ScrollSpy(element, config) {
5796
- var _this = this;
5797
 
5798
- this._element = element;
5799
- this._scrollElement = element.tagName === 'BODY' ? window : element;
5800
- this._config = this._getConfig(config);
5801
- this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
5802
- this._offsets = [];
5803
- this._targets = [];
5804
- this._activeTarget = null;
5805
- this._scrollHeight = 0;
5806
- $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
5807
- return _this._process(event);
5808
- });
5809
- this.refresh();
 
 
 
 
 
 
5810
 
5811
- this._process();
5812
- } // Getters
5813
 
5814
 
5815
- var _proto = ScrollSpy.prototype;
5816
 
5817
- // Public
5818
- _proto.refresh = function refresh() {
5819
- var _this2 = this;
5820
 
5821
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
5822
- var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
5823
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
5824
- this._offsets = [];
5825
- this._targets = [];
5826
- this._scrollHeight = this._getScrollHeight();
5827
- var targets = $$$1.makeArray($$$1(this._selector));
5828
- targets.map(function (element) {
5829
- var target;
5830
- var targetSelector = Util.getSelectorFromElement(element);
5831
 
5832
- if (targetSelector) {
5833
- target = $$$1(targetSelector)[0];
5834
- }
5835
 
5836
- if (target) {
5837
- var targetBCR = target.getBoundingClientRect();
5838
 
5839
- if (targetBCR.width || targetBCR.height) {
5840
- // TODO (fat): remove sketch reliance on jQuery position/offset
5841
- return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
 
5842
  }
5843
- }
5844
 
5845
- return null;
5846
- }).filter(function (item) {
5847
- return item;
5848
- }).sort(function (a, b) {
5849
- return a[0] - b[0];
5850
- }).forEach(function (item) {
5851
- _this2._offsets.push(item[0]);
5852
 
5853
- _this2._targets.push(item[1]);
5854
- });
5855
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
5856
 
5857
- _proto.dispose = function dispose() {
5858
- $$$1.removeData(this._element, DATA_KEY);
5859
- $$$1(this._scrollElement).off(EVENT_KEY);
5860
- this._element = null;
5861
- this._scrollElement = null;
5862
- this._config = null;
5863
- this._selector = null;
5864
- this._offsets = null;
5865
- this._targets = null;
5866
- this._activeTarget = null;
5867
- this._scrollHeight = null;
5868
- }; // Private
5869
 
 
 
5870
 
5871
- _proto._getConfig = function _getConfig(config) {
5872
- config = _extends({}, Default, config);
5873
 
5874
- if (typeof config.target !== 'string') {
5875
- var id = $$$1(config.target).attr('id');
 
 
5876
 
5877
- if (!id) {
5878
- id = Util.getUID(NAME);
5879
- $$$1(config.target).attr('id', id);
5880
  }
5881
 
5882
- config.target = "#" + id;
5883
- }
 
5884
 
5885
- Util.typeCheckConfig(NAME, config, DefaultType);
5886
- return config;
5887
- };
5888
 
5889
- _proto._getScrollTop = function _getScrollTop() {
5890
- return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
5891
- };
5892
 
5893
- _proto._getScrollHeight = function _getScrollHeight() {
5894
- return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
5895
- };
5896
 
5897
- _proto._getOffsetHeight = function _getOffsetHeight() {
5898
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
5899
- };
5900
 
5901
- _proto._process = function _process() {
5902
- var scrollTop = this._getScrollTop() + this._config.offset;
5903
 
5904
- var scrollHeight = this._getScrollHeight();
5905
 
5906
- var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
 
 
5907
 
5908
- if (this._scrollHeight !== scrollHeight) {
5909
- this.refresh();
5910
- }
5911
 
5912
- if (scrollTop >= maxScroll) {
5913
- var target = this._targets[this._targets.length - 1];
 
5914
 
5915
- if (this._activeTarget !== target) {
5916
- this._activate(target);
5917
  }
5918
 
5919
- return;
5920
- }
5921
-
5922
- if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
5923
- this._activeTarget = null;
5924
 
5925
- this._clear();
5926
 
5927
- return;
5928
- }
5929
 
5930
- for (var i = this._offsets.length; i--;) {
5931
- var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
5932
 
5933
- if (isActiveTarget) {
5934
- this._activate(this._targets[i]);
 
5935
  }
5936
- }
5937
- };
5938
 
5939
- _proto._activate = function _activate(target) {
5940
- this._activeTarget = target;
5941
 
5942
- this._clear();
5943
 
5944
- var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
5945
 
5946
 
5947
- queries = queries.map(function (selector) {
5948
- return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
5949
- });
5950
- var $link = $$$1(queries.join(','));
5951
 
5952
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
5953
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
5954
- $link.addClass(ClassName.ACTIVE);
5955
- } else {
5956
- // Set triggered link as active
5957
- $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
5958
- // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
5959
 
5960
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
5961
 
5962
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
5963
- }
5964
 
5965
- $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
5966
- relatedTarget: target
5967
- });
5968
- };
5969
 
5970
- _proto._clear = function _clear() {
5971
- $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
5972
- }; // Static
5973
 
5974
 
5975
- ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
5976
- return this.each(function () {
5977
- var data = $$$1(this).data(DATA_KEY);
5978
 
5979
- var _config = typeof config === 'object' && config;
5980
 
5981
- if (!data) {
5982
- data = new ScrollSpy(this, _config);
5983
- $$$1(this).data(DATA_KEY, data);
5984
- }
 
 
 
 
 
5985
 
5986
- if (typeof config === 'string') {
5987
- if (typeof data[config] === 'undefined') {
5988
- throw new TypeError("No method named \"" + config + "\"");
5989
  }
 
 
5990
 
5991
- data[config]();
 
 
 
5992
  }
5993
- });
5994
- };
5995
-
5996
- _createClass(ScrollSpy, null, [{
5997
- key: "VERSION",
5998
- get: function get() {
5999
- return VERSION;
6000
- }
6001
- }, {
6002
- key: "Default",
6003
- get: function get() {
6004
- return Default;
6005
- }
6006
- }]);
6007
- return ScrollSpy;
6008
- }();
6009
- /**
6010
- * ------------------------------------------------------------------------
6011
- * Data Api implementation
6012
- * ------------------------------------------------------------------------
6013
- */
6014
 
 
 
 
 
 
 
 
6015
 
6016
- $$$1(window).on(Event.LOAD_DATA_API, function () {
6017
- var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
6018
 
6019
- for (var i = scrollSpys.length; i--;) {
6020
- var $spy = $$$1(scrollSpys[i]);
6021
 
6022
- ScrollSpy._jQueryInterface.call($spy, $spy.data());
6023
- }
6024
- });
6025
- /**
6026
- * ------------------------------------------------------------------------
6027
- * jQuery
6028
- * ------------------------------------------------------------------------
6029
- */
6030
 
6031
- $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
6032
- $$$1.fn[NAME].Constructor = ScrollSpy;
 
 
 
 
 
 
6033
 
6034
- $$$1.fn[NAME].noConflict = function () {
6035
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
6036
- return ScrollSpy._jQueryInterface;
6037
- };
6038
 
6039
- return ScrollSpy;
6040
- }($);
 
 
6041
 
6042
- /**
6043
- * --------------------------------------------------------------------------
6044
- * Bootstrap (v4.0.0): tab.js
6045
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6046
- * --------------------------------------------------------------------------
6047
- */
6048
 
6049
- var Tab = function ($$$1) {
6050
  /**
6051
- * ------------------------------------------------------------------------
6052
- * Constants
6053
- * ------------------------------------------------------------------------
 
6054
  */
6055
- var NAME = 'tab';
6056
- var VERSION = '4.0.0';
6057
- var DATA_KEY = 'bs.tab';
6058
- var EVENT_KEY = "." + DATA_KEY;
6059
- var DATA_API_KEY = '.data-api';
6060
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
6061
- var TRANSITION_DURATION = 150;
6062
- var Event = {
6063
- HIDE: "hide" + EVENT_KEY,
6064
- HIDDEN: "hidden" + EVENT_KEY,
6065
- SHOW: "show" + EVENT_KEY,
6066
- SHOWN: "shown" + EVENT_KEY,
6067
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
6068
- };
6069
- var ClassName = {
6070
- DROPDOWN_MENU: 'dropdown-menu',
6071
- ACTIVE: 'active',
6072
- DISABLED: 'disabled',
6073
- FADE: 'fade',
6074
- SHOW: 'show'
6075
- };
6076
- var Selector = {
6077
- DROPDOWN: '.dropdown',
6078
- NAV_LIST_GROUP: '.nav, .list-group',
6079
- ACTIVE: '.active',
6080
- ACTIVE_UL: '> li > .active',
6081
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
6082
- DROPDOWN_TOGGLE: '.dropdown-toggle',
6083
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
6084
  /**
6085
  * ------------------------------------------------------------------------
6086
- * Class Definition
6087
  * ------------------------------------------------------------------------
6088
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6089
 
6090
- };
6091
 
6092
- var Tab =
6093
- /*#__PURE__*/
6094
- function () {
6095
- function Tab(element) {
6096
- this._element = element;
6097
- } // Getters
6098
 
6099
 
6100
- var _proto = Tab.prototype;
6101
 
6102
- // Public
6103
- _proto.show = function show() {
6104
- var _this = this;
6105
 
6106
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
6107
- return;
6108
- }
6109
 
6110
- var target;
6111
- var previous;
6112
- var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
6113
- var selector = Util.getSelectorFromElement(this._element);
6114
-
6115
- if (listElement) {
6116
- var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
6117
- previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
6118
- previous = previous[previous.length - 1];
6119
- }
6120
 
6121
- var hideEvent = $$$1.Event(Event.HIDE, {
6122
- relatedTarget: this._element
6123
- });
6124
- var showEvent = $$$1.Event(Event.SHOW, {
6125
- relatedTarget: previous
6126
- });
6127
 
6128
- if (previous) {
6129
- $$$1(previous).trigger(hideEvent);
6130
- }
6131
 
6132
- $$$1(this._element).trigger(showEvent);
6133
 
6134
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
6135
- return;
6136
- }
6137
 
6138
- if (selector) {
6139
- target = $$$1(selector)[0];
6140
- }
6141
 
6142
- this._activate(this._element, listElement);
6143
 
6144
- var complete = function complete() {
6145
- var hiddenEvent = $$$1.Event(Event.HIDDEN, {
6146
- relatedTarget: _this._element
6147
- });
6148
- var shownEvent = $$$1.Event(Event.SHOWN, {
6149
- relatedTarget: previous
6150
- });
6151
- $$$1(previous).trigger(hiddenEvent);
6152
- $$$1(_this._element).trigger(shownEvent);
 
 
 
 
 
 
 
6153
  };
6154
 
6155
- if (target) {
6156
- this._activate(target, target.parentNode, complete);
6157
- } else {
6158
- complete();
6159
- }
6160
- };
6161
 
6162
- _proto.dispose = function dispose() {
6163
- $$$1.removeData(this._element, DATA_KEY);
6164
- this._element = null;
6165
- }; // Private
6166
 
 
 
6167
 
6168
- _proto._activate = function _activate(element, container, callback) {
6169
- var _this2 = this;
6170
 
6171
- var activeElements;
 
 
 
 
6172
 
6173
- if (container.nodeName === 'UL') {
6174
- activeElements = $$$1(container).find(Selector.ACTIVE_UL);
6175
- } else {
6176
- activeElements = $$$1(container).children(Selector.ACTIVE);
6177
- }
6178
 
6179
- var active = activeElements[0];
6180
- var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
 
6181
 
6182
- var complete = function complete() {
6183
- return _this2._transitionComplete(element, active, callback);
 
 
 
 
6184
  };
6185
 
6186
- if (active && isTransitioning) {
6187
- $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
6188
- } else {
6189
- complete();
6190
- }
6191
- };
6192
 
6193
- _proto._transitionComplete = function _transitionComplete(element, active, callback) {
6194
- if (active) {
6195
- $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
6196
- var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
6197
 
6198
- if (dropdownChild) {
6199
- $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
 
6200
  }
6201
 
6202
- if (active.getAttribute('role') === 'tab') {
6203
- active.setAttribute('aria-selected', false);
6204
- }
6205
- }
6206
 
6207
- $$$1(element).addClass(ClassName.ACTIVE);
 
 
6208
 
6209
- if (element.getAttribute('role') === 'tab') {
6210
- element.setAttribute('aria-selected', true);
6211
- }
6212
 
6213
- Util.reflow(element);
6214
- $$$1(element).addClass(ClassName.SHOW);
6215
 
6216
- if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
6217
- var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
 
6218
 
6219
- if (dropdownElement) {
6220
- $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
6221
  }
6222
 
6223
- element.setAttribute('aria-expanded', true);
6224
- }
 
 
6225
 
6226
- if (callback) {
6227
- callback();
6228
- }
6229
- }; // Static
6230
 
 
 
 
 
6231
 
6232
- Tab._jQueryInterface = function _jQueryInterface(config) {
6233
- return this.each(function () {
6234
- var $this = $$$1(this);
6235
- var data = $this.data(DATA_KEY);
6236
 
6237
- if (!data) {
6238
- data = new Tab(this);
6239
- $this.data(DATA_KEY, data);
6240
- }
6241
 
6242
- if (typeof config === 'string') {
6243
- if (typeof data[config] === 'undefined') {
6244
- throw new TypeError("No method named \"" + config + "\"");
6245
  }
 
 
6246
 
6247
- data[config]();
 
 
 
6248
  }
6249
- });
6250
- };
6251
 
6252
- _createClass(Tab, null, [{
6253
- key: "VERSION",
6254
- get: function get() {
6255
- return VERSION;
6256
- }
6257
- }]);
6258
- return Tab;
6259
- }();
6260
- /**
6261
- * ------------------------------------------------------------------------
6262
- * Data Api implementation
6263
- * ------------------------------------------------------------------------
6264
- */
6265
 
6266
 
6267
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
6268
- event.preventDefault();
6269
 
6270
- Tab._jQueryInterface.call($$$1(this), 'show');
6271
- });
6272
- /**
6273
- * ------------------------------------------------------------------------
6274
- * jQuery
6275
- * ------------------------------------------------------------------------
6276
- */
6277
 
6278
- $$$1.fn[NAME] = Tab._jQueryInterface;
6279
- $$$1.fn[NAME].Constructor = Tab;
6280
 
6281
- $$$1.fn[NAME].noConflict = function () {
6282
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
6283
- return Tab._jQueryInterface;
6284
- };
6285
 
6286
- return Tab;
6287
- }($);
6288
 
6289
- /**
6290
- * --------------------------------------------------------------------------
6291
- * Bootstrap (v4.0.0-alpha.6): index.js
6292
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6293
- * --------------------------------------------------------------------------
6294
- */
6295
 
6296
- (function ($$$1) {
6297
- if (typeof $$$1 === 'undefined') {
6298
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
6299
- }
6300
 
6301
- var version = $$$1.fn.jquery.split(' ')[0].split('.');
6302
- var minMajor = 1;
6303
- var ltMajor = 2;
6304
- var minMinor = 9;
6305
- var minPatch = 1;
6306
- var maxMajor = 4;
6307
 
6308
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
6309
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
6310
- }
6311
- })($);
6312
-
6313
- exports.Util = Util;
6314
- exports.Alert = Alert;
6315
- exports.Button = Button;
6316
- exports.Carousel = Carousel;
6317
- exports.Collapse = Collapse;
6318
- exports.Dropdown = Dropdown;
6319
- exports.Modal = Modal;
6320
- exports.Popover = Popover;
6321
- exports.Scrollspy = ScrollSpy;
6322
- exports.Tab = Tab;
6323
- exports.Tooltip = Tooltip;
6324
-
6325
- Object.defineProperty(exports, '__esModule', { value: true });
6326
 
6327
  })));
6328
  //# sourceMappingURL=bootstrap.bundle.js.map
1
  /*!
2
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
  (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
8
+ typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
9
+ (factory((global.bootstrap = {}),global.jQuery));
10
  }(this, (function (exports,$) { 'use strict';
11
 
12
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
 
14
+ function _defineProperties(target, props) {
15
+ for (var i = 0; i < props.length; i++) {
16
+ var descriptor = props[i];
17
+ descriptor.enumerable = descriptor.enumerable || false;
18
+ descriptor.configurable = true;
19
+ if ("value" in descriptor) descriptor.writable = true;
20
+ Object.defineProperty(target, descriptor.key, descriptor);
21
+ }
22
+ }
23
+
24
+ function _createClass(Constructor, protoProps, staticProps) {
25
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
26
+ if (staticProps) _defineProperties(Constructor, staticProps);
27
+ return Constructor;
28
  }
 
29
 
30
+ function _defineProperty(obj, key, value) {
31
+ if (key in obj) {
32
+ Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ } else {
39
+ obj[key] = value;
40
+ }
41
+
42
+ return obj;
43
+ }
44
 
45
+ function _objectSpread(target) {
 
46
  for (var i = 1; i < arguments.length; i++) {
47
+ var source = arguments[i] != null ? arguments[i] : {};
48
+ var ownKeys = Object.keys(source);
49
 
50
+ if (typeof Object.getOwnPropertySymbols === 'function') {
51
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
52
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
53
+ }));
54
  }
55
+
56
+ ownKeys.forEach(function (key) {
57
+ _defineProperty(target, key, source[key]);
58
+ });
59
  }
60
 
61
  return target;
62
+ }
 
 
 
 
 
 
 
 
 
63
 
64
+ function _inheritsLoose(subClass, superClass) {
65
+ subClass.prototype = Object.create(superClass.prototype);
66
+ subClass.prototype.constructor = subClass;
67
+ subClass.__proto__ = superClass;
68
+ }
 
69
 
 
70
  /**
71
+ * --------------------------------------------------------------------------
72
+ * Bootstrap (v4.1.0): util.js
73
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
74
+ * --------------------------------------------------------------------------
75
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
+ var Util = function ($$$1) {
78
+ /**
79
+ * ------------------------------------------------------------------------
80
+ * Private TransitionEnd Helpers
81
+ * ------------------------------------------------------------------------
82
+ */
83
+ var TRANSITION_END = 'transitionend';
84
+ var MAX_UID = 1000000;
85
+ var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
86
 
87
+ function toType(obj) {
88
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
 
89
  }
90
 
91
+ function getSpecialTransitionEndEvent() {
92
+ return {
93
+ bindType: TRANSITION_END,
94
+ delegateType: TRANSITION_END,
95
+ handle: function handle(event) {
96
+ if ($$$1(event.target).is(this)) {
97
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
98
+ }
99
 
100
+ return undefined; // eslint-disable-line no-undefined
101
+ }
102
+ };
103
+ }
104
 
105
+ function transitionEndEmulator(duration) {
106
+ var _this = this;
 
 
 
 
 
 
 
 
 
107
 
108
+ var called = false;
109
+ $$$1(this).one(Util.TRANSITION_END, function () {
110
+ called = true;
111
+ });
112
+ setTimeout(function () {
113
+ if (!called) {
114
+ Util.triggerTransitionEnd(_this);
115
+ }
116
+ }, duration);
117
+ return this;
118
+ }
119
 
120
+ function setTransitionEndSupport() {
121
+ $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
122
  $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
123
  }
124
+ /**
125
+ * --------------------------------------------------------------------------
126
+ * Public Util Api
127
+ * --------------------------------------------------------------------------
128
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
 
 
 
 
130
 
131
+ var Util = {
132
+ TRANSITION_END: 'bsTransitionEnd',
133
+ getUID: function getUID(prefix) {
134
+ do {
135
+ // eslint-disable-next-line no-bitwise
136
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
137
+ } while (document.getElementById(prefix));
138
 
139
+ return prefix;
140
+ },
141
+ getSelectorFromElement: function getSelectorFromElement(element) {
142
+ var selector = element.getAttribute('data-target');
143
 
144
+ if (!selector || selector === '#') {
145
+ selector = element.getAttribute('href') || '';
146
+ }
147
 
148
+ try {
149
+ var $selector = $$$1(document).find(selector);
150
+ return $selector.length > 0 ? selector : null;
151
+ } catch (err) {
152
+ return null;
153
+ }
154
+ },
155
+ getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
156
+ if (!element) {
157
+ return 0;
158
+ } // Get transition-duration of the element
159
+
160
+
161
+ var transitionDuration = $$$1(element).css('transition-duration');
162
+ var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
163
+
164
+ if (!floatTransitionDuration) {
165
+ return 0;
166
+ } // If multiple durations are defined, take the first
167
+
168
+
169
+ transitionDuration = transitionDuration.split(',')[0];
170
+ return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
171
+ },
172
+ reflow: function reflow(element) {
173
+ return element.offsetHeight;
174
+ },
175
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
176
+ $$$1(element).trigger(TRANSITION_END);
177
+ },
178
+ // TODO: Remove in v5
179
+ supportsTransitionEnd: function supportsTransitionEnd() {
180
+ return Boolean(TRANSITION_END);
181
+ },
182
+ isElement: function isElement(obj) {
183
+ return (obj[0] || obj).nodeType;
184
+ },
185
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
186
+ for (var property in configTypes) {
187
+ if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
188
+ var expectedTypes = configTypes[property];
189
+ var value = config[property];
190
+ var valueType = value && Util.isElement(value) ? 'element' : toType(value);
191
+
192
+ if (!new RegExp(expectedTypes).test(valueType)) {
193
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
194
+ }
195
  }
196
  }
197
  }
198
+ };
199
+ setTransitionEndSupport();
200
+ return Util;
201
+ }($);
202
+
 
 
 
 
 
 
 
 
 
203
  /**
204
+ * --------------------------------------------------------------------------
205
+ * Bootstrap (v4.1.0): alert.js
206
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
207
+ * --------------------------------------------------------------------------
208
  */
209
+
210
+ var Alert = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  /**
212
  * ------------------------------------------------------------------------
213
+ * Constants
214
  * ------------------------------------------------------------------------
215
  */
216
+ var NAME = 'alert';
217
+ var VERSION = '4.1.0';
218
+ var DATA_KEY = 'bs.alert';
219
+ var EVENT_KEY = "." + DATA_KEY;
220
+ var DATA_API_KEY = '.data-api';
221
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
222
+ var Selector = {
223
+ DISMISS: '[data-dismiss="alert"]'
224
+ };
225
+ var Event = {
226
+ CLOSE: "close" + EVENT_KEY,
227
+ CLOSED: "closed" + EVENT_KEY,
228
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
229
+ };
230
+ var ClassName = {
231
+ ALERT: 'alert',
232
+ FADE: 'fade',
233
+ SHOW: 'show'
234
+ /**
235
+ * ------------------------------------------------------------------------
236
+ * Class Definition
237
+ * ------------------------------------------------------------------------
238
+ */
239
 
240
+ };
241
 
242
+ var Alert =
243
+ /*#__PURE__*/
244
+ function () {
245
+ function Alert(element) {
246
+ this._element = element;
247
+ } // Getters
248
 
249
 
250
+ var _proto = Alert.prototype;
251
 
252
+ // Public
253
+ _proto.close = function close(element) {
254
+ element = element || this._element;
255
 
256
+ var rootElement = this._getRootElement(element);
257
 
258
+ var customEvent = this._triggerCloseEvent(rootElement);
259
 
260
+ if (customEvent.isDefaultPrevented()) {
261
+ return;
262
+ }
263
 
264
+ this._removeElement(rootElement);
265
+ };
266
 
267
+ _proto.dispose = function dispose() {
268
+ $$$1.removeData(this._element, DATA_KEY);
269
+ this._element = null;
270
+ }; // Private
271
 
272
 
273
+ _proto._getRootElement = function _getRootElement(element) {
274
+ var selector = Util.getSelectorFromElement(element);
275
+ var parent = false;
276
 
277
+ if (selector) {
278
+ parent = $$$1(selector)[0];
279
+ }
280
 
281
+ if (!parent) {
282
+ parent = $$$1(element).closest("." + ClassName.ALERT)[0];
283
+ }
284
 
285
+ return parent;
286
+ };
287
 
288
+ _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
289
+ var closeEvent = $$$1.Event(Event.CLOSE);
290
+ $$$1(element).trigger(closeEvent);
291
+ return closeEvent;
292
+ };
293
 
294
+ _proto._removeElement = function _removeElement(element) {
295
+ var _this = this;
296
 
297
+ $$$1(element).removeClass(ClassName.SHOW);
298
 
299
+ if (!$$$1(element).hasClass(ClassName.FADE)) {
300
+ this._destroyElement(element);
301
 
302
+ return;
303
+ }
304
 
305
+ var transitionDuration = Util.getTransitionDurationFromElement(element);
306
+ $$$1(element).one(Util.TRANSITION_END, function (event) {
307
+ return _this._destroyElement(element, event);
308
+ }).emulateTransitionEnd(transitionDuration);
309
+ };
310
 
311
+ _proto._destroyElement = function _destroyElement(element) {
312
+ $$$1(element).detach().trigger(Event.CLOSED).remove();
313
+ }; // Static
314
 
315
 
316
+ Alert._jQueryInterface = function _jQueryInterface(config) {
317
+ return this.each(function () {
318
+ var $element = $$$1(this);
319
+ var data = $element.data(DATA_KEY);
320
 
321
+ if (!data) {
322
+ data = new Alert(this);
323
+ $element.data(DATA_KEY, data);
324
+ }
325
 
326
+ if (config === 'close') {
327
+ data[config](this);
328
+ }
329
+ });
330
+ };
331
 
332
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
333
+ return function (event) {
334
+ if (event) {
335
+ event.preventDefault();
336
+ }
337
 
338
+ alertInstance.close(this);
339
+ };
340
  };
 
341
 
342
+ _createClass(Alert, null, [{
343
+ key: "VERSION",
344
+ get: function get() {
345
+ return VERSION;
346
+ }
347
+ }]);
 
 
 
 
 
 
 
348
 
349
+ return Alert;
350
+ }();
351
+ /**
352
+ * ------------------------------------------------------------------------
353
+ * Data Api implementation
354
+ * ------------------------------------------------------------------------
355
+ */
356
 
 
 
 
 
 
 
357
 
358
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
359
+ /**
360
+ * ------------------------------------------------------------------------
361
+ * jQuery
362
+ * ------------------------------------------------------------------------
363
+ */
364
 
365
+ $$$1.fn[NAME] = Alert._jQueryInterface;
366
+ $$$1.fn[NAME].Constructor = Alert;
 
 
367
 
368
+ $$$1.fn[NAME].noConflict = function () {
369
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
370
+ return Alert._jQueryInterface;
371
+ };
372
 
373
+ return Alert;
374
+ }($);
 
 
 
 
375
 
 
376
  /**
377
+ * --------------------------------------------------------------------------
378
+ * Bootstrap (v4.1.0): button.js
379
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
380
+ * --------------------------------------------------------------------------
381
  */
382
+
383
+ var Button = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  /**
385
  * ------------------------------------------------------------------------
386
+ * Constants
387
  * ------------------------------------------------------------------------
388
  */
389
+ var NAME = 'button';
390
+ var VERSION = '4.1.0';
391
+ var DATA_KEY = 'bs.button';
392
+ var EVENT_KEY = "." + DATA_KEY;
393
+ var DATA_API_KEY = '.data-api';
394
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
395
+ var ClassName = {
396
+ ACTIVE: 'active',
397
+ BUTTON: 'btn',
398
+ FOCUS: 'focus'
399
+ };
400
+ var Selector = {
401
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
402
+ DATA_TOGGLE: '[data-toggle="buttons"]',
403
+ INPUT: 'input',
404
+ ACTIVE: '.active',
405
+ BUTTON: '.btn'
406
+ };
407
+ var Event = {
408
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
409
+ FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
410
+ /**
411
+ * ------------------------------------------------------------------------
412
+ * Class Definition
413
+ * ------------------------------------------------------------------------
414
+ */
415
 
416
+ };
417
 
418
+ var Button =
419
+ /*#__PURE__*/
420
+ function () {
421
+ function Button(element) {
422
+ this._element = element;
423
+ } // Getters
424
 
425
 
426
+ var _proto = Button.prototype;
427
 
428
+ // Public
429
+ _proto.toggle = function toggle() {
430
+ var triggerChangeEvent = true;
431
+ var addAriaPressed = true;
432
+ var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
433
 
434
+ if (rootElement) {
435
+ var input = $$$1(this._element).find(Selector.INPUT)[0];
436
 
437
+ if (input) {
438
+ if (input.type === 'radio') {
439
+ if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
440
+ triggerChangeEvent = false;
441
+ } else {
442
+ var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
443
 
444
+ if (activeElement) {
445
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
446
+ }
447
  }
448
  }
 
449
 
450
+ if (triggerChangeEvent) {
451
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
452
+ return;
453
+ }
454
+
455
+ input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
456
+ $$$1(input).trigger('change');
457
  }
458
 
459
+ input.focus();
460
+ addAriaPressed = false;
461
  }
462
+ }
463
 
464
+ if (addAriaPressed) {
465
+ this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
466
  }
 
467
 
468
+ if (triggerChangeEvent) {
469
+ $$$1(this._element).toggleClass(ClassName.ACTIVE);
470
+ }
471
+ };
472
 
473
+ _proto.dispose = function dispose() {
474
+ $$$1.removeData(this._element, DATA_KEY);
475
+ this._element = null;
476
+ }; // Static
477
 
 
 
 
 
478
 
479
+ Button._jQueryInterface = function _jQueryInterface(config) {
480
+ return this.each(function () {
481
+ var data = $$$1(this).data(DATA_KEY);
482
 
483
+ if (!data) {
484
+ data = new Button(this);
485
+ $$$1(this).data(DATA_KEY, data);
486
+ }
487
 
488
+ if (config === 'toggle') {
489
+ data[config]();
490
+ }
491
+ });
492
+ };
493
 
494
+ _createClass(Button, null, [{
495
+ key: "VERSION",
496
+ get: function get() {
497
+ return VERSION;
498
  }
499
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
500
 
501
+ return Button;
502
+ }();
503
+ /**
504
+ * ------------------------------------------------------------------------
505
+ * Data Api implementation
506
+ * ------------------------------------------------------------------------
507
+ */
508
 
 
 
 
509
 
510
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
511
+ event.preventDefault();
512
+ var button = event.target;
513
 
514
+ if (!$$$1(button).hasClass(ClassName.BUTTON)) {
515
+ button = $$$1(button).closest(Selector.BUTTON);
516
+ }
 
 
 
 
 
 
 
517
 
518
+ Button._jQueryInterface.call($$$1(button), 'toggle');
519
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
520
+ var button = $$$1(event.target).closest(Selector.BUTTON)[0];
521
+ $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
522
+ });
523
+ /**
524
+ * ------------------------------------------------------------------------
525
+ * jQuery
526
+ * ------------------------------------------------------------------------
527
+ */
528
 
529
+ $$$1.fn[NAME] = Button._jQueryInterface;
530
+ $$$1.fn[NAME].Constructor = Button;
 
 
531
 
532
+ $$$1.fn[NAME].noConflict = function () {
533
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
534
+ return Button._jQueryInterface;
535
+ };
536
 
537
+ return Button;
538
+ }($);
 
 
 
 
539
 
 
540
  /**
541
+ * --------------------------------------------------------------------------
542
+ * Bootstrap (v4.1.0): carousel.js
543
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
544
+ * --------------------------------------------------------------------------
545
  */
546
+
547
+ var Carousel = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  /**
549
  * ------------------------------------------------------------------------
550
+ * Constants
551
  * ------------------------------------------------------------------------
552
  */
553
+ var NAME = 'carousel';
554
+ var VERSION = '4.1.0';
555
+ var DATA_KEY = 'bs.carousel';
556
+ var EVENT_KEY = "." + DATA_KEY;
557
+ var DATA_API_KEY = '.data-api';
558
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
559
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
560
+
561
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
562
+
563
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
564
+
565
+ var Default = {
566
+ interval: 5000,
567
+ keyboard: true,
568
+ slide: false,
569
+ pause: 'hover',
570
+ wrap: true
 
 
 
 
 
 
 
 
 
 
571
  };
572
+ var DefaultType = {
573
+ interval: '(number|boolean)',
574
+ keyboard: 'boolean',
575
+ slide: '(boolean|string)',
576
+ pause: '(string|boolean)',
577
+ wrap: 'boolean'
 
578
  };
579
+ var Direction = {
580
+ NEXT: 'next',
581
+ PREV: 'prev',
582
+ LEFT: 'left',
583
+ RIGHT: 'right'
584
  };
585
+ var Event = {
586
+ SLIDE: "slide" + EVENT_KEY,
587
+ SLID: "slid" + EVENT_KEY,
588
+ KEYDOWN: "keydown" + EVENT_KEY,
589
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
590
+ MOUSELEAVE: "mouseleave" + EVENT_KEY,
591
+ TOUCHEND: "touchend" + EVENT_KEY,
592
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
593
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
594
+ };
595
+ var ClassName = {
596
+ CAROUSEL: 'carousel',
597
+ ACTIVE: 'active',
598
+ SLIDE: 'slide',
599
+ RIGHT: 'carousel-item-right',
600
+ LEFT: 'carousel-item-left',
601
+ NEXT: 'carousel-item-next',
602
+ PREV: 'carousel-item-prev',
603
+ ITEM: 'carousel-item'
604
+ };
605
+ var Selector = {
606
+ ACTIVE: '.active',
607
+ ACTIVE_ITEM: '.active.carousel-item',
608
+ ITEM: '.carousel-item',
609
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
610
+ INDICATORS: '.carousel-indicators',
611
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
612
+ DATA_RIDE: '[data-ride="carousel"]'
613
+ /**
614
+ * ------------------------------------------------------------------------
615
+ * Class Definition
616
+ * ------------------------------------------------------------------------
617
+ */
618
 
 
 
 
 
 
 
 
 
 
 
 
 
619
  };
620
 
621
+ var Carousel =
622
+ /*#__PURE__*/
623
+ function () {
624
+ function Carousel(element, config) {
625
+ this._items = null;
626
+ this._interval = null;
627
+ this._activeElement = null;
628
  this._isPaused = false;
629
+ this._isSliding = false;
630
+ this.touchTimeout = null;
631
+ this._config = this._getConfig(config);
632
+ this._element = $$$1(element)[0];
633
+ this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
634
 
635
+ this._addEventListeners();
636
+ } // Getters
 
 
637
 
 
 
 
 
638
 
639
+ var _proto = Carousel.prototype;
 
640
 
641
+ // Public
642
+ _proto.next = function next() {
643
+ if (!this._isSliding) {
644
+ this._slide(Direction.NEXT);
645
+ }
646
+ };
647
 
648
+ _proto.nextWhenVisible = function nextWhenVisible() {
649
+ // Don't call next when the page isn't visible
650
+ // or the carousel or its parent isn't visible
651
+ if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
652
+ this.next();
653
+ }
654
+ };
655
 
656
+ _proto.prev = function prev() {
657
+ if (!this._isSliding) {
658
+ this._slide(Direction.PREV);
659
+ }
660
+ };
661
 
662
+ _proto.pause = function pause(event) {
663
+ if (!event) {
664
+ this._isPaused = true;
665
+ }
 
 
666
 
667
+ if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
668
+ Util.triggerTransitionEnd(this._element);
669
+ this.cycle(true);
670
+ }
 
671
 
672
+ clearInterval(this._interval);
673
+ this._interval = null;
674
+ };
675
 
676
+ _proto.cycle = function cycle(event) {
677
+ if (!event) {
678
+ this._isPaused = false;
679
+ }
680
 
681
+ if (this._interval) {
682
+ clearInterval(this._interval);
683
+ this._interval = null;
684
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
685
 
686
+ if (this._config.interval && !this._isPaused) {
687
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
688
+ }
689
+ };
690
 
691
+ _proto.to = function to(index) {
692
+ var _this = this;
 
 
 
693
 
694
+ this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
 
 
 
 
695
 
696
+ var activeIndex = this._getItemIndex(this._activeElement);
 
 
 
 
 
 
 
 
 
 
 
 
 
697
 
698
+ if (index > this._items.length - 1 || index < 0) {
699
+ return;
 
 
700
  }
 
 
701
 
702
+ if (this._isSliding) {
703
+ $$$1(this._element).one(Event.SLID, function () {
704
+ return _this.to(index);
705
+ });
706
+ return;
707
+ }
708
 
709
+ if (activeIndex === index) {
710
+ this.pause();
711
+ this.cycle();
712
+ return;
713
+ }
714
 
715
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
 
 
 
716
 
717
+ this._slide(direction, this._items[index]);
718
+ };
 
719
 
720
+ _proto.dispose = function dispose() {
721
+ $$$1(this._element).off(EVENT_KEY);
722
+ $$$1.removeData(this._element, DATA_KEY);
723
+ this._items = null;
724
+ this._config = null;
725
+ this._element = null;
726
+ this._interval = null;
727
+ this._isPaused = null;
728
+ this._isSliding = null;
729
+ this._activeElement = null;
730
+ this._indicatorsElement = null;
731
+ }; // Private
732
 
 
 
 
733
 
734
+ _proto._getConfig = function _getConfig(config) {
735
+ config = _objectSpread({}, Default, config);
736
+ Util.typeCheckConfig(NAME, config, DefaultType);
737
+ return config;
738
+ };
739
 
740
+ _proto._addEventListeners = function _addEventListeners() {
741
+ var _this2 = this;
742
 
743
+ if (this._config.keyboard) {
744
+ $$$1(this._element).on(Event.KEYDOWN, function (event) {
745
+ return _this2._keydown(event);
746
+ });
747
+ }
748
 
749
+ if (this._config.pause === 'hover') {
750
+ $$$1(this._element).on(Event.MOUSEENTER, function (event) {
751
+ return _this2.pause(event);
752
+ }).on(Event.MOUSELEAVE, function (event) {
753
+ return _this2.cycle(event);
754
+ });
755
 
756
+ if ('ontouchstart' in document.documentElement) {
757
+ // If it's a touch-enabled device, mouseenter/leave are fired as
758
+ // part of the mouse compatibility events on first tap - the carousel
759
+ // would stop cycling until user tapped out of it;
760
+ // here, we listen for touchend, explicitly pause the carousel
761
+ // (as if it's the second time we tap on it, mouseenter compat event
762
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
763
+ // events to fire) we explicitly restart cycling
764
+ $$$1(this._element).on(Event.TOUCHEND, function () {
765
+ _this2.pause();
766
+
767
+ if (_this2.touchTimeout) {
768
+ clearTimeout(_this2.touchTimeout);
769
+ }
770
 
771
+ _this2.touchTimeout = setTimeout(function (event) {
772
+ return _this2.cycle(event);
773
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
774
+ });
775
+ }
776
+ }
777
+ };
778
 
779
+ _proto._keydown = function _keydown(event) {
780
+ if (/input|textarea/i.test(event.target.tagName)) {
781
+ return;
782
+ }
 
 
 
 
 
783
 
784
+ switch (event.which) {
785
+ case ARROW_LEFT_KEYCODE:
786
+ event.preventDefault();
787
+ this.prev();
788
+ break;
789
 
790
+ case ARROW_RIGHT_KEYCODE:
791
+ event.preventDefault();
792
+ this.next();
793
+ break;
794
 
795
+ default:
 
796
  }
797
+ };
 
798
 
799
+ _proto._getItemIndex = function _getItemIndex(element) {
800
+ this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
801
+ return this._items.indexOf(element);
802
+ };
803
 
804
+ _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
805
+ var isNextDirection = direction === Direction.NEXT;
806
+ var isPrevDirection = direction === Direction.PREV;
807
 
808
+ var activeIndex = this._getItemIndex(activeElement);
809
 
810
+ var lastItemIndex = this._items.length - 1;
811
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
812
 
813
+ if (isGoingToWrap && !this._config.wrap) {
814
+ return activeElement;
815
+ }
816
 
817
+ var delta = direction === Direction.PREV ? -1 : 1;
818
+ var itemIndex = (activeIndex + delta) % this._items.length;
819
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
820
+ };
821
 
822
+ _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
823
+ var targetIndex = this._getItemIndex(relatedTarget);
 
 
 
 
 
 
 
824
 
825
+ var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
 
 
 
826
 
827
+ var slideEvent = $$$1.Event(Event.SLIDE, {
828
+ relatedTarget: relatedTarget,
829
+ direction: eventDirectionName,
830
+ from: fromIndex,
831
+ to: targetIndex
832
+ });
833
+ $$$1(this._element).trigger(slideEvent);
834
+ return slideEvent;
835
+ };
836
 
837
+ _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
838
+ if (this._indicatorsElement) {
839
+ $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
840
 
841
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
842
+
843
+ if (nextIndicator) {
844
+ $$$1(nextIndicator).addClass(ClassName.ACTIVE);
845
+ }
846
+ }
847
+ };
848
 
849
+ _proto._slide = function _slide(direction, element) {
850
+ var _this3 = this;
851
 
852
+ var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
 
853
 
854
+ var activeElementIndex = this._getItemIndex(activeElement);
855
 
856
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
 
 
 
 
857
 
858
+ var nextElementIndex = this._getItemIndex(nextElement);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
859
 
860
+ var isCycling = Boolean(this._interval);
861
+ var directionalClassName;
862
+ var orderClassName;
863
+ var eventDirectionName;
864
 
865
+ if (direction === Direction.NEXT) {
866
+ directionalClassName = ClassName.LEFT;
867
+ orderClassName = ClassName.NEXT;
868
+ eventDirectionName = Direction.LEFT;
869
+ } else {
870
+ directionalClassName = ClassName.RIGHT;
871
+ orderClassName = ClassName.PREV;
872
+ eventDirectionName = Direction.RIGHT;
873
+ }
874
+
875
+ if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
876
+ this._isSliding = false;
877
+ return;
878
+ }
879
+
880
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
881
+
882
+ if (slideEvent.isDefaultPrevented()) {
883
+ return;
884
+ }
885
 
886
+ if (!activeElement || !nextElement) {
887
+ // Some weirdness is happening, so we bail
888
+ return;
889
+ }
890
 
891
+ this._isSliding = true;
892
 
893
+ if (isCycling) {
894
+ this.pause();
895
  }
896
 
897
+ this._setActiveIndicatorElement(nextElement);
898
+
899
+ var slidEvent = $$$1.Event(Event.SLID, {
900
+ relatedTarget: nextElement,
901
+ direction: eventDirectionName,
902
+ from: activeElementIndex,
903
+ to: nextElementIndex
904
+ });
905
+
906
+ if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
907
+ $$$1(nextElement).addClass(orderClassName);
908
+ Util.reflow(nextElement);
909
+ $$$1(activeElement).addClass(directionalClassName);
910
+ $$$1(nextElement).addClass(directionalClassName);
911
+ var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
912
+ $$$1(activeElement).one(Util.TRANSITION_END, function () {
913
+ $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
914
+ $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
915
+ _this3._isSliding = false;
916
+ setTimeout(function () {
917
+ return $$$1(_this3._element).trigger(slidEvent);
918
+ }, 0);
919
+ }).emulateTransitionEnd(transitionDuration);
920
+ } else {
921
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
922
+ $$$1(nextElement).addClass(ClassName.ACTIVE);
923
+ this._isSliding = false;
924
+ $$$1(this._element).trigger(slidEvent);
925
+ }
926
 
927
+ if (isCycling) {
928
+ this.cycle();
 
929
  }
930
+ }; // Static
931
 
932
+
933
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
934
+ return this.each(function () {
935
+ var data = $$$1(this).data(DATA_KEY);
936
+
937
+ var _config = _objectSpread({}, Default, $$$1(this).data());
938
+
939
+ if (typeof config === 'object') {
940
+ _config = _objectSpread({}, _config, config);
941
+ }
942
+
943
+ var action = typeof config === 'string' ? config : _config.slide;
944
+
945
+ if (!data) {
946
+ data = new Carousel(this, _config);
947
+ $$$1(this).data(DATA_KEY, data);
948
+ }
949
+
950
+ if (typeof config === 'number') {
951
+ data.to(config);
952
+ } else if (typeof action === 'string') {
953
+ if (typeof data[action] === 'undefined') {
954
+ throw new TypeError("No method named \"" + action + "\"");
955
+ }
956
+
957
+ data[action]();
958
+ } else if (_config.interval) {
959
+ data.pause();
960
+ data.cycle();
961
  }
962
+ });
963
+ };
964
 
965
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
966
+ var selector = Util.getSelectorFromElement(this);
967
+
968
+ if (!selector) {
969
+ return;
970
  }
 
 
971
 
972
+ var target = $$$1(selector)[0];
 
973
 
974
+ if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
975
+ return;
976
+ }
977
 
978
+ var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
979
 
980
+ var slideIndex = this.getAttribute('data-slide-to');
 
 
981
 
982
+ if (slideIndex) {
983
+ config.interval = false;
984
+ }
985
 
986
+ Carousel._jQueryInterface.call($$$1(target), config);
 
 
987
 
988
+ if (slideIndex) {
989
+ $$$1(target).data(DATA_KEY).to(slideIndex);
990
+ }
991
 
992
+ event.preventDefault();
993
+ };
 
994
 
995
+ _createClass(Carousel, null, [{
996
+ key: "VERSION",
997
+ get: function get() {
998
+ return VERSION;
999
+ }
1000
+ }, {
1001
+ key: "Default",
1002
+ get: function get() {
1003
+ return Default;
1004
+ }
1005
+ }]);
1006
 
1007
+ return Carousel;
1008
+ }();
1009
+ /**
1010
+ * ------------------------------------------------------------------------
1011
+ * Data Api implementation
1012
+ * ------------------------------------------------------------------------
1013
+ */
 
 
 
 
 
 
 
 
 
 
 
1014
 
1015
 
1016
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
1017
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
1018
+ $$$1(Selector.DATA_RIDE).each(function () {
1019
+ var $carousel = $$$1(this);
1020
 
1021
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
1022
+ });
1023
  });
1024
+ /**
1025
+ * ------------------------------------------------------------------------
1026
+ * jQuery
1027
+ * ------------------------------------------------------------------------
1028
+ */
 
 
 
 
1029
 
1030
+ $$$1.fn[NAME] = Carousel._jQueryInterface;
1031
+ $$$1.fn[NAME].Constructor = Carousel;
 
 
1032
 
1033
+ $$$1.fn[NAME].noConflict = function () {
1034
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1035
+ return Carousel._jQueryInterface;
1036
+ };
1037
 
1038
+ return Carousel;
1039
+ }($);
 
 
 
 
1040
 
 
1041
  /**
1042
+ * --------------------------------------------------------------------------
1043
+ * Bootstrap (v4.1.0): collapse.js
1044
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1045
+ * --------------------------------------------------------------------------
1046
  */
1047
+
1048
+ var Collapse = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1049
  /**
1050
  * ------------------------------------------------------------------------
1051
+ * Constants
1052
  * ------------------------------------------------------------------------
1053
  */
1054
+ var NAME = 'collapse';
1055
+ var VERSION = '4.1.0';
1056
+ var DATA_KEY = 'bs.collapse';
1057
+ var EVENT_KEY = "." + DATA_KEY;
1058
+ var DATA_API_KEY = '.data-api';
1059
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1060
+ var Default = {
1061
+ toggle: true,
1062
+ parent: ''
1063
+ };
1064
+ var DefaultType = {
1065
+ toggle: 'boolean',
1066
+ parent: '(string|element)'
1067
+ };
1068
+ var Event = {
1069
+ SHOW: "show" + EVENT_KEY,
1070
+ SHOWN: "shown" + EVENT_KEY,
1071
+ HIDE: "hide" + EVENT_KEY,
1072
+ HIDDEN: "hidden" + EVENT_KEY,
1073
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
1074
+ };
1075
+ var ClassName = {
1076
+ SHOW: 'show',
1077
+ COLLAPSE: 'collapse',
1078
+ COLLAPSING: 'collapsing',
1079
+ COLLAPSED: 'collapsed'
1080
+ };
1081
+ var Dimension = {
1082
+ WIDTH: 'width',
1083
+ HEIGHT: 'height'
1084
+ };
1085
+ var Selector = {
1086
+ ACTIVES: '.show, .collapsing',
1087
+ DATA_TOGGLE: '[data-toggle="collapse"]'
1088
+ /**
1089
+ * ------------------------------------------------------------------------
1090
+ * Class Definition
1091
+ * ------------------------------------------------------------------------
1092
+ */
1093
 
1094
+ };
1095
 
1096
+ var Collapse =
1097
+ /*#__PURE__*/
1098
+ function () {
1099
+ function Collapse(element, config) {
1100
+ this._isTransitioning = false;
1101
+ this._element = element;
1102
+ this._config = this._getConfig(config);
1103
+ this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1104
+ var tabToggles = $$$1(Selector.DATA_TOGGLE);
1105
 
1106
+ for (var i = 0; i < tabToggles.length; i++) {
1107
+ var elem = tabToggles[i];
1108
+ var selector = Util.getSelectorFromElement(elem);
1109
 
1110
+ if (selector !== null && $$$1(selector).filter(element).length > 0) {
1111
+ this._selector = selector;
1112
 
1113
+ this._triggerArray.push(elem);
1114
+ }
1115
  }
 
1116
 
1117
+ this._parent = this._config.parent ? this._getParent() : null;
1118
 
1119
+ if (!this._config.parent) {
1120
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
1121
+ }
1122
 
1123
+ if (this._config.toggle) {
1124
+ this.toggle();
1125
+ }
1126
+ } // Getters
1127
 
1128
 
1129
+ var _proto = Collapse.prototype;
1130
 
1131
+ // Public
1132
+ _proto.toggle = function toggle() {
1133
+ if ($$$1(this._element).hasClass(ClassName.SHOW)) {
1134
+ this.hide();
1135
+ } else {
1136
+ this.show();
1137
+ }
1138
+ };
1139
 
1140
+ _proto.show = function show() {
1141
+ var _this = this;
1142
 
1143
+ if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
1144
+ return;
1145
+ }
1146
 
1147
+ var actives;
1148
+ var activesData;
1149
 
1150
+ if (this._parent) {
1151
+ actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
1152
 
1153
+ if (actives.length === 0) {
1154
+ actives = null;
1155
+ }
1156
  }
 
1157
 
1158
+ if (actives) {
1159
+ activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
1160
 
1161
+ if (activesData && activesData._isTransitioning) {
1162
+ return;
1163
+ }
1164
  }
 
1165
 
1166
+ var startEvent = $$$1.Event(Event.SHOW);
1167
+ $$$1(this._element).trigger(startEvent);
1168
 
1169
+ if (startEvent.isDefaultPrevented()) {
1170
+ return;
1171
+ }
1172
 
1173
+ if (actives) {
1174
+ Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
1175
 
1176
+ if (!activesData) {
1177
+ $$$1(actives).data(DATA_KEY, null);
1178
+ }
1179
  }
 
1180
 
1181
+ var dimension = this._getDimension();
1182
 
1183
+ $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1184
+ this._element.style[dimension] = 0;
1185
 
1186
+ if (this._triggerArray.length > 0) {
1187
+ $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1188
+ }
 
 
1189
 
1190
+ this.setTransitioning(true);
 
 
1191
 
1192
+ var complete = function complete() {
1193
+ $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
1194
+ _this._element.style[dimension] = '';
1195
 
1196
+ _this.setTransitioning(false);
 
1197
 
1198
+ $$$1(_this._element).trigger(Event.SHOWN);
1199
+ };
 
 
1200
 
1201
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1202
+ var scrollSize = "scroll" + capitalizedDimension;
1203
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1204
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1205
+ this._element.style[dimension] = this._element[scrollSize] + "px";
1206
+ };
1207
 
1208
+ _proto.hide = function hide() {
1209
+ var _this2 = this;
1210
 
1211
+ if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
1212
+ return;
1213
+ }
1214
 
1215
+ var startEvent = $$$1.Event(Event.HIDE);
1216
+ $$$1(this._element).trigger(startEvent);
1217
 
1218
+ if (startEvent.isDefaultPrevented()) {
1219
+ return;
1220
+ }
1221
 
1222
+ var dimension = this._getDimension();
1223
 
1224
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1225
+ Util.reflow(this._element);
1226
+ $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1227
 
1228
+ if (this._triggerArray.length > 0) {
1229
+ for (var i = 0; i < this._triggerArray.length; i++) {
1230
+ var trigger = this._triggerArray[i];
1231
+ var selector = Util.getSelectorFromElement(trigger);
1232
 
1233
+ if (selector !== null) {
1234
+ var $elem = $$$1(selector);
1235
 
1236
+ if (!$elem.hasClass(ClassName.SHOW)) {
1237
+ $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
1238
+ }
1239
  }
1240
  }
1241
  }
 
 
 
1242
 
1243
+ this.setTransitioning(true);
 
 
 
 
1244
 
1245
+ var complete = function complete() {
1246
+ _this2.setTransitioning(false);
1247
 
1248
+ $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
1249
+ };
 
 
1250
 
1251
+ this._element.style[dimension] = '';
1252
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1253
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1254
+ };
1255
 
1256
+ _proto.setTransitioning = function setTransitioning(isTransitioning) {
1257
+ this._isTransitioning = isTransitioning;
1258
+ };
1259
 
1260
+ _proto.dispose = function dispose() {
1261
+ $$$1.removeData(this._element, DATA_KEY);
1262
+ this._config = null;
1263
+ this._parent = null;
1264
+ this._element = null;
1265
+ this._triggerArray = null;
1266
+ this._isTransitioning = null;
1267
+ }; // Private
1268
 
1269
 
1270
+ _proto._getConfig = function _getConfig(config) {
1271
+ config = _objectSpread({}, Default, config);
1272
+ config.toggle = Boolean(config.toggle); // Coerce string values
1273
 
1274
+ Util.typeCheckConfig(NAME, config, DefaultType);
1275
+ return config;
1276
+ };
1277
 
1278
+ _proto._getDimension = function _getDimension() {
1279
+ var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
1280
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1281
+ };
1282
 
1283
+ _proto._getParent = function _getParent() {
1284
+ var _this3 = this;
1285
 
1286
+ var parent = null;
1287
 
1288
+ if (Util.isElement(this._config.parent)) {
1289
+ parent = this._config.parent; // It's a jQuery object
1290
 
1291
+ if (typeof this._config.parent.jquery !== 'undefined') {
1292
+ parent = this._config.parent[0];
1293
+ }
1294
+ } else {
1295
+ parent = $$$1(this._config.parent)[0];
1296
  }
 
 
 
1297
 
1298
+ var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1299
+ $$$1(parent).find(selector).each(function (i, element) {
1300
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1301
+ });
1302
+ return parent;
1303
+ };
1304
 
1305
+ _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1306
+ if (element) {
1307
+ var isOpen = $$$1(element).hasClass(ClassName.SHOW);
1308
 
1309
+ if (triggerArray.length > 0) {
1310
+ $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1311
+ }
1312
  }
1313
+ }; // Static
 
1314
 
1315
 
1316
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
1317
+ var selector = Util.getSelectorFromElement(element);
1318
+ return selector ? $$$1(selector)[0] : null;
1319
+ };
1320
 
1321
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
1322
+ return this.each(function () {
1323
+ var $this = $$$1(this);
1324
+ var data = $this.data(DATA_KEY);
1325
 
1326
+ var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
1327
 
1328
+ if (!data && _config.toggle && /show|hide/.test(config)) {
1329
+ _config.toggle = false;
1330
+ }
1331
 
1332
+ if (!data) {
1333
+ data = new Collapse(this, _config);
1334
+ $this.data(DATA_KEY, data);
1335
+ }
1336
 
1337
+ if (typeof config === 'string') {
1338
+ if (typeof data[config] === 'undefined') {
1339
+ throw new TypeError("No method named \"" + config + "\"");
1340
+ }
1341
+
1342
+ data[config]();
1343
  }
1344
+ });
1345
+ };
1346
 
1347
+ _createClass(Collapse, null, [{
1348
+ key: "VERSION",
1349
+ get: function get() {
1350
+ return VERSION;
1351
  }
1352
+ }, {
1353
+ key: "Default",
1354
+ get: function get() {
1355
+ return Default;
1356
+ }
1357
+ }]);
1358
 
1359
+ return Collapse;
1360
+ }();
1361
+ /**
1362
+ * ------------------------------------------------------------------------
1363
+ * Data Api implementation
1364
+ * ------------------------------------------------------------------------
1365
+ */
 
 
 
 
 
 
 
 
 
 
 
1366
 
1367
 
1368
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1369
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1370
+ if (event.currentTarget.tagName === 'A') {
1371
+ event.preventDefault();
1372
+ }
1373
 
1374
+ var $trigger = $$$1(this);
1375
+ var selector = Util.getSelectorFromElement(this);
1376
+ $$$1(selector).each(function () {
1377
+ var $target = $$$1(this);
1378
+ var data = $target.data(DATA_KEY);
1379
+ var config = data ? 'toggle' : $trigger.data();
1380
 
1381
+ Collapse._jQueryInterface.call($target, config);
1382
+ });
1383
  });
1384
+ /**
1385
+ * ------------------------------------------------------------------------
1386
+ * jQuery
1387
+ * ------------------------------------------------------------------------
1388
+ */
 
1389
 
1390
+ $$$1.fn[NAME] = Collapse._jQueryInterface;
1391
+ $$$1.fn[NAME].Constructor = Collapse;
1392
 
1393
+ $$$1.fn[NAME].noConflict = function () {
1394
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1395
+ return Collapse._jQueryInterface;
1396
+ };
1397
 
1398
+ return Collapse;
1399
+ }($);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1400
 
1401
+ /**!
1402
+ * @fileOverview Kickass library to create and place poppers near their reference elements.
1403
+ * @version 1.14.1
1404
+ * @license
1405
+ * Copyright (c) 2016 Federico Zivolo and contributors
1406
+ *
1407
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1408
+ * of this software and associated documentation files (the "Software"), to deal
1409
+ * in the Software without restriction, including without limitation the rights
1410
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1411
+ * copies of the Software, and to permit persons to whom the Software is
1412
+ * furnished to do so, subject to the following conditions:
1413
+ *
1414
+ * The above copyright notice and this permission notice shall be included in all
1415
+ * copies or substantial portions of the Software.
1416
+ *
1417
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1418
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1419
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1420
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1421
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1422
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1423
+ * SOFTWARE.
1424
+ */
1425
+ var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
1426
+ var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
1427
+ var timeoutDuration = 0;
1428
+ for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
1429
+ if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
1430
+ timeoutDuration = 1;
1431
+ break;
1432
  }
1433
+ }
 
 
 
 
 
 
1434
 
1435
+ function microtaskDebounce(fn) {
1436
+ var called = false;
1437
+ return function () {
1438
+ if (called) {
1439
+ return;
1440
+ }
1441
+ called = true;
1442
+ window.Promise.resolve().then(function () {
1443
+ called = false;
1444
  fn();
1445
+ });
1446
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1447
  }
1448
 
1449
+ function taskDebounce(fn) {
1450
+ var scheduled = false;
1451
+ return function () {
1452
+ if (!scheduled) {
1453
+ scheduled = true;
1454
+ setTimeout(function () {
1455
+ scheduled = false;
1456
+ fn();
1457
+ }, timeoutDuration);
1458
+ }
1459
+ };
1460
  }
1461
 
1462
+ var supportsMicroTasks = isBrowser && window.Promise;
1463
 
1464
+ /**
1465
+ * Create a debounced version of a method, that's asynchronously deferred
1466
+ * but called in the minimum time possible.
1467
+ *
1468
+ * @method
1469
+ * @memberof Popper.Utils
1470
+ * @argument {Function} fn
1471
+ * @returns {Function}
1472
+ */
1473
+ var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
1474
 
1475
+ /**
1476
+ * Check if the given variable is a function
1477
+ * @method
1478
+ * @memberof Popper.Utils
1479
+ * @argument {Any} functionToCheck - variable to check
1480
+ * @returns {Boolean} answer to: is a function?
1481
+ */
1482
+ function isFunction(functionToCheck) {
1483
+ var getType = {};
1484
+ return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
1485
  }
1486
 
1487
+ /**
1488
+ * Get CSS computed property of the given element
1489
+ * @method
1490
+ * @memberof Popper.Utils
1491
+ * @argument {Eement} element
1492
+ * @argument {String} property
1493
+ */
1494
+ function getStyleComputedProperty(element, property) {
1495
+ if (element.nodeType !== 1) {
1496
+ return [];
 
 
 
 
 
 
 
 
1497
  }
1498
+ // NOTE: 1 DOM access here
1499
+ var css = getComputedStyle(element, null);
1500
+ return property ? css[property] : css;
1501
  }
1502
 
1503
+ /**
1504
+ * Returns the parentNode or the host of the element
1505
+ * @method
1506
+ * @memberof Popper.Utils
1507
+ * @argument {Element} element
1508
+ * @returns {Element} parent
1509
+ */
1510
+ function getParentNode(element) {
1511
+ if (element.nodeName === 'HTML') {
1512
+ return element;
1513
+ }
1514
+ return element.parentNode || element.host;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1515
  }
1516
 
1517
+ /**
1518
+ * Returns the scrolling parent of the given element
1519
+ * @method
1520
+ * @memberof Popper.Utils
1521
+ * @argument {Element} element
1522
+ * @returns {Element} scroll parent
1523
+ */
1524
+ function getScrollParent(element) {
1525
+ // Return body, `getScroll` will take care to get the correct `scrollTop` from it
1526
+ if (!element) {
1527
+ return document.body;
1528
+ }
 
 
 
 
1529
 
1530
+ switch (element.nodeName) {
1531
+ case 'HTML':
1532
+ case 'BODY':
1533
+ return element.ownerDocument.body;
1534
+ case '#document':
1535
+ return element.body;
1536
+ }
1537
 
1538
+ // Firefox want us to check `-x` and `-y` variations as well
 
 
 
 
1539
 
1540
+ var _getStyleComputedProp = getStyleComputedProperty(element),
1541
+ overflow = _getStyleComputedProp.overflow,
1542
+ overflowX = _getStyleComputedProp.overflowX,
1543
+ overflowY = _getStyleComputedProp.overflowY;
1544
 
1545
+ if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
1546
+ return element;
 
1547
  }
1548
 
1549
+ return getScrollParent(getParentNode(element));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1550
  }
1551
 
1552
+ /**
1553
+ * Tells if you are running Internet Explorer
1554
+ * @method
1555
+ * @memberof Popper.Utils
1556
+ * @argument {number} version to check
1557
+ * @returns {Boolean} isIE
1558
+ */
1559
+ var cache = {};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1560
 
1561
+ var isIE = function () {
1562
+ var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
 
1563
 
1564
+ version = version.toString();
1565
+ if (cache.hasOwnProperty(version)) {
1566
+ return cache[version];
1567
+ }
1568
+ switch (version) {
1569
+ case '11':
1570
+ cache[version] = navigator.userAgent.indexOf('Trident') !== -1;
1571
+ break;
1572
+ case '10':
1573
+ cache[version] = navigator.appVersion.indexOf('MSIE 10') !== -1;
1574
+ break;
1575
+ case 'all':
1576
+ cache[version] = navigator.userAgent.indexOf('Trident') !== -1 || navigator.userAgent.indexOf('MSIE') !== -1;
1577
+ break;
1578
+ }
1579
 
1580
+ //Set IE
1581
+ cache.all = cache.all || Object.keys(cache).some(function (key) {
1582
+ return cache[key];
1583
+ });
1584
+ return cache[version];
1585
  };
 
 
 
 
 
 
 
1586
 
1587
+ /**
1588
+ * Returns the offset parent of the given element
1589
+ * @method
1590
+ * @memberof Popper.Utils
1591
+ * @argument {Element} element
1592
+ * @returns {Element} offset parent
1593
+ */
1594
+ function getOffsetParent(element) {
1595
+ if (!element) {
1596
+ return document.documentElement;
1597
  }
 
1598
 
1599
+ var noOffsetParent = isIE(10) ? document.body : null;
 
 
 
 
 
1600
 
1601
+ // NOTE: 1 DOM access here
1602
+ var offsetParent = element.offsetParent;
1603
+ // Skip hidden elements which don't have an offsetParent
1604
+ while (offsetParent === noOffsetParent && element.nextElementSibling) {
1605
+ offsetParent = (element = element.nextElementSibling).offsetParent;
1606
+ }
1607
 
1608
+ var nodeName = offsetParent && offsetParent.nodeName;
1609
 
1610
+ if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
1611
+ return element ? element.ownerDocument.documentElement : document.documentElement;
1612
+ }
1613
 
1614
+ // .offsetParent will return the closest TD or TABLE in case
1615
+ // no offsetParent is present, I hate this job...
1616
+ if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
1617
+ return getOffsetParent(offsetParent);
1618
+ }
1619
 
1620
+ return offsetParent;
 
 
 
 
 
 
 
 
 
1621
  }
1622
 
1623
+ function isOffsetContainer(element) {
1624
+ var nodeName = element.nodeName;
 
 
 
 
1625
 
1626
+ if (nodeName === 'BODY') {
1627
+ return false;
 
 
1628
  }
1629
+ return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
1630
  }
1631
 
1632
+ /**
1633
+ * Finds the root node (document, shadowDOM root) of the given element
1634
+ * @method
1635
+ * @memberof Popper.Utils
1636
+ * @argument {Element} node
1637
+ * @returns {Element} root node
1638
+ */
1639
+ function getRoot(node) {
1640
+ if (node.parentNode !== null) {
1641
+ return getRoot(node.parentNode);
1642
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1643
 
1644
+ return node;
 
1645
  }
1646
 
1647
+ /**
1648
+ * Finds the offset parent common to the two provided nodes
1649
+ * @method
1650
+ * @memberof Popper.Utils
1651
+ * @argument {Element} element1
1652
+ * @argument {Element} element2
1653
+ * @returns {Element} common offset parent
1654
+ */
1655
+ function findCommonOffsetParent(element1, element2) {
1656
+ // This check is needed to avoid errors in case one of the elements isn't defined for any reason
1657
+ if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
1658
+ return document.documentElement;
1659
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1660
 
1661
+ // Here we make sure to give as "start" the element that comes first in the DOM
1662
+ var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
1663
+ var start = order ? element1 : element2;
1664
+ var end = order ? element2 : element1;
1665
 
1666
+ // Get common ancestor container
1667
+ var range = document.createRange();
1668
+ range.setStart(start, 0);
1669
+ range.setEnd(end, 0);
1670
+ var commonAncestorContainer = range.commonAncestorContainer;
1671
 
1672
+ // Both nodes are inside #document
 
 
 
 
1673
 
1674
+ if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
1675
+ if (isOffsetContainer(commonAncestorContainer)) {
1676
+ return commonAncestorContainer;
1677
+ }
1678
 
1679
+ return getOffsetParent(commonAncestorContainer);
1680
+ }
 
 
 
 
1681
 
1682
+ // one of the nodes is inside shadowDOM, find which one
1683
+ var element1root = getRoot(element1);
1684
+ if (element1root.host) {
1685
+ return findCommonOffsetParent(element1root.host, element2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1686
  } else {
1687
+ return findCommonOffsetParent(element1, getRoot(element2).host);
1688
  }
1689
+ }
1690
 
1691
+ /**
1692
+ * Gets the scroll value of the given element in the given side (top and left)
1693
+ * @method
1694
+ * @memberof Popper.Utils
1695
+ * @argument {Element} element
1696
+ * @argument {String} side `top` or `left`
1697
+ * @returns {number} amount of scrolled pixels
1698
+ */
1699
+ function getScroll(element) {
1700
+ var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
1701
 
1702
+ var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
1703
+ var nodeName = element.nodeName;
 
 
 
1704
 
1705
+ if (nodeName === 'BODY' || nodeName === 'HTML') {
1706
+ var html = element.ownerDocument.documentElement;
1707
+ var scrollingElement = element.ownerDocument.scrollingElement || html;
1708
+ return scrollingElement[upperSide];
 
 
 
1709
  }
 
1710
 
1711
+ return element[upperSide];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1712
  }
1713
 
1714
+ /*
1715
+ * Sum or subtract the element scroll values (left and top) from a given rect object
1716
+ * @method
1717
+ * @memberof Popper.Utils
1718
+ * @param {Object} rect - Rect object you want to change
1719
+ * @param {HTMLElement} element - The element from the function reads the scroll values
1720
+ * @param {Boolean} subtract - set to true if you want to subtract the scroll values
1721
+ * @return {Object} rect - The modifier rect object
1722
+ */
1723
+ function includeScroll(rect, element) {
1724
+ var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1725
+
1726
+ var scrollTop = getScroll(element, 'top');
1727
+ var scrollLeft = getScroll(element, 'left');
1728
+ var modifier = subtract ? -1 : 1;
1729
+ rect.top += scrollTop * modifier;
1730
+ rect.bottom += scrollTop * modifier;
1731
+ rect.left += scrollLeft * modifier;
1732
+ rect.right += scrollLeft * modifier;
1733
+ return rect;
1734
+ }
1735
 
1736
+ /*
1737
+ * Helper to detect borders of a given element
1738
+ * @method
1739
+ * @memberof Popper.Utils
1740
+ * @param {CSSStyleDeclaration} styles
1741
+ * Result of `getStyleComputedProperty` on the given element
1742
+ * @param {String} axis - `x` or `y`
1743
+ * @return {number} borders - The borders size of the given axis
1744
+ */
 
 
 
 
 
 
 
 
 
1745
 
1746
+ function getBordersSize(styles, axis) {
1747
+ var sideA = axis === 'x' ? 'Left' : 'Top';
1748
+ var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1749
 
1750
+ return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
 
 
 
 
 
 
 
 
 
 
 
1751
  }
1752
 
1753
+ function getSize(axis, body, html, computedStyle) {
1754
+ return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1755
  }
1756
 
1757
+ function getWindowSizes() {
1758
+ var body = document.body;
1759
+ var html = document.documentElement;
1760
+ var computedStyle = isIE(10) && getComputedStyle(html);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1761
 
1762
+ return {
1763
+ height: getSize('Height', body, html, computedStyle),
1764
+ width: getSize('Width', body, html, computedStyle)
1765
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1766
  }
1767
 
1768
+ var classCallCheck = function (instance, Constructor) {
1769
+ if (!(instance instanceof Constructor)) {
1770
+ throw new TypeError("Cannot call a class as a function");
1771
+ }
 
 
 
1772
  };
1773
 
1774
+ var createClass = function () {
1775
+ function defineProperties(target, props) {
1776
+ for (var i = 0; i < props.length; i++) {
1777
+ var descriptor = props[i];
1778
+ descriptor.enumerable = descriptor.enumerable || false;
1779
+ descriptor.configurable = true;
1780
+ if ("value" in descriptor) descriptor.writable = true;
1781
+ Object.defineProperty(target, descriptor.key, descriptor);
1782
+ }
1783
+ }
1784
 
1785
+ return function (Constructor, protoProps, staticProps) {
1786
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
1787
+ if (staticProps) defineProperties(Constructor, staticProps);
1788
+ return Constructor;
1789
+ };
1790
+ }();
1791
 
 
 
 
1792
 
 
 
1793
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1794
 
 
1795
 
1796
+ var defineProperty = function (obj, key, value) {
1797
+ if (key in obj) {
1798
+ Object.defineProperty(obj, key, {
1799
+ value: value,
1800
+ enumerable: true,
1801
+ configurable: true,
1802
+ writable: true
1803
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1804
  } else {
1805
+ obj[key] = value;
1806
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1807
 
1808
+ return obj;
1809
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1810
 
1811
+ var _extends = Object.assign || function (target) {
1812
+ for (var i = 1; i < arguments.length; i++) {
1813
+ var source = arguments[i];
1814
 
1815
+ for (var key in source) {
1816
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
1817
+ target[key] = source[key];
1818
+ }
1819
+ }
1820
+ }
1821
 
1822
+ return target;
 
 
 
 
 
1823
  };
1824
 
1825
+ /**
1826
+ * Given element offsets, generate an output similar to getBoundingClientRect
1827
+ * @method
1828
+ * @memberof Popper.Utils
1829
+ * @argument {Object} offsets
1830
+ * @returns {Object} ClientRect like output
1831
+ */
1832
+ function getClientRect(offsets) {
1833
+ return _extends({}, offsets, {
1834
+ right: offsets.left + offsets.width,
1835
+ bottom: offsets.top + offsets.height
1836
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1837
  }
1838
 
1839
+ /**
1840
+ * Get bounding client rect of given element
1841
+ * @method
1842
+ * @memberof Popper.Utils
1843
+ * @param {HTMLElement} element
1844
+ * @return {Object} client rect
1845
+ */
1846
+ function getBoundingClientRect(element) {
1847
+ var rect = {};
1848
 
1849
+ // IE10 10 FIX: Please, don't ask, the element isn't
1850
+ // considered in DOM in some circumstances...
1851
+ // This isn't reproducible in IE10 compatibility mode of IE11
1852
+ try {
1853
+ if (isIE(10)) {
1854
+ rect = element.getBoundingClientRect();
1855
+ var scrollTop = getScroll(element, 'top');
1856
+ var scrollLeft = getScroll(element, 'left');
1857
+ rect.top += scrollTop;
1858
+ rect.left += scrollLeft;
1859
+ rect.bottom += scrollTop;
1860
+ rect.right += scrollLeft;
1861
+ } else {
1862
+ rect = element.getBoundingClientRect();
1863
+ }
1864
+ } catch (e) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1865
 
1866
+ var result = {
1867
+ left: rect.left,
1868
+ top: rect.top,
1869
+ width: rect.right - rect.left,
1870
+ height: rect.bottom - rect.top
1871
+ };
1872
 
1873
+ // subtract scrollbar size from sizes
1874
+ var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
1875
+ var width = sizes.width || element.clientWidth || result.right - result.left;
1876
+ var height = sizes.height || element.clientHeight || result.bottom - result.top;
1877
 
1878
+ var horizScrollbar = element.offsetWidth - width;
1879
+ var vertScrollbar = element.offsetHeight - height;
1880
+
1881
+ // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
1882
+ // we make this check conditional for performance reasons
1883
+ if (horizScrollbar || vertScrollbar) {
1884
+ var styles = getStyleComputedProperty(element);
1885
+ horizScrollbar -= getBordersSize(styles, 'x');
1886
+ vertScrollbar -= getBordersSize(styles, 'y');
1887
+
1888
+ result.width -= horizScrollbar;
1889
+ result.height -= vertScrollbar;
1890
  }
1891
+
1892
+ return getClientRect(result);
1893
  }
1894
 
1895
+ function getOffsetRectRelativeToArbitraryNode(children, parent) {
1896
+ var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
 
 
1897
 
1898
+ var isIE10 = isIE(10);
1899
+ var isHTML = parent.nodeName === 'HTML';
1900
+ var childrenRect = getBoundingClientRect(children);
1901
+ var parentRect = getBoundingClientRect(parent);
1902
+ var scrollParent = getScrollParent(children);
1903
 
1904
+ var styles = getStyleComputedProperty(parent);
1905
+ var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
1906
+ var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
 
 
 
1907
 
1908
+ // In cases where the parent is fixed, we must ignore negative scroll in offset calc
1909
+ if (fixedPosition && parent.nodeName === 'HTML') {
1910
+ parentRect.top = Math.max(parentRect.top, 0);
1911
+ parentRect.left = Math.max(parentRect.left, 0);
1912
+ }
1913
+ var offsets = getClientRect({
1914
+ top: childrenRect.top - parentRect.top - borderTopWidth,
1915
+ left: childrenRect.left - parentRect.left - borderLeftWidth,
1916
+ width: childrenRect.width,
1917
+ height: childrenRect.height
1918
+ });
1919
+ offsets.marginTop = 0;
1920
+ offsets.marginLeft = 0;
1921
+
1922
+ // Subtract margins of documentElement in case it's being used as parent
1923
+ // we do this only on HTML because it's the only element that behaves
1924
+ // differently when margins are applied to it. The margins are included in
1925
+ // the box of the documentElement, in the other cases not.
1926
+ if (!isIE10 && isHTML) {
1927
+ var marginTop = parseFloat(styles.marginTop, 10);
1928
+ var marginLeft = parseFloat(styles.marginLeft, 10);
1929
+
1930
+ offsets.top -= borderTopWidth - marginTop;
1931
+ offsets.bottom -= borderTopWidth - marginTop;
1932
+ offsets.left -= borderLeftWidth - marginLeft;
1933
+ offsets.right -= borderLeftWidth - marginLeft;
1934
+
1935
+ // Attach marginTop and marginLeft because in some circumstances we may need them
1936
+ offsets.marginTop = marginTop;
1937
+ offsets.marginLeft = marginLeft;
1938
+ }
1939
 
1940
+ if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
1941
+ offsets = includeScroll(offsets, parent);
1942
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1943
 
1944
+ return offsets;
 
 
1945
  }
1946
 
1947
+ function getViewportOffsetRectRelativeToArtbitraryNode(element) {
1948
+ var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1949
 
1950
+ var html = element.ownerDocument.documentElement;
1951
+ var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
1952
+ var width = Math.max(html.clientWidth, window.innerWidth || 0);
1953
+ var height = Math.max(html.clientHeight, window.innerHeight || 0);
1954
+
1955
+ var scrollTop = !excludeScroll ? getScroll(html) : 0;
1956
+ var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
1957
+
1958
+ var offset = {
1959
+ top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
1960
+ left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
1961
+ width: width,
1962
+ height: height
1963
+ };
1964
 
1965
+ return getClientRect(offset);
 
 
 
 
 
 
 
 
 
 
 
1966
  }
1967
 
1968
+ /**
1969
+ * Check if the given element is fixed or is inside a fixed parent
1970
+ * @method
1971
+ * @memberof Popper.Utils
1972
+ * @argument {Element} element
1973
+ * @argument {Element} customContainer
1974
+ * @returns {Boolean} answer to "isFixed?"
1975
+ */
1976
+ function isFixed(element) {
1977
+ var nodeName = element.nodeName;
1978
+ if (nodeName === 'BODY' || nodeName === 'HTML') {
1979
+ return false;
1980
  }
1981
+ if (getStyleComputedProperty(element, 'position') === 'fixed') {
1982
+ return true;
1983
+ }
1984
+ return isFixed(getParentNode(element));
1985
+ }
1986
 
1987
+ /**
1988
+ * Finds the first parent of an element that has a transformed property defined
1989
+ * @method
1990
+ * @memberof Popper.Utils
1991
+ * @argument {Element} element
1992
+ * @returns {Element} first transformed parent or documentElement
1993
+ */
1994
 
1995
+ function getFixedPositionOffsetParent(element) {
1996
+ // This check is needed to avoid errors in case one of the elements isn't defined for any reason
1997
+ if (!element || !element.parentElement || isIE()) {
1998
+ return document.documentElement;
1999
+ }
2000
+ var el = element.parentElement;
2001
+ while (el && getStyleComputedProperty(el, 'transform') === 'none') {
2002
+ el = el.parentElement;
2003
+ }
2004
+ return el || document.documentElement;
2005
+ }
2006
 
2007
+ /**
2008
+ * Computed the boundaries limits and return them
2009
+ * @method
2010
+ * @memberof Popper.Utils
2011
+ * @param {HTMLElement} popper
2012
+ * @param {HTMLElement} reference
2013
+ * @param {number} padding
2014
+ * @param {HTMLElement} boundariesElement - Element used to define the boundaries
2015
+ * @param {Boolean} fixedPosition - Is in fixed position mode
2016
+ * @returns {Object} Coordinates of the boundaries
2017
+ */
2018
+ function getBoundaries(popper, reference, padding, boundariesElement) {
2019
+ var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
2020
 
2021
+ // NOTE: 1 DOM access here
 
 
 
2022
 
2023
+ var boundaries = { top: 0, left: 0 };
2024
+ var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
2025
 
2026
+ // Handle viewport case
2027
+ if (boundariesElement === 'viewport') {
2028
+ boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
2029
+ } else {
2030
+ // Handle other cases based on DOM element used as boundaries
2031
+ var boundariesNode = void 0;
2032
+ if (boundariesElement === 'scrollParent') {
2033
+ boundariesNode = getScrollParent(getParentNode(reference));
2034
+ if (boundariesNode.nodeName === 'BODY') {
2035
+ boundariesNode = popper.ownerDocument.documentElement;
2036
+ }
2037
+ } else if (boundariesElement === 'window') {
2038
+ boundariesNode = popper.ownerDocument.documentElement;
2039
+ } else {
2040
+ boundariesNode = boundariesElement;
2041
+ }
2042
 
2043
+ var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
 
 
2044
 
2045
+ // In case of HTML, we need a different computation
2046
+ if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
2047
+ var _getWindowSizes = getWindowSizes(),
2048
+ height = _getWindowSizes.height,
2049
+ width = _getWindowSizes.width;
2050
 
2051
+ boundaries.top += offsets.top - offsets.marginTop;
2052
+ boundaries.bottom = height + offsets.top;
2053
+ boundaries.left += offsets.left - offsets.marginLeft;
2054
+ boundaries.right = width + offsets.left;
2055
+ } else {
2056
+ // for all the other DOM elements, this one is good
2057
+ boundaries = offsets;
2058
  }
2059
+ }
2060
 
2061
+ // Add paddings
2062
+ boundaries.left += padding;
2063
+ boundaries.top += padding;
2064
+ boundaries.right -= padding;
2065
+ boundaries.bottom -= padding;
2066
 
2067
+ return boundaries;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2068
  }
2069
 
2070
+ function getArea(_ref) {
2071
+ var width = _ref.width,
2072
+ height = _ref.height;
2073
+
2074
+ return width * height;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2075
  }
2076
 
2077
+ /**
2078
+ * Utility used to transform the `auto` placement to the placement with more
2079
+ * available space.
2080
+ * @method
2081
+ * @memberof Popper.Utils
2082
+ * @argument {Object} data - The data object generated by update method
2083
+ * @argument {Object} options - Modifiers configuration and options
2084
+ * @returns {Object} The data object, properly modified
2085
+ */
2086
+ function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
2087
+ var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
2088
 
2089
+ if (placement.indexOf('auto') === -1) {
2090
+ return placement;
 
 
 
 
 
 
 
2091
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2092
 
2093
+ var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
2094
+
2095
+ var rects = {
2096
+ top: {
2097
+ width: boundaries.width,
2098
+ height: refRect.top - boundaries.top
2099
+ },
2100
+ right: {
2101
+ width: boundaries.right - refRect.right,
2102
+ height: boundaries.height
2103
+ },
2104
+ bottom: {
2105
+ width: boundaries.width,
2106
+ height: boundaries.bottom - refRect.bottom
2107
+ },
2108
+ left: {
2109
+ width: refRect.left - boundaries.left,
2110
+ height: boundaries.height
 
 
 
 
 
 
2111
  }
2112
+ };
2113
+
2114
+ var sortedAreas = Object.keys(rects).map(function (key) {
2115
+ return _extends({
2116
+ key: key
2117
+ }, rects[key], {
2118
+ area: getArea(rects[key])
2119
+ });
2120
+ }).sort(function (a, b) {
2121
+ return b.area - a.area;
2122
  });
 
2123
 
2124
+ var filteredAreas = sortedAreas.filter(function (_ref2) {
2125
+ var width = _ref2.width,
2126
+ height = _ref2.height;
2127
+ return width >= popper.clientWidth && height >= popper.clientHeight;
 
 
2128
  });
2129
+
2130
+ var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
2131
+
2132
+ var variation = placement.split('-')[1];
2133
+
2134
+ return computedPlacement + (variation ? '-' + variation : '');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2135
  }
2136
 
2137
+ /**
2138
+ * Get offsets to the reference element
2139
+ * @method
2140
+ * @memberof Popper.Utils
2141
+ * @param {Object} state
2142
+ * @param {Element} popper - the popper element
2143
+ * @param {Element} reference - the reference element (the popper will be relative to this)
2144
+ * @param {Element} fixedPosition - is in fixed position mode
2145
+ * @returns {Object} An object containing the offsets which will be applied to the popper
2146
+ */
2147
+ function getReferenceOffsets(state, popper, reference) {
2148
+ var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
2149
+
2150
+ var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
2151
+ return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
2152
  }
2153
 
2154
+ /**
2155
+ * Get the outer sizes of the given element (offset size + margins)
2156
+ * @method
2157
+ * @memberof Popper.Utils
2158
+ * @argument {Element} element
2159
+ * @returns {Object} object containing width and height properties
2160
+ */
2161
+ function getOuterSizes(element) {
2162
+ var styles = getComputedStyle(element);
2163
+ var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
2164
+ var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
2165
+ var result = {
2166
+ width: element.offsetWidth + y,
2167
+ height: element.offsetHeight + x
2168
+ };
2169
+ return result;
2170
+ }
2171
+
2172
+ /**
2173
+ * Get the opposite placement of the given one
2174
+ * @method
2175
+ * @memberof Popper.Utils
2176
+ * @argument {String} placement
2177
+ * @returns {String} flipped placement
2178
+ */
2179
+ function getOppositePlacement(placement) {
2180
+ var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
2181
+ return placement.replace(/left|right|bottom|top/g, function (matched) {
2182
+ return hash[matched];
2183
+ });
2184
  }
2185
 
2186
+ /**
2187
+ * Get offsets to the popper
2188
+ * @method
2189
+ * @memberof Popper.Utils
2190
+ * @param {Object} position - CSS position the Popper will get applied
2191
+ * @param {HTMLElement} popper - the popper element
2192
+ * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
2193
+ * @param {String} placement - one of the valid placement options
2194
+ * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
2195
+ */
2196
+ function getPopperOffsets(popper, referenceOffsets, placement) {
2197
+ placement = placement.split('-')[0];
2198
+
2199
+ // Get popper node sizes
2200
+ var popperRect = getOuterSizes(popper);
2201
+
2202
+ // Add position, width and height to our offsets object
2203
+ var popperOffsets = {
2204
+ width: popperRect.width,
2205
+ height: popperRect.height
2206
+ };
2207
+
2208
+ // depending by the popper placement we have to compute its offsets slightly differently
2209
+ var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
2210
+ var mainSide = isHoriz ? 'top' : 'left';
2211
+ var secondarySide = isHoriz ? 'left' : 'top';
2212
+ var measurement = isHoriz ? 'height' : 'width';
2213
+ var secondaryMeasurement = !isHoriz ? 'height' : 'width';
2214
 
2215
+ popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
2216
+ if (placement === secondarySide) {
2217
+ popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
2218
+ } else {
2219
+ popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
2220
+ }
2221
 
2222
+ return popperOffsets;
2223
+ }
2224
+
2225
+ /**
2226
+ * Mimics the `find` method of Array
2227
+ * @method
2228
+ * @memberof Popper.Utils
2229
+ * @argument {Array} arr
2230
+ * @argument prop
2231
+ * @argument value
2232
+ * @returns index or -1
2233
+ */
2234
+ function find(arr, check) {
2235
+ // use native find if supported
2236
+ if (Array.prototype.find) {
2237
+ return arr.find(check);
2238
+ }
2239
+
2240
+ // use `filter` to obtain the same behavior of `find`
2241
+ return arr.filter(check)[0];
2242
+ }
2243
+
2244
+ /**
2245
+ * Return the index of the matching object
2246
+ * @method
2247
+ * @memberof Popper.Utils
2248
+ * @argument {Array} arr
2249
+ * @argument prop
2250
+ * @argument value
2251
+ * @returns index or -1
2252
+ */
2253
+ function findIndex(arr, prop, value) {
2254
+ // use native findIndex if supported
2255
+ if (Array.prototype.findIndex) {
2256
+ return arr.findIndex(function (cur) {
2257
+ return cur[prop] === value;
2258
+ });
2259
+ }
2260
+
2261
+ // use `find` + `indexOf` if `findIndex` isn't supported
2262
+ var match = find(arr, function (obj) {
2263
+ return obj[prop] === value;
2264
+ });
2265
+ return arr.indexOf(match);
2266
+ }
2267
+
2268
+ /**
2269
+ * Loop trough the list of modifiers and run them in order,
2270
+ * each of them will then edit the data object.
2271
+ * @method
2272
+ * @memberof Popper.Utils
2273
+ * @param {dataObject} data
2274
+ * @param {Array} modifiers
2275
+ * @param {String} ends - Optional modifier name used as stopper
2276
+ * @returns {dataObject}
2277
+ */
2278
+ function runModifiers(modifiers, data, ends) {
2279
+ var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
2280
+
2281
+ modifiersToRun.forEach(function (modifier) {
2282
+ if (modifier['function']) {
2283
+ // eslint-disable-line dot-notation
2284
+ console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
2285
  }
2286
+ var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
2287
+ if (modifier.enabled && isFunction(fn)) {
2288
+ // Add properties to offsets to make them a complete clientRect object
2289
+ // we do this before each modifier to make sure the previous one doesn't
2290
+ // mess with these values
2291
+ data.offsets.popper = getClientRect(data.offsets.popper);
2292
+ data.offsets.reference = getClientRect(data.offsets.reference);
2293
+
2294
+ data = fn(data, modifier);
2295
  }
2296
+ });
 
 
2297
 
2298
+ return data;
2299
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2300
 
2301
+ /**
2302
+ * Updates the position of the popper, computing the new offsets and applying
2303
+ * the new style.<br />
2304
+ * Prefer `scheduleUpdate` over `update` because of performance reasons.
2305
+ * @method
2306
+ * @memberof Popper
2307
+ */
2308
+ function update() {
2309
+ // if popper is destroyed, don't perform any further update
2310
+ if (this.state.isDestroyed) {
2311
+ return;
2312
+ }
2313
 
2314
+ var data = {
2315
+ instance: this,
2316
+ styles: {},
2317
+ arrowStyles: {},
2318
+ attributes: {},
2319
+ flipped: false,
2320
+ offsets: {}
2321
  };
2322
 
2323
+ // compute reference element offsets
2324
+ data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);
2325
+
2326
+ // compute auto placement, store placement inside the data object,
2327
+ // modifiers will be able to edit `placement` if needed
2328
+ // and refer to originalPlacement to know the original value
2329
+ data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
2330
+
2331
+ // store the computed placement inside `originalPlacement`
2332
+ data.originalPlacement = data.placement;
2333
+
2334
+ data.positionFixed = this.options.positionFixed;
2335
+
2336
+ // compute the popper offsets
2337
+ data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
2338
+ data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
2339
+
2340
+ // run the modifiers
2341
+ data = runModifiers(this.modifiers, data);
2342
+
2343
+ // the first `update` will call `onCreate` callback
2344
+ // the other ones will call `onUpdate` callback
2345
+ if (!this.state.isCreated) {
2346
+ this.state.isCreated = true;
2347
+ this.options.onCreate(data);
2348
+ } else {
2349
+ this.options.onUpdate(data);
2350
+ }
2351
+ }
2352
+
2353
+ /**
2354
+ * Helper used to know if the given modifier is enabled.
2355
+ * @method
2356
+ * @memberof Popper.Utils
2357
+ * @returns {Boolean}
2358
+ */
2359
+ function isModifierEnabled(modifiers, modifierName) {
2360
+ return modifiers.some(function (_ref) {
2361
+ var name = _ref.name,
2362
+ enabled = _ref.enabled;
2363
+ return enabled && name === modifierName;
2364
+ });
2365
+ }
2366
+
2367
+ /**
2368
+ * Get the prefixed supported property name
2369
+ * @method
2370
+ * @memberof Popper.Utils
2371
+ * @argument {String} property (camelCase)
2372
+ * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
2373
+ */
2374
+ function getSupportedPropertyName(property) {
2375
+ var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
2376
+ var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
2377
+
2378
+ for (var i = 0; i < prefixes.length; i++) {
2379
+ var prefix = prefixes[i];
2380
+ var toCheck = prefix ? '' + prefix + upperProp : property;
2381
+ if (typeof document.body.style[toCheck] !== 'undefined') {
2382
+ return toCheck;
2383
+ }
2384
+ }
2385
+ return null;
2386
+ }
2387
+
2388
+ /**
2389
+ * Destroy the popper
2390
+ * @method
2391
+ * @memberof Popper
2392
+ */
2393
+ function destroy() {
2394
+ this.state.isDestroyed = true;
2395
+
2396
+ // touch DOM only if `applyStyle` modifier is enabled
2397
+ if (isModifierEnabled(this.modifiers, 'applyStyle')) {
2398
+ this.popper.removeAttribute('x-placement');
2399
+ this.popper.style.position = '';
2400
+ this.popper.style.top = '';
2401
+ this.popper.style.left = '';
2402
+ this.popper.style.right = '';
2403
+ this.popper.style.bottom = '';
2404
+ this.popper.style.willChange = '';
2405
+ this.popper.style[getSupportedPropertyName('transform')] = '';
2406
+ }
2407
+
2408
+ this.disableEventListeners();
2409
+
2410
+ // remove the popper if user explicity asked for the deletion on destroy
2411
+ // do not use `remove` because IE11 doesn't support it
2412
+ if (this.options.removeOnDestroy) {
2413
+ this.popper.parentNode.removeChild(this.popper);
2414
+ }
2415
+ return this;
2416
+ }
2417
+
2418
+ /**
2419
+ * Get the window associated with the element
2420
+ * @argument {Element} element
2421
+ * @returns {Window}
2422
+ */
2423
+ function getWindow(element) {
2424
+ var ownerDocument = element.ownerDocument;
2425
+ return ownerDocument ? ownerDocument.defaultView : window;
2426
+ }
2427
+
2428
+ function attachToScrollParents(scrollParent, event, callback, scrollParents) {
2429
+ var isBody = scrollParent.nodeName === 'BODY';
2430
+ var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
2431
+ target.addEventListener(event, callback, { passive: true });
2432
+
2433
+ if (!isBody) {
2434
+ attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
2435
+ }
2436
+ scrollParents.push(target);
2437
+ }
2438
+
2439
+ /**
2440
+ * Setup needed event listeners used to update the popper position
2441
+ * @method
2442
+ * @memberof Popper.Utils
2443
+ * @private
2444
+ */
2445
+ function setupEventListeners(reference, options, state, updateBound) {
2446
+ // Resize event listener on window
2447
+ state.updateBound = updateBound;
2448
+ getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
2449
+
2450
+ // Scroll event listener on scroll parents
2451
+ var scrollElement = getScrollParent(reference);
2452
+ attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
2453
+ state.scrollElement = scrollElement;
2454
+ state.eventsEnabled = true;
2455
+
2456
+ return state;
2457
+ }
2458
+
2459
+ /**
2460
+ * It will add resize/scroll events and start recalculating
2461
+ * position of the popper element when they are triggered.
2462
+ * @method
2463
+ * @memberof Popper
2464
+ */
2465
+ function enableEventListeners() {
2466
+ if (!this.state.eventsEnabled) {
2467
+ this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
2468
+ }
2469
+ }
2470
+
2471
+ /**
2472
+ * Remove event listeners used to update the popper position
2473
+ * @method
2474
+ * @memberof Popper.Utils
2475
+ * @private
2476
+ */
2477
+ function removeEventListeners(reference, state) {
2478
+ // Remove resize event listener on window
2479
+ getWindow(reference).removeEventListener('resize', state.updateBound);
2480
+
2481
+ // Remove scroll event listener on scroll parents
2482
+ state.scrollParents.forEach(function (target) {
2483
+ target.removeEventListener('scroll', state.updateBound);
2484
+ });
2485
+
2486
+ // Reset state
2487
+ state.updateBound = null;
2488
+ state.scrollParents = [];
2489
+ state.scrollElement = null;
2490
+ state.eventsEnabled = false;
2491
+ return state;
2492
+ }
2493
+
2494
+ /**
2495
+ * It will remove resize/scroll events and won't recalculate popper position
2496
+ * when they are triggered. It also won't trigger onUpdate callback anymore,
2497
+ * unless you call `update` method manually.
2498
+ * @method
2499
+ * @memberof Popper
2500
+ */
2501
+ function disableEventListeners() {
2502
+ if (this.state.eventsEnabled) {
2503
+ cancelAnimationFrame(this.scheduleUpdate);
2504
+ this.state = removeEventListeners(this.reference, this.state);
2505
+ }
2506
+ }
2507
+
2508
+ /**
2509
+ * Tells if a given input is a number
2510
+ * @method
2511
+ * @memberof Popper.Utils
2512
+ * @param {*} input to check
2513
+ * @return {Boolean}
2514
+ */
2515
+ function isNumeric(n) {
2516
+ return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
2517
  }
2518
 
2519
+ /**
2520
+ * Set the style to the given popper
2521
+ * @method
2522
+ * @memberof Popper.Utils
2523
+ * @argument {Element} element - Element to apply the style to
2524
+ * @argument {Object} styles
2525
+ * Object with a list of properties and values which will be applied to the element
2526
+ */
2527
+ function setStyles(element, styles) {
2528
+ Object.keys(styles).forEach(function (prop) {
2529
+ var unit = '';
2530
+ // add unit if the value is numeric and is one of the following
2531
+ if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
2532
+ unit = 'px';
2533
+ }
2534
+ element.style[prop] = styles[prop] + unit;
2535
+ });
2536
+ }
2537
+
2538
+ /**
2539
+ * Set the attributes to the given popper
2540
+ * @method
2541
+ * @memberof Popper.Utils
2542
+ * @argument {Element} element - Element to apply the attributes to
2543
+ * @argument {Object} styles
2544
+ * Object with a list of properties and values which will be applied to the element
2545
+ */
2546
+ function setAttributes(element, attributes) {
2547
+ Object.keys(attributes).forEach(function (prop) {
2548
+ var value = attributes[prop];
2549
+ if (value !== false) {
2550
+ element.setAttribute(prop, attributes[prop]);
2551
+ } else {
2552
+ element.removeAttribute(prop);
2553
+ }
2554
+ });
2555
+ }
2556
+
2557
+ /**
2558
+ * @function
2559
+ * @memberof Modifiers
2560
+ * @argument {Object} data - The data object generated by `update` method
2561
+ * @argument {Object} data.styles - List of style properties - values to apply to popper element
2562
+ * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
2563
+ * @argument {Object} options - Modifiers configuration and options
2564
+ * @returns {Object} The same data object
2565
+ */
2566
+ function applyStyle(data) {
2567
+ // any property present in `data.styles` will be applied to the popper,
2568
+ // in this way we can make the 3rd party modifiers add custom styles to it
2569
+ // Be aware, modifiers could override the properties defined in the previous
2570
+ // lines of this modifier!
2571
+ setStyles(data.instance.popper, data.styles);
2572
+
2573
+ // any property present in `data.attributes` will be applied to the popper,
2574
+ // they will be set as HTML attributes of the element
2575
+ setAttributes(data.instance.popper, data.attributes);
2576
+
2577
+ // if arrowElement is defined and arrowStyles has some properties
2578
+ if (data.arrowElement && Object.keys(data.arrowStyles).length) {
2579
+ setStyles(data.arrowElement, data.arrowStyles);
2580
+ }
2581
+
2582
  return data;
2583
  }
2584
 
2585
+ /**
2586
+ * Set the x-placement attribute before everything else because it could be used
2587
+ * to add margins to the popper margins needs to be calculated to get the
2588
+ * correct popper offsets.
2589
+ * @method
2590
+ * @memberof Popper.modifiers
2591
+ * @param {HTMLElement} reference - The reference element used to position the popper
2592
+ * @param {HTMLElement} popper - The HTML element used as popper
2593
+ * @param {Object} options - Popper.js options
2594
+ */
2595
+ function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
2596
+ // compute reference element offsets
2597
+ var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
2598
 
2599
+ // compute auto placement, store placement inside the data object,
2600
+ // modifiers will be able to edit `placement` if needed
2601
+ // and refer to originalPlacement to know the original value
2602
+ var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
2603
+
2604
+ popper.setAttribute('x-placement', placement);
2605
+
2606
+ // Apply `position` to popper before anything else because
2607
+ // without the position applied we can't guarantee correct computations
2608
+ setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
2609
+
2610
+ return options;
2611
+ }
2612
+
2613
+ /**
2614
+ * @function
2615
+ * @memberof Modifiers
2616
+ * @argument {Object} data - The data object generated by `update` method
2617
+ * @argument {Object} options - Modifiers configuration and options
2618
+ * @returns {Object} The data object, properly modified
2619
+ */
2620
+ function computeStyle(data, options) {
2621
+ var x = options.x,
2622
+ y = options.y;
2623
+ var popper = data.offsets.popper;
2624
+
2625
+ // Remove this legacy support in Popper.js v2
2626
+
2627
+ var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
2628
+ return modifier.name === 'applyStyle';
2629
+ }).gpuAcceleration;
2630
+ if (legacyGpuAccelerationOption !== undefined) {
2631
+ console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
2632
+ }
2633
+ var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
2634
+
2635
+ var offsetParent = getOffsetParent(data.instance.popper);
2636
+ var offsetParentRect = getBoundingClientRect(offsetParent);
2637
+
2638
+ // Styles
2639
+ var styles = {
2640
+ position: popper.position
2641
+ };
2642
+
2643
+ // floor sides to avoid blurry text
2644
+ var offsets = {
2645
+ left: Math.floor(popper.left),
2646
+ top: Math.floor(popper.top),
2647
+ bottom: Math.floor(popper.bottom),
2648
+ right: Math.floor(popper.right)
2649
+ };
2650
+
2651
+ var sideA = x === 'bottom' ? 'top' : 'bottom';
2652
+ var sideB = y === 'right' ? 'left' : 'right';
2653
+
2654
+ // if gpuAcceleration is set to `true` and transform is supported,
2655
+ // we use `translate3d` to apply the position to the popper we
2656
+ // automatically use the supported prefixed version if needed
2657
+ var prefixedProperty = getSupportedPropertyName('transform');
2658
+
2659
+ // now, let's make a step back and look at this code closely (wtf?)
2660
+ // If the content of the popper grows once it's been positioned, it
2661
+ // may happen that the popper gets misplaced because of the new content
2662
+ // overflowing its reference element
2663
+ // To avoid this problem, we provide two options (x and y), which allow
2664
+ // the consumer to define the offset origin.
2665
+ // If we position a popper on top of a reference element, we can set
2666
+ // `x` to `top` to make the popper grow towards its top instead of
2667
+ // its bottom.
2668
+ var left = void 0,
2669
+ top = void 0;
2670
+ if (sideA === 'bottom') {
2671
+ top = -offsetParentRect.height + offsets.bottom;
2672
+ } else {
2673
+ top = offsets.top;
2674
+ }
2675
+ if (sideB === 'right') {
2676
+ left = -offsetParentRect.width + offsets.right;
2677
+ } else {
2678
+ left = offsets.left;
2679
  }
2680
+ if (gpuAcceleration && prefixedProperty) {
2681
+ styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
2682
+ styles[sideA] = 0;
2683
+ styles[sideB] = 0;
2684
+ styles.willChange = 'transform';
2685
+ } else {
2686
+ // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
2687
+ var invertTop = sideA === 'bottom' ? -1 : 1;
2688
+ var invertLeft = sideB === 'right' ? -1 : 1;
2689
+ styles[sideA] = top * invertTop;
2690
+ styles[sideB] = left * invertLeft;
2691
+ styles.willChange = sideA + ', ' + sideB;
2692
+ }
2693
+
2694
+ // Attributes
2695
+ var attributes = {
2696
+ 'x-placement': data.placement
2697
+ };
2698
+
2699
+ // Update `data` attributes, styles and arrowStyles
2700
+ data.attributes = _extends({}, attributes, data.attributes);
2701
+ data.styles = _extends({}, styles, data.styles);
2702
+ data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
2703
+
2704
+ return data;
2705
+ }
2706
 
2707
+ /**
2708
+ * Helper used to know if the given modifier depends from another one.<br />
2709
+ * It checks if the needed modifier is listed and enabled.
2710
+ * @method
2711
+ * @memberof Popper.Utils
2712
+ * @param {Array} modifiers - list of modifiers
2713
+ * @param {String} requestingName - name of requesting modifier
2714
+ * @param {String} requestedName - name of requested modifier
2715
+ * @returns {Boolean}
2716
+ */
2717
+ function isModifierRequired(modifiers, requestingName, requestedName) {
2718
+ var requesting = find(modifiers, function (_ref) {
2719
+ var name = _ref.name;
2720
+ return name === requestingName;
2721
+ });
2722
+
2723
+ var isRequired = !!requesting && modifiers.some(function (modifier) {
2724
+ return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
2725
+ });
2726
+
2727
+ if (!isRequired) {
2728
+ var _requesting = '`' + requestingName + '`';
2729
+ var requested = '`' + requestedName + '`';
2730
+ console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
2731
+ }
2732
+ return isRequired;
2733
+ }
2734
+
2735
+ /**
2736
+ * @function
2737
+ * @memberof Modifiers
2738
+ * @argument {Object} data - The data object generated by update method
2739
+ * @argument {Object} options - Modifiers configuration and options
2740
+ * @returns {Object} The data object, properly modified
2741
+ */
2742
+ function arrow(data, options) {
2743
+ var _data$offsets$arrow;
2744
+
2745
+ // arrow depends on keepTogether in order to work
2746
+ if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
2747
  return data;
2748
  }
2749
 
2750
+ var arrowElement = options.element;
2751
+
2752
+ // if arrowElement is a string, suppose it's a CSS selector
2753
+ if (typeof arrowElement === 'string') {
2754
+ arrowElement = data.instance.popper.querySelector(arrowElement);
2755
+
2756
+ // if arrowElement is not found, don't run the modifier
2757
+ if (!arrowElement) {
2758
+ return data;
2759
+ }
2760
+ } else {
2761
+ // if the arrowElement isn't a query selector we must check that the
2762
+ // provided DOM node is child of its popper node
2763
+ if (!data.instance.popper.contains(arrowElement)) {
2764
+ console.warn('WARNING: `arrow.element` must be child of its popper element!');
2765
+ return data;
2766
+ }
2767
+ }
2768
+
2769
+ var placement = data.placement.split('-')[0];
2770
+ var _data$offsets = data.offsets,
2771
+ popper = _data$offsets.popper,
2772
+ reference = _data$offsets.reference;
2773
+
2774
+ var isVertical = ['left', 'right'].indexOf(placement) !== -1;
2775
+
2776
+ var len = isVertical ? 'height' : 'width';
2777
+ var sideCapitalized = isVertical ? 'Top' : 'Left';
2778
+ var side = sideCapitalized.toLowerCase();
2779
+ var altSide = isVertical ? 'left' : 'top';
2780
+ var opSide = isVertical ? 'bottom' : 'right';
2781
+ var arrowElementSize = getOuterSizes(arrowElement)[len];
2782
+
2783
+ //
2784
+ // extends keepTogether behavior making sure the popper and its
2785
+ // reference have enough pixels in conjuction
2786
+ //
2787
+
2788
+ // top/left side
2789
+ if (reference[opSide] - arrowElementSize < popper[side]) {
2790
+ data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
2791
+ }
2792
+ // bottom/right side
2793
+ if (reference[side] + arrowElementSize > popper[opSide]) {
2794
+ data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
2795
+ }
2796
+ data.offsets.popper = getClientRect(data.offsets.popper);
2797
+
2798
+ // compute center of the popper
2799
+ var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
2800
+
2801
+ // Compute the sideValue using the updated popper offsets
2802
+ // take popper margin in account because we don't have this info available
2803
+ var css = getStyleComputedProperty(data.instance.popper);
2804
+ var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
2805
+ var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
2806
+ var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
2807
+
2808
+ // prevent arrowElement from being placed not contiguously to its popper
2809
+ sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
2810
+
2811
+ data.arrowElement = arrowElement;
2812
+ data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
2813
+
2814
+ return data;
2815
  }
2816
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2817
  /**
2818
+ * Get the opposite placement variation of the given one
2819
+ * @method
2820
+ * @memberof Popper.Utils
2821
+ * @argument {String} placement variation
2822
+ * @returns {String} flipped placement variation
 
2823
  */
2824
+ function getOppositeVariation(variation) {
2825
+ if (variation === 'end') {
2826
+ return 'start';
2827
+ } else if (variation === 'start') {
2828
+ return 'end';
2829
+ }
2830
+ return variation;
2831
+ }
2832
 
2833
  /**
2834
+ * List of accepted placements to use as values of the `placement` option.<br />
2835
+ * Valid placements are:
2836
+ * - `auto`
2837
+ * - `top`
2838
+ * - `right`
2839
+ * - `bottom`
2840
+ * - `left`
 
2841
  *
2842
+ * Each placement can have a variation from this list:
2843
+ * - `-start`
2844
+ * - `-end`
2845
  *
2846
+ * Variations are interpreted easily if you think of them as the left to right
2847
+ * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
2848
+ * is right.<br />
2849
+ * Vertically (`left` and `right`), `start` is top and `end` is bottom.
 
 
2850
  *
2851
+ * Some valid examples are:
2852
+ * - `top-end` (on top of reference, right aligned)
2853
+ * - `right-start` (on right of reference, top aligned)
2854
+ * - `bottom` (on bottom, centered)
2855
+ * - `auto-right` (on the side with more space available, alignment depends by placement)
 
 
 
 
 
 
 
 
2856
  *
2857
+ * @static
2858
+ * @type {Array}
2859
+ * @enum {String}
2860
+ * @readonly
2861
+ * @method placements
2862
+ * @memberof Popper
2863
  */
2864
+ var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
2865
+
2866
+ // Get rid of `auto` `auto-start` and `auto-end`
2867
+ var validPlacements = placements.slice(3);
 
 
 
 
 
 
 
 
2868
 
2869
  /**
2870
+ * Given an initial placement, returns all the subsequent placements
2871
+ * clockwise (or counter-clockwise).
 
 
 
2872
  *
2873
+ * @method
2874
+ * @memberof Popper.Utils
2875
+ * @argument {String} placement - A valid placement (it accepts variations)
2876
+ * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
2877
+ * @returns {Array} placements including their variations
 
 
 
 
2878
  */
2879
+ function clockwise(placement) {
2880
+ var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2881
+
2882
+ var index = validPlacements.indexOf(placement);
2883
+ var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
2884
+ return counter ? arr.reverse() : arr;
2885
+ }
2886
+
2887
+ var BEHAVIORS = {
2888
+ FLIP: 'flip',
2889
+ CLOCKWISE: 'clockwise',
2890
+ COUNTERCLOCKWISE: 'counterclockwise'
2891
+ };
2892
+
2893
+ /**
2894
+ * @function
2895
+ * @memberof Modifiers
2896
+ * @argument {Object} data - The data object generated by update method
2897
+ * @argument {Object} options - Modifiers configuration and options
2898
+ * @returns {Object} The data object, properly modified
2899
+ */
2900
+ function flip(data, options) {
2901
+ // if `inner` modifier is enabled, we can't use the `flip` modifier
2902
+ if (isModifierEnabled(data.instance.modifiers, 'inner')) {
2903
+ return data;
2904
+ }
2905
+
2906
+ if (data.flipped && data.placement === data.originalPlacement) {
2907
+ // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
2908
+ return data;
2909
+ }
2910
+
2911
+ var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
2912
+
2913
+ var placement = data.placement.split('-')[0];
2914
+ var placementOpposite = getOppositePlacement(placement);
2915
+ var variation = data.placement.split('-')[1] || '';
2916
+
2917
+ var flipOrder = [];
2918
+
2919
+ switch (options.behavior) {
2920
+ case BEHAVIORS.FLIP:
2921
+ flipOrder = [placement, placementOpposite];
2922
+ break;
2923
+ case BEHAVIORS.CLOCKWISE:
2924
+ flipOrder = clockwise(placement);
2925
+ break;
2926
+ case BEHAVIORS.COUNTERCLOCKWISE:
2927
+ flipOrder = clockwise(placement, true);
2928
+ break;
2929
+ default:
2930
+ flipOrder = options.behavior;
2931
+ }
2932
+
2933
+ flipOrder.forEach(function (step, index) {
2934
+ if (placement !== step || flipOrder.length === index + 1) {
2935
+ return data;
2936
+ }
2937
+
2938
+ placement = data.placement.split('-')[0];
2939
+ placementOpposite = getOppositePlacement(placement);
2940
+
2941
+ var popperOffsets = data.offsets.popper;
2942
+ var refOffsets = data.offsets.reference;
2943
+
2944
+ // using floor because the reference offsets may contain decimals we are not going to consider here
2945
+ var floor = Math.floor;
2946
+ var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
2947
+
2948
+ var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
2949
+ var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
2950
+ var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
2951
+ var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
2952
+
2953
+ var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
2954
+
2955
+ // flip the variation if required
2956
+ var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
2957
+ var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
2958
+
2959
+ if (overlapsRef || overflowsBoundaries || flippedVariation) {
2960
+ // this boolean to detect any flip loop
2961
+ data.flipped = true;
2962
+
2963
+ if (overlapsRef || overflowsBoundaries) {
2964
+ placement = flipOrder[index + 1];
2965
+ }
2966
+
2967
+ if (flippedVariation) {
2968
+ variation = getOppositeVariation(variation);
2969
+ }
2970
+
2971
+ data.placement = placement + (variation ? '-' + variation : '');
2972
+
2973
+ // this object contains `position`, we want to preserve it along with
2974
+ // any additional property we may add in the future
2975
+ data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
2976
+
2977
+ data = runModifiers(data.instance.modifiers, data, 'flip');
2978
+ }
2979
+ });
2980
+ return data;
2981
+ }
2982
 
2983
  /**
2984
+ * @function
2985
+ * @memberof Modifiers
2986
+ * @argument {Object} data - The data object generated by update method
2987
+ * @argument {Object} options - Modifiers configuration and options
2988
+ * @returns {Object} The data object, properly modified
 
 
2989
  */
2990
+ function keepTogether(data) {
2991
+ var _data$offsets = data.offsets,
2992
+ popper = _data$offsets.popper,
2993
+ reference = _data$offsets.reference;
2994
+
2995
+ var placement = data.placement.split('-')[0];
2996
+ var floor = Math.floor;
2997
+ var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
2998
+ var side = isVertical ? 'right' : 'bottom';
2999
+ var opSide = isVertical ? 'left' : 'top';
3000
+ var measurement = isVertical ? 'width' : 'height';
3001
+
3002
+ if (popper[side] < floor(reference[opSide])) {
3003
+ data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
3004
+ }
3005
+ if (popper[opSide] > floor(reference[side])) {
3006
+ data.offsets.popper[opSide] = floor(reference[side]);
3007
+ }
3008
+
3009
+ return data;
3010
+ }
3011
 
3012
  /**
3013
+ * Converts a string containing value + unit into a px value number
3014
+ * @function
3015
+ * @memberof {modifiers~offset}
3016
+ * @private
3017
+ * @argument {String} str - Value + unit string
3018
+ * @argument {String} measurement - `height` or `width`
3019
+ * @argument {Object} popperOffsets
3020
+ * @argument {Object} referenceOffsets
3021
+ * @returns {Number|String}
3022
+ * Value in pixels, or original string if no values were extracted
3023
  */
3024
+ function toValue(str, measurement, popperOffsets, referenceOffsets) {
3025
+ // separate value from unit
3026
+ var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
3027
+ var value = +split[1];
3028
+ var unit = split[2];
3029
+
3030
+ // If it's not a number it's an operator, I guess
3031
+ if (!value) {
3032
+ return str;
3033
+ }
3034
+
3035
+ if (unit.indexOf('%') === 0) {
3036
+ var element = void 0;
3037
+ switch (unit) {
3038
+ case '%p':
3039
+ element = popperOffsets;
3040
+ break;
3041
+ case '%':
3042
+ case '%r':
3043
+ default:
3044
+ element = referenceOffsets;
3045
+ }
3046
+
3047
+ var rect = getClientRect(element);
3048
+ return rect[measurement] / 100 * value;
3049
+ } else if (unit === 'vh' || unit === 'vw') {
3050
+ // if is a vh or vw, we calculate the size based on the viewport
3051
+ var size = void 0;
3052
+ if (unit === 'vh') {
3053
+ size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
3054
+ } else {
3055
+ size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
3056
+ }
3057
+ return size / 100 * value;
3058
+ } else {
3059
+ // if is an explicit pixel unit, we get rid of the unit and keep the value
3060
+ // if is an implicit unit, it's px, and we return just the value
3061
+ return value;
3062
+ }
3063
+ }
3064
 
3065
  /**
3066
+ * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
3067
+ * @function
3068
+ * @memberof {modifiers~offset}
3069
+ * @private
3070
+ * @argument {String} offset
3071
+ * @argument {Object} popperOffsets
3072
+ * @argument {Object} referenceOffsets
3073
+ * @argument {String} basePlacement
3074
+ * @returns {Array} a two cells array with x and y offsets in numbers
3075
  */
3076
+ function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
3077
+ var offsets = [0, 0];
3078
+
3079
+ // Use height if placement is left or right and index is 0 otherwise use width
3080
+ // in this way the first offset will use an axis and the second one
3081
+ // will use the other one
3082
+ var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
3083
+
3084
+ // Split the offset string to obtain a list of values and operands
3085
+ // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
3086
+ var fragments = offset.split(/(\+|\-)/).map(function (frag) {
3087
+ return frag.trim();
3088
+ });
3089
+
3090
+ // Detect if the offset string contains a pair of values or a single one
3091
+ // they could be separated by comma or space
3092
+ var divider = fragments.indexOf(find(fragments, function (frag) {
3093
+ return frag.search(/,|\s/) !== -1;
3094
+ }));
3095
+
3096
+ if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
3097
+ console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
3098
+ }
3099
+
3100
+ // If divider is found, we divide the list of values and operands to divide
3101
+ // them by ofset X and Y.
3102
+ var splitRegex = /\s*,\s*|\s+/;
3103
+ var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
3104
+
3105
+ // Convert the values with units to absolute pixels to allow our computations
3106
+ ops = ops.map(function (op, index) {
3107
+ // Most of the units rely on the orientation of the popper
3108
+ var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
3109
+ var mergeWithPrevious = false;
3110
+ return op
3111
+ // This aggregates any `+` or `-` sign that aren't considered operators
3112
+ // e.g.: 10 + +5 => [10, +, +5]
3113
+ .reduce(function (a, b) {
3114
+ if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
3115
+ a[a.length - 1] = b;
3116
+ mergeWithPrevious = true;
3117
+ return a;
3118
+ } else if (mergeWithPrevious) {
3119
+ a[a.length - 1] += b;
3120
+ mergeWithPrevious = false;
3121
+ return a;
3122
+ } else {
3123
+ return a.concat(b);
3124
+ }
3125
+ }, [])
3126
+ // Here we convert the string values into number values (in px)
3127
+ .map(function (str) {
3128
+ return toValue(str, measurement, popperOffsets, referenceOffsets);
3129
+ });
3130
+ });
3131
+
3132
+ // Loop trough the offsets arrays and execute the operations
3133
+ ops.forEach(function (op, index) {
3134
+ op.forEach(function (frag, index2) {
3135
+ if (isNumeric(frag)) {
3136
+ offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
3137
+ }
3138
+ });
3139
+ });
3140
+ return offsets;
3141
+ }
3142
 
3143
  /**
3144
+ * @function
3145
+ * @memberof Modifiers
3146
+ * @argument {Object} data - The data object generated by update method
3147
+ * @argument {Object} options - Modifiers configuration and options
3148
+ * @argument {Number|String} options.offset=0
3149
+ * The offset value as described in the modifier description
3150
+ * @returns {Object} The data object, properly modified
3151
  */
3152
+ function offset(data, _ref) {
3153
+ var offset = _ref.offset;
3154
+ var placement = data.placement,
3155
+ _data$offsets = data.offsets,
3156
+ popper = _data$offsets.popper,
3157
+ reference = _data$offsets.reference;
3158
+
3159
+ var basePlacement = placement.split('-')[0];
3160
+
3161
+ var offsets = void 0;
3162
+ if (isNumeric(+offset)) {
3163
+ offsets = [+offset, 0];
3164
+ } else {
3165
+ offsets = parseOffset(offset, popper, reference, basePlacement);
3166
+ }
3167
+
3168
+ if (basePlacement === 'left') {
3169
+ popper.top += offsets[0];
3170
+ popper.left -= offsets[1];
3171
+ } else if (basePlacement === 'right') {
3172
+ popper.top += offsets[0];
3173
+ popper.left += offsets[1];
3174
+ } else if (basePlacement === 'top') {
3175
+ popper.left += offsets[0];
3176
+ popper.top -= offsets[1];
3177
+ } else if (basePlacement === 'bottom') {
3178
+ popper.left += offsets[0];
3179
+ popper.top += offsets[1];
3180
+ }
3181
+
3182
+ data.popper = popper;
3183
+ return data;
3184
+ }
3185
 
3186
  /**
3187
+ * @function
3188
+ * @memberof Modifiers
3189
+ * @argument {Object} data - The data object generated by `update` method
3190
+ * @argument {Object} options - Modifiers configuration and options
3191
+ * @returns {Object} The data object, properly modified
 
 
 
3192
  */
3193
+ function preventOverflow(data, options) {
3194
+ var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
3195
+
3196
+ // If offsetParent is the reference element, we really want to
3197
+ // go one step up and use the next offsetParent as reference to
3198
+ // avoid to make this modifier completely useless and look like broken
3199
+ if (data.instance.reference === boundariesElement) {
3200
+ boundariesElement = getOffsetParent(boundariesElement);
3201
+ }
3202
+
3203
+ var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
3204
+ options.boundaries = boundaries;
3205
+
3206
+ var order = options.priority;
3207
+ var popper = data.offsets.popper;
3208
+
3209
+ var check = {
3210
+ primary: function primary(placement) {
3211
+ var value = popper[placement];
3212
+ if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
3213
+ value = Math.max(popper[placement], boundaries[placement]);
3214
+ }
3215
+ return defineProperty({}, placement, value);
3216
+ },
3217
+ secondary: function secondary(placement) {
3218
+ var mainSide = placement === 'right' ? 'left' : 'top';
3219
+ var value = popper[mainSide];
3220
+ if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
3221
+ value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
3222
+ }
3223
+ return defineProperty({}, mainSide, value);
3224
+ }
3225
+ };
3226
+
3227
+ order.forEach(function (placement) {
3228
+ var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
3229
+ popper = _extends({}, popper, check[side](placement));
3230
+ });
3231
+
3232
+ data.offsets.popper = popper;
3233
+
3234
+ return data;
3235
+ }
3236
 
3237
  /**
3238
+ * @function
3239
+ * @memberof Modifiers
3240
+ * @argument {Object} data - The data object generated by `update` method
3241
+ * @argument {Object} options - Modifiers configuration and options
3242
+ * @returns {Object} The data object, properly modified
3243
+ */
3244
+ function shift(data) {
3245
+ var placement = data.placement;
3246
+ var basePlacement = placement.split('-')[0];
3247
+ var shiftvariation = placement.split('-')[1];
3248
+
3249
+ // if shift shiftvariation is specified, run the modifier
3250
+ if (shiftvariation) {
3251
+ var _data$offsets = data.offsets,
3252
+ reference = _data$offsets.reference,
3253
+ popper = _data$offsets.popper;
3254
+
3255
+ var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
3256
+ var side = isVertical ? 'left' : 'top';
3257
+ var measurement = isVertical ? 'width' : 'height';
3258
+
3259
+ var shiftOffsets = {
3260
+ start: defineProperty({}, side, reference[side]),
3261
+ end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
3262
+ };
3263
+
3264
+ data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
3265
+ }
3266
+
3267
+ return data;
3268
+ }
3269
+
3270
+ /**
3271
+ * @function
3272
+ * @memberof Modifiers
3273
+ * @argument {Object} data - The data object generated by update method
3274
+ * @argument {Object} options - Modifiers configuration and options
3275
+ * @returns {Object} The data object, properly modified
3276
+ */
3277
+ function hide(data) {
3278
+ if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
3279
+ return data;
3280
+ }
3281
+
3282
+ var refRect = data.offsets.reference;
3283
+ var bound = find(data.instance.modifiers, function (modifier) {
3284
+ return modifier.name === 'preventOverflow';
3285
+ }).boundaries;
3286
+
3287
+ if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
3288
+ // Avoid unnecessary DOM access if visibility hasn't changed
3289
+ if (data.hide === true) {
3290
+ return data;
3291
+ }
3292
+
3293
+ data.hide = true;
3294
+ data.attributes['x-out-of-boundaries'] = '';
3295
+ } else {
3296
+ // Avoid unnecessary DOM access if visibility hasn't changed
3297
+ if (data.hide === false) {
3298
+ return data;
3299
+ }
3300
+
3301
+ data.hide = false;
3302
+ data.attributes['x-out-of-boundaries'] = false;
3303
+ }
3304
+
3305
+ return data;
3306
+ }
3307
+
3308
+ /**
3309
+ * @function
3310
+ * @memberof Modifiers
3311
+ * @argument {Object} data - The data object generated by `update` method
3312
+ * @argument {Object} options - Modifiers configuration and options
3313
+ * @returns {Object} The data object, properly modified
3314
+ */
3315
+ function inner(data) {
3316
+ var placement = data.placement;
3317
+ var basePlacement = placement.split('-')[0];
3318
+ var _data$offsets = data.offsets,
3319
+ popper = _data$offsets.popper,
3320
+ reference = _data$offsets.reference;
3321
+
3322
+ var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
3323
+
3324
+ var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
3325
+
3326
+ popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
3327
+
3328
+ data.placement = getOppositePlacement(placement);
3329
+ data.offsets.popper = getClientRect(popper);
3330
+
3331
+ return data;
3332
+ }
3333
+
3334
+ /**
3335
+ * Modifier function, each modifier can have a function of this type assigned
3336
+ * to its `fn` property.<br />
3337
+ * These functions will be called on each update, this means that you must
3338
+ * make sure they are performant enough to avoid performance bottlenecks.
3339
  *
3340
+ * @function ModifierFn
3341
+ * @argument {dataObject} data - The data object generated by `update` method
3342
+ * @argument {Object} options - Modifiers configuration and options
3343
+ * @returns {dataObject} The data object, properly modified
3344
+ */
3345
+
3346
+ /**
3347
+ * Modifiers are plugins used to alter the behavior of your poppers.<br />
3348
+ * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
3349
+ * needed by the library.
3350
  *
3351
+ * Usually you don't want to override the `order`, `fn` and `onLoad` props.
3352
+ * All the other properties are configurations that could be tweaked.
3353
+ * @namespace modifiers
3354
  */
3355
+ var modifiers = {
 
 
 
 
 
 
3356
  /**
3357
+ * Modifier used to shift the popper on the start or end of its reference
3358
+ * element.<br />
3359
+ * It will read the variation of the `placement` property.<br />
3360
+ * It can be one either `-end` or `-start`.
3361
+ * @memberof modifiers
3362
+ * @inner
3363
  */
3364
+ shift: {
3365
+ /** @prop {number} order=100 - Index used to define the order of execution */
3366
+ order: 100,
3367
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3368
+ enabled: true,
3369
+ /** @prop {ModifierFn} */
3370
+ fn: shift
3371
+ },
3372
+
3373
  /**
3374
+ * The `offset` modifier can shift your popper on both its axis.
3375
+ *
3376
+ * It accepts the following units:
3377
+ * - `px` or unitless, interpreted as pixels
3378
+ * - `%` or `%r`, percentage relative to the length of the reference element
3379
+ * - `%p`, percentage relative to the length of the popper element
3380
+ * - `vw`, CSS viewport width unit
3381
+ * - `vh`, CSS viewport height unit
3382
+ *
3383
+ * For length is intended the main axis relative to the placement of the popper.<br />
3384
+ * This means that if the placement is `top` or `bottom`, the length will be the
3385
+ * `width`. In case of `left` or `right`, it will be the height.
3386
+ *
3387
+ * You can provide a single value (as `Number` or `String`), or a pair of values
3388
+ * as `String` divided by a comma or one (or more) white spaces.<br />
3389
+ * The latter is a deprecated method because it leads to confusion and will be
3390
+ * removed in v2.<br />
3391
+ * Additionally, it accepts additions and subtractions between different units.
3392
+ * Note that multiplications and divisions aren't supported.
3393
+ *
3394
+ * Valid examples are:
3395
+ * ```
3396
+ * 10
3397
+ * '10%'
3398
+ * '10, 10'
3399
+ * '10%, 10'
3400
+ * '10 + 10%'
3401
+ * '10 - 5vh + 3%'
3402
+ * '-10px + 5vh, 5px - 6%'
3403
+ * ```
3404
+ * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
3405
+ * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
3406
+ * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
3407
+ *
3408
+ * @memberof modifiers
3409
+ * @inner
3410
  */
3411
+ offset: {
3412
+ /** @prop {number} order=200 - Index used to define the order of execution */
3413
+ order: 200,
3414
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3415
+ enabled: true,
3416
+ /** @prop {ModifierFn} */
3417
+ fn: offset,
3418
+ /** @prop {Number|String} offset=0
3419
+ * The offset value as described in the modifier description
3420
+ */
3421
+ offset: 0
3422
+ },
3423
+
3424
  /**
3425
+ * Modifier used to prevent the popper from being positioned outside the boundary.
3426
+ *
3427
+ * An scenario exists where the reference itself is not within the boundaries.<br />
3428
+ * We can say it has "escaped the boundaries" — or just "escaped".<br />
3429
+ * In this case we need to decide whether the popper should either:
3430
+ *
3431
+ * - detach from the reference and remain "trapped" in the boundaries, or
3432
+ * - if it should ignore the boundary and "escape with its reference"
3433
+ *
3434
+ * When `escapeWithReference` is set to`true` and reference is completely
3435
+ * outside its boundaries, the popper will overflow (or completely leave)
3436
+ * the boundaries in order to remain attached to the edge of the reference.
3437
+ *
3438
+ * @memberof modifiers
3439
+ * @inner
3440
  */
3441
+ preventOverflow: {
3442
+ /** @prop {number} order=300 - Index used to define the order of execution */
3443
+ order: 300,
3444
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3445
+ enabled: true,
3446
+ /** @prop {ModifierFn} */
3447
+ fn: preventOverflow,
3448
+ /**
3449
+ * @prop {Array} [priority=['left','right','top','bottom']]
3450
+ * Popper will try to prevent overflow following these priorities by default,
3451
+ * then, it could overflow on the left and on top of the `boundariesElement`
3452
+ */
3453
+ priority: ['left', 'right', 'top', 'bottom'],
3454
+ /**
3455
+ * @prop {number} padding=5
3456
+ * Amount of pixel used to define a minimum distance between the boundaries
3457
+ * and the popper this makes sure the popper has always a little padding
3458
+ * between the edges of its container
3459
+ */
3460
+ padding: 5,
3461
+ /**
3462
+ * @prop {String|HTMLElement} boundariesElement='scrollParent'
3463
+ * Boundaries used by the modifier, can be `scrollParent`, `window`,
3464
+ * `viewport` or any DOM element.
3465
+ */
3466
+ boundariesElement: 'scrollParent'
3467
+ },
3468
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3469
  /**
3470
+ * Modifier used to make sure the reference and its popper stay near eachothers
3471
+ * without leaving any gap between the two. Expecially useful when the arrow is
3472
+ * enabled and you want to assure it to point to its reference element.
3473
+ * It cares only about the first axis, you can still have poppers with margin
3474
+ * between the popper and its reference element.
3475
+ * @memberof modifiers
3476
+ * @inner
3477
  */
3478
+ keepTogether: {
3479
+ /** @prop {number} order=400 - Index used to define the order of execution */
3480
+ order: 400,
3481
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3482
+ enabled: true,
3483
+ /** @prop {ModifierFn} */
3484
+ fn: keepTogether
3485
+ },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3486
 
3487
+ /**
3488
+ * This modifier is used to move the `arrowElement` of the popper to make
3489
+ * sure it is positioned between the reference element and its popper element.
3490
+ * It will read the outer size of the `arrowElement` node to detect how many
3491
+ * pixels of conjuction are needed.
3492
+ *
3493
+ * It has no effect if no `arrowElement` is provided.
3494
+ * @memberof modifiers
3495
+ * @inner
3496
+ */
3497
+ arrow: {
3498
+ /** @prop {number} order=500 - Index used to define the order of execution */
3499
+ order: 500,
3500
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3501
+ enabled: true,
3502
+ /** @prop {ModifierFn} */
3503
+ fn: arrow,
3504
+ /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
3505
+ element: '[x-arrow]'
3506
+ },
3507
 
3508
+ /**
3509
+ * Modifier used to flip the popper's placement when it starts to overlap its
3510
+ * reference element.
3511
+ *
3512
+ * Requires the `preventOverflow` modifier before it in order to work.
3513
+ *
3514
+ * **NOTE:** this modifier will interrupt the current update cycle and will
3515
+ * restart it if it detects the need to flip the placement.
3516
+ * @memberof modifiers
3517
+ * @inner
3518
+ */
3519
+ flip: {
3520
+ /** @prop {number} order=600 - Index used to define the order of execution */
3521
+ order: 600,
3522
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3523
+ enabled: true,
3524
+ /** @prop {ModifierFn} */
3525
+ fn: flip,
3526
+ /**
3527
+ * @prop {String|Array} behavior='flip'
3528
+ * The behavior used to change the popper's placement. It can be one of
3529
+ * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
3530
+ * placements (with optional variations).
3531
+ */
3532
+ behavior: 'flip',
3533
+ /**
3534
+ * @prop {number} padding=5
3535
+ * The popper will flip if it hits the edges of the `boundariesElement`
3536
+ */
3537
+ padding: 5,
3538
+ /**
3539
+ * @prop {String|HTMLElement} boundariesElement='viewport'
3540
+ * The element which will define the boundaries of the popper position,
3541
+ * the popper will never be placed outside of the defined boundaries
3542
+ * (except if keepTogether is enabled)
3543
+ */
3544
+ boundariesElement: 'viewport'
3545
+ },
3546
+
3547
+ /**
3548
+ * Modifier used to make the popper flow toward the inner of the reference element.
3549
+ * By default, when this modifier is disabled, the popper will be placed outside
3550
+ * the reference element.
3551
+ * @memberof modifiers
3552
+ * @inner
3553
+ */
3554
+ inner: {
3555
+ /** @prop {number} order=700 - Index used to define the order of execution */
3556
+ order: 700,
3557
+ /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
3558
+ enabled: false,
3559
+ /** @prop {ModifierFn} */
3560
+ fn: inner
3561
+ },
3562
+
3563
+ /**
3564
+ * Modifier used to hide the popper when its reference element is outside of the
3565
+ * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
3566
+ * be used to hide with a CSS selector the popper when its reference is
3567
+ * out of boundaries.
3568
+ *
3569
+ * Requires the `preventOverflow` modifier before it in order to work.
3570
+ * @memberof modifiers
3571
+ * @inner
3572
+ */
3573
+ hide: {
3574
+ /** @prop {number} order=800 - Index used to define the order of execution */
3575
+ order: 800,
3576
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3577
+ enabled: true,
3578
+ /** @prop {ModifierFn} */
3579
+ fn: hide
3580
+ },
3581
+
3582
+ /**
3583
+ * Computes the style that will be applied to the popper element to gets
3584
+ * properly positioned.
3585
+ *
3586
+ * Note that this modifier will not touch the DOM, it just prepares the styles
3587
+ * so that `applyStyle` modifier can apply it. This separation is useful
3588
+ * in case you need to replace `applyStyle` with a custom implementation.
3589
+ *
3590
+ * This modifier has `850` as `order` value to maintain backward compatibility
3591
+ * with previous versions of Popper.js. Expect the modifiers ordering method
3592
+ * to change in future major versions of the library.
3593
+ *
3594
+ * @memberof modifiers
3595
+ * @inner
3596
+ */
3597
+ computeStyle: {
3598
+ /** @prop {number} order=850 - Index used to define the order of execution */
3599
+ order: 850,
3600
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3601
+ enabled: true,
3602
+ /** @prop {ModifierFn} */
3603
+ fn: computeStyle,
3604
+ /**
3605
+ * @prop {Boolean} gpuAcceleration=true
3606
+ * If true, it uses the CSS 3d transformation to position the popper.
3607
+ * Otherwise, it will use the `top` and `left` properties.
3608
+ */
3609
+ gpuAcceleration: true,
3610
+ /**
3611
+ * @prop {string} [x='bottom']
3612
+ * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
3613
+ * Change this if your popper should grow in a direction different from `bottom`
3614
+ */
3615
+ x: 'bottom',
3616
+ /**
3617
+ * @prop {string} [x='left']
3618
+ * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
3619
+ * Change this if your popper should grow in a direction different from `right`
3620
+ */
3621
+ y: 'right'
3622
+ },
3623
+
3624
+ /**
3625
+ * Applies the computed styles to the popper element.
3626
+ *
3627
+ * All the DOM manipulations are limited to this modifier. This is useful in case
3628
+ * you want to integrate Popper.js inside a framework or view library and you
3629
+ * want to delegate all the DOM manipulations to it.
3630
+ *
3631
+ * Note that if you disable this modifier, you must make sure the popper element
3632
+ * has its position set to `absolute` before Popper.js can do its work!
3633
+ *
3634
+ * Just disable this modifier and define you own to achieve the desired effect.
3635
+ *
3636
+ * @memberof modifiers
3637
+ * @inner
3638
+ */
3639
+ applyStyle: {
3640
+ /** @prop {number} order=900 - Index used to define the order of execution */
3641
+ order: 900,
3642
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
3643
+ enabled: true,
3644
+ /** @prop {ModifierFn} */
3645
+ fn: applyStyle,
3646
+ /** @prop {Function} */
3647
+ onLoad: applyStyleOnLoad,
3648
+ /**
3649
+ * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
3650
+ * @prop {Boolean} gpuAcceleration=true
3651
+ * If true, it uses the CSS 3d transformation to position the popper.
3652
+ * Otherwise, it will use the `top` and `left` properties.
3653
+ */
3654
+ gpuAcceleration: undefined
3655
+ }
3656
+ };
3657
 
3658
  /**
3659
+ * The `dataObject` is an object containing all the informations used by Popper.js
3660
+ * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
3661
+ * @name dataObject
3662
+ * @property {Object} data.instance The Popper.js instance
3663
+ * @property {String} data.placement Placement applied to popper
3664
+ * @property {String} data.originalPlacement Placement originally defined on init
3665
+ * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
3666
+ * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
3667
+ * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
3668
+ * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
3669
+ * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
3670
+ * @property {Object} data.boundaries Offsets of the popper boundaries
3671
+ * @property {Object} data.offsets The measurements of popper, reference and arrow elements.
3672
+ * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
3673
+ * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
3674
+ * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
3675
  */
 
3676
 
3677
  /**
3678
+ * Default options provided to Popper.js constructor.<br />
3679
+ * These can be overriden using the `options` argument of Popper.js.<br />
3680
+ * To override an option, simply pass as 3rd argument an object with the same
3681
+ * structure of this object, example:
3682
+ * ```
3683
+ * new Popper(ref, pop, {
3684
+ * modifiers: {
3685
+ * preventOverflow: { enabled: false }
3686
+ * }
3687
+ * })
3688
+ * ```
3689
+ * @type {Object}
3690
+ * @static
3691
+ * @memberof Popper
3692
  */
3693
+ var Defaults = {
3694
+ /**
3695
+ * Popper's placement
3696
+ * @prop {Popper.placements} placement='bottom'
3697
+ */
3698
+ placement: 'bottom',
3699
+
3700
+ /**
3701
+ * Set this to true if you want popper to position it self in 'fixed' mode
3702
+ * @prop {Boolean} positionFixed=false
3703
+ */
3704
+ positionFixed: false,
3705
+
3706
+ /**
3707
+ * Whether events (resize, scroll) are initially enabled
3708
+ * @prop {Boolean} eventsEnabled=true
3709
+ */
3710
+ eventsEnabled: true,
3711
+
3712
+ /**
3713
+ * Set to true if you want to automatically remove the popper when
3714
+ * you call the `destroy` method.
3715
+ * @prop {Boolean} removeOnDestroy=false
3716
+ */
3717
+ removeOnDestroy: false,
3718
+
3719
+ /**
3720
+ * Callback called when the popper is created.<br />
3721
+ * By default, is set to no-op.<br />
3722
+ * Access Popper.js instance with `data.instance`.
3723
+ * @prop {onCreate}
3724
+ */
3725
+ onCreate: function onCreate() {},
3726
+
3727
+ /**
3728
+ * Callback called when the popper is updated, this callback is not called
3729
+ * on the initialization/creation of the popper, but only on subsequent
3730
+ * updates.<br />
3731
+ * By default, is set to no-op.<br />
3732
+ * Access Popper.js instance with `data.instance`.
3733
+ * @prop {onUpdate}
3734
+ */
3735
+ onUpdate: function onUpdate() {},
3736
+
3737
+ /**
3738
+ * List of modifiers used to modify the offsets before they are applied to the popper.
3739
+ * They provide most of the functionalities of Popper.js
3740
+ * @prop {modifiers}
3741
+ */
3742
+ modifiers: modifiers
3743
+ };
3744
 
3745
  /**
3746
+ * @callback onCreate
3747
+ * @param {dataObject} data
 
3748
  */
3749
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3750
  /**
3751
+ * @callback onUpdate
3752
+ * @param {dataObject} data
 
 
 
 
3753
  */
 
 
3754
 
3755
+ // Utils
3756
+ // Methods
3757
+ var Popper = function () {
3758
+ /**
3759
+ * Create a new Popper.js instance
3760
+ * @class Popper
3761
+ * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
3762
+ * @param {HTMLElement} popper - The HTML element used as popper.
3763
+ * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
3764
+ * @return {Object} instance - The generated Popper.js instance
3765
+ */
3766
+ function Popper(reference, popper) {
3767
+ var _this = this;
3768
+
3769
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
3770
+ classCallCheck(this, Popper);
3771
+
3772
+ this.scheduleUpdate = function () {
3773
+ return requestAnimationFrame(_this.update);
3774
+ };
3775
+
3776
+ // make update() debounced, so that it only runs at most once-per-tick
3777
+ this.update = debounce(this.update.bind(this));
3778
 
3779
+ // with {} we create a new object with the options inside it
3780
+ this.options = _extends({}, Popper.Defaults, options);
 
3781
 
3782
+ // init state
3783
+ this.state = {
3784
+ isDestroyed: false,
3785
+ isCreated: false,
3786
+ scrollParents: []
3787
+ };
3788
 
3789
+ // get reference and popper elements (allow jQuery wrappers)
3790
+ this.reference = reference && reference.jquery ? reference[0] : reference;
3791
+ this.popper = popper && popper.jquery ? popper[0] : popper;
3792
 
3793
+ // Deep merge modifiers options
3794
+ this.options.modifiers = {};
3795
+ Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
3796
+ _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
3797
+ });
 
3798
 
3799
+ // Refactoring modifiers' list (Object => Array)
3800
+ this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
3801
+ return _extends({
3802
+ name: name
3803
+ }, _this.options.modifiers[name]);
3804
+ })
3805
+ // sort the modifiers by order
3806
+ .sort(function (a, b) {
3807
+ return a.order - b.order;
3808
+ });
3809
 
3810
+ // modifiers have the ability to execute arbitrary code when Popper.js get inited
3811
+ // such code is executed in the same order of its modifier
3812
+ // they could add new properties to their options configuration
3813
+ // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
3814
+ this.modifiers.forEach(function (modifierOptions) {
3815
+ if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
3816
+ modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
3817
+ }
3818
+ });
3819
 
3820
+ // fire the first update to position the popper in the right place
3821
+ this.update();
 
 
 
 
 
 
 
 
3822
 
3823
+ var eventsEnabled = this.options.eventsEnabled;
3824
+ if (eventsEnabled) {
3825
+ // setup event listeners, they will take care of update the position in specific situations
3826
+ this.enableEventListeners();
 
 
 
3827
  }
 
 
 
 
3828
 
3829
+ this.state.eventsEnabled = eventsEnabled;
 
 
 
3830
  }
3831
 
3832
+ // We can't use class properties because they don't get listed in the
3833
+ // class prototype and break stuff like Sinon stubs
3834
 
 
 
3835
 
3836
+ createClass(Popper, [{
3837
+ key: 'update',
3838
+ value: function update$$1() {
3839
+ return update.call(this);
3840
+ }
3841
+ }, {
3842
+ key: 'destroy',
3843
+ value: function destroy$$1() {
3844
+ return destroy.call(this);
3845
+ }
3846
+ }, {
3847
+ key: 'enableEventListeners',
3848
+ value: function enableEventListeners$$1() {
3849
+ return enableEventListeners.call(this);
3850
+ }
3851
+ }, {
3852
+ key: 'disableEventListeners',
3853
+ value: function disableEventListeners$$1() {
3854
+ return disableEventListeners.call(this);
3855
+ }
3856
 
3857
+ /**
3858
+ * Schedule an update, it will run on the next UI update available
3859
+ * @method scheduleUpdate
3860
+ * @memberof Popper
3861
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3862
 
 
 
 
 
 
3863
 
3864
+ /**
3865
+ * Collection of utilities useful when writing custom modifiers.
3866
+ * Starting from version 1.7, this method is available only if you
3867
+ * include `popper-utils.js` before `popper.js`.
3868
+ *
3869
+ * **DEPRECATION**: This way to access PopperUtils is deprecated
3870
+ * and will be removed in v2! Use the PopperUtils module directly instead.
3871
+ * Due to the high instability of the methods contained in Utils, we can't
3872
+ * guarantee them to follow semver. Use them at your own risk!
3873
+ * @static
3874
+ * @private
3875
+ * @type {Object}
3876
+ * @deprecated since version 1.8
3877
+ * @member Utils
3878
+ * @memberof Popper
3879
+ */
3880
 
3881
+ }]);
3882
+ return Popper;
3883
+ }();
 
 
 
 
 
 
 
 
 
 
 
 
 
3884
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3885
  /**
3886
+ * The `referenceObject` is an object that provides an interface compatible with Popper.js
3887
+ * and lets you use it as replacement of a real DOM node.<br />
3888
+ * You can use this method to position a popper relatively to a set of coordinates
3889
+ * in case you don't have a DOM node to use as reference.
3890
+ *
3891
+ * ```
3892
+ * new Popper(referenceObject, popperNode);
3893
+ * ```
3894
+ *
3895
+ * NB: This feature isn't supported in Internet Explorer 10
3896
+ * @name referenceObject
3897
+ * @property {Function} data.getBoundingClientRect
3898
+ * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
3899
+ * @property {number} data.clientWidth
3900
+ * An ES6 getter that will return the width of the virtual reference element.
3901
+ * @property {number} data.clientHeight
3902
+ * An ES6 getter that will return the height of the virtual reference element.
3903
  */
3904
+
3905
+
3906
+ Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
3907
+ Popper.placements = placements;
3908
+ Popper.Defaults = Defaults;
3909
+
3910
+ /**
3911
+ * --------------------------------------------------------------------------
3912
+ * Bootstrap (v4.1.0): dropdown.js
3913
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
3914
+ * --------------------------------------------------------------------------
3915
+ */
3916
+
3917
+ var Dropdown = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3918
  /**
3919
  * ------------------------------------------------------------------------
3920
+ * Constants
3921
  * ------------------------------------------------------------------------
3922
  */
3923
+ var NAME = 'dropdown';
3924
+ var VERSION = '4.1.0';
3925
+ var DATA_KEY = 'bs.dropdown';
3926
+ var EVENT_KEY = "." + DATA_KEY;
3927
+ var DATA_API_KEY = '.data-api';
3928
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
3929
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
3930
+
3931
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
3932
+
3933
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
3934
+
3935
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
3936
+
3937
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
3938
+
3939
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
3940
+
3941
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
3942
+ var Event = {
3943
+ HIDE: "hide" + EVENT_KEY,
3944
+ HIDDEN: "hidden" + EVENT_KEY,
3945
+ SHOW: "show" + EVENT_KEY,
3946
+ SHOWN: "shown" + EVENT_KEY,
3947
+ CLICK: "click" + EVENT_KEY,
3948
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
3949
+ KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
3950
+ KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
3951
+ };
3952
+ var ClassName = {
3953
+ DISABLED: 'disabled',
3954
+ SHOW: 'show',
3955
+ DROPUP: 'dropup',
3956
+ DROPRIGHT: 'dropright',
3957
+ DROPLEFT: 'dropleft',
3958
+ MENURIGHT: 'dropdown-menu-right',
3959
+ MENULEFT: 'dropdown-menu-left',
3960
+ POSITION_STATIC: 'position-static'
3961
+ };
3962
+ var Selector = {
3963
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
3964
+ FORM_CHILD: '.dropdown form',
3965
+ MENU: '.dropdown-menu',
3966
+ NAVBAR_NAV: '.navbar-nav',
3967
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
3968
+ };
3969
+ var AttachmentMap = {
3970
+ TOP: 'top-start',
3971
+ TOPEND: 'top-end',
3972
+ BOTTOM: 'bottom-start',
3973
+ BOTTOMEND: 'bottom-end',
3974
+ RIGHT: 'right-start',
3975
+ RIGHTEND: 'right-end',
3976
+ LEFT: 'left-start',
3977
+ LEFTEND: 'left-end'
3978
+ };
3979
+ var Default = {
3980
+ offset: 0,
3981
+ flip: true,
3982
+ boundary: 'scrollParent',
3983
+ reference: 'toggle',
3984
+ display: 'dynamic'
3985
+ };
3986
+ var DefaultType = {
3987
+ offset: '(number|string|function)',
3988
+ flip: 'boolean',
3989
+ boundary: '(string|element)',
3990
+ reference: '(string|element)',
3991
+ display: 'string'
3992
+ /**
3993
+ * ------------------------------------------------------------------------
3994
+ * Class Definition
3995
+ * ------------------------------------------------------------------------
3996
+ */
3997
 
3998
+ };
3999
 
4000
+ var Dropdown =
4001
+ /*#__PURE__*/
4002
+ function () {
4003
+ function Dropdown(element, config) {
4004
+ this._element = element;
4005
+ this._popper = null;
4006
+ this._config = this._getConfig(config);
4007
+ this._menu = this._getMenuElement();
4008
+ this._inNavbar = this._detectNavbar();
4009
 
4010
+ this._addEventListeners();
4011
+ } // Getters
4012
 
4013
 
4014
+ var _proto = Dropdown.prototype;
4015
 
4016
+ // Public
4017
+ _proto.toggle = function toggle() {
4018
+ if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
4019
+ return;
4020
+ }
4021
 
4022
+ var parent = Dropdown._getParentFromElement(this._element);
4023
 
4024
+ var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
4025
 
4026
+ Dropdown._clearMenus();
4027
 
4028
+ if (isActive) {
4029
+ return;
4030
+ }
4031
 
4032
+ var relatedTarget = {
4033
+ relatedTarget: this._element
4034
+ };
4035
+ var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
4036
+ $$$1(parent).trigger(showEvent);
4037
 
4038
+ if (showEvent.isDefaultPrevented()) {
4039
+ return;
4040
+ } // Disable totally Popper.js for Dropdown in Navbar
4041
 
4042
 
4043
+ if (!this._inNavbar) {
4044
+ /**
4045
+ * Check for Popper dependency
4046
+ * Popper - https://popper.js.org
4047
+ */
4048
+ if (typeof Popper === 'undefined') {
4049
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
4050
+ }
4051
 
4052
+ var referenceElement = this._element;
4053
 
4054
+ if (this._config.reference === 'parent') {
4055
+ referenceElement = parent;
4056
+ } else if (Util.isElement(this._config.reference)) {
4057
+ referenceElement = this._config.reference; // Check if it's jQuery element
 
 
 
4058
 
4059
+ if (typeof this._config.reference.jquery !== 'undefined') {
4060
+ referenceElement = this._config.reference[0];
4061
+ }
4062
+ } // If boundary is not `scrollParent`, then set position to `static`
4063
+ // to allow the menu to "escape" the scroll parent's boundaries
4064
+ // https://github.com/twbs/bootstrap/issues/24251
4065
 
 
 
 
4066
 
4067
+ if (this._config.boundary !== 'scrollParent') {
4068
+ $$$1(parent).addClass(ClassName.POSITION_STATIC);
4069
+ }
 
 
4070
 
4071
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
4072
+ } // If this is a touch-enabled device we add extra
4073
+ // empty mouseover listeners to the body's immediate children;
4074
+ // only needed because of broken event delegation on iOS
4075
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
4076
 
 
 
 
4077
 
4078
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
4079
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
4080
+ }
4081
 
4082
+ this._element.focus();
4083
 
4084
+ this._element.setAttribute('aria-expanded', true);
 
 
4085
 
4086
+ $$$1(this._menu).toggleClass(ClassName.SHOW);
4087
+ $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
4088
+ };
 
 
4089
 
4090
+ _proto.dispose = function dispose() {
4091
+ $$$1.removeData(this._element, DATA_KEY);
4092
+ $$$1(this._element).off(EVENT_KEY);
4093
+ this._element = null;
4094
+ this._menu = null;
4095
 
4096
+ if (this._popper !== null) {
4097
+ this._popper.destroy();
 
4098
 
4099
+ this._popper = null;
4100
+ }
4101
+ };
4102
 
4103
+ _proto.update = function update() {
4104
+ this._inNavbar = this._detectNavbar();
 
 
4105
 
4106
+ if (this._popper !== null) {
4107
+ this._popper.scheduleUpdate();
4108
+ }
4109
+ }; // Private
4110
 
 
 
4111
 
4112
+ _proto._addEventListeners = function _addEventListeners() {
4113
+ var _this = this;
 
4114
 
4115
+ $$$1(this._element).on(Event.CLICK, function (event) {
4116
+ event.preventDefault();
4117
+ event.stopPropagation();
4118
 
4119
+ _this.toggle();
4120
+ });
4121
+ };
 
 
4122
 
4123
+ _proto._getConfig = function _getConfig(config) {
4124
+ config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
4125
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
4126
+ return config;
4127
+ };
4128
 
4129
+ _proto._getMenuElement = function _getMenuElement() {
4130
+ if (!this._menu) {
4131
+ var parent = Dropdown._getParentFromElement(this._element);
4132
 
4133
+ this._menu = $$$1(parent).find(Selector.MENU)[0];
4134
+ }
4135
+
4136
+ return this._menu;
4137
+ };
4138
 
4139
+ _proto._getPlacement = function _getPlacement() {
4140
+ var $parentDropdown = $$$1(this._element).parent();
4141
+ var placement = AttachmentMap.BOTTOM; // Handle dropup
4142
 
4143
+ if ($parentDropdown.hasClass(ClassName.DROPUP)) {
4144
+ placement = AttachmentMap.TOP;
4145
 
4146
+ if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
4147
+ placement = AttachmentMap.TOPEND;
4148
+ }
4149
+ } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
4150
+ placement = AttachmentMap.RIGHT;
4151
+ } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
4152
+ placement = AttachmentMap.LEFT;
4153
+ } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
4154
+ placement = AttachmentMap.BOTTOMEND;
4155
  }
 
 
 
 
 
 
 
4156
 
4157
+ return placement;
4158
+ };
4159
 
4160
+ _proto._detectNavbar = function _detectNavbar() {
4161
+ return $$$1(this._element).closest('.navbar').length > 0;
4162
+ };
4163
 
4164
+ _proto._getPopperConfig = function _getPopperConfig() {
4165
+ var _this2 = this;
4166
+
4167
+ var offsetConf = {};
4168
+
4169
+ if (typeof this._config.offset === 'function') {
4170
+ offsetConf.fn = function (data) {
4171
+ data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
4172
+ return data;
4173
+ };
4174
+ } else {
4175
+ offsetConf.offset = this._config.offset;
4176
+ }
4177
 
4178
+ var popperConfig = {
4179
+ placement: this._getPlacement(),
4180
+ modifiers: {
4181
+ offset: offsetConf,
4182
+ flip: {
4183
+ enabled: this._config.flip
4184
+ },
4185
+ preventOverflow: {
4186
+ boundariesElement: this._config.boundary
4187
+ }
4188
+ } // Disable Popper.js if we have a static display
4189
 
 
 
 
 
4190
  };
 
 
 
4191
 
4192
+ if (this._config.display === 'static') {
4193
+ popperConfig.modifiers.applyStyle = {
4194
+ enabled: false
4195
+ };
 
 
 
 
 
 
4196
  }
 
 
 
4197
 
4198
+ return popperConfig;
4199
+ }; // Static
4200
 
 
 
 
4201
 
4202
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
4203
+ return this.each(function () {
4204
+ var data = $$$1(this).data(DATA_KEY);
4205
 
4206
+ var _config = typeof config === 'object' ? config : null;
4207
+
4208
+ if (!data) {
4209
+ data = new Dropdown(this, _config);
4210
+ $$$1(this).data(DATA_KEY, data);
4211
+ }
4212
 
4213
+ if (typeof config === 'string') {
4214
+ if (typeof data[config] === 'undefined') {
4215
+ throw new TypeError("No method named \"" + config + "\"");
4216
+ }
4217
+
4218
+ data[config]();
4219
  }
4220
+ });
4221
+ };
4222
 
4223
+ Dropdown._clearMenus = function _clearMenus(event) {
4224
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
4225
+ return;
4226
  }
 
 
4227
 
4228
+ var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
 
 
 
4229
 
4230
+ for (var i = 0; i < toggles.length; i++) {
4231
+ var parent = Dropdown._getParentFromElement(toggles[i]);
4232
 
4233
+ var context = $$$1(toggles[i]).data(DATA_KEY);
4234
+ var relatedTarget = {
4235
+ relatedTarget: toggles[i]
4236
+ };
4237
 
4238
+ if (!context) {
4239
+ continue;
4240
+ }
 
4241
 
4242
+ var dropdownMenu = context._menu;
 
 
4243
 
4244
+ if (!$$$1(parent).hasClass(ClassName.SHOW)) {
4245
+ continue;
4246
+ }
4247
 
4248
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
4249
+ continue;
4250
+ }
4251
 
4252
+ var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
4253
+ $$$1(parent).trigger(hideEvent);
 
4254
 
4255
+ if (hideEvent.isDefaultPrevented()) {
4256
+ continue;
4257
+ } // If this is a touch-enabled device we remove the extra
4258
+ // empty mouseover listeners we added for iOS support
4259
 
 
 
 
 
4260
 
4261
+ if ('ontouchstart' in document.documentElement) {
4262
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
4263
+ }
4264
 
4265
+ toggles[i].setAttribute('aria-expanded', 'false');
4266
+ $$$1(dropdownMenu).removeClass(ClassName.SHOW);
4267
+ $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
4268
  }
4269
+ };
4270
 
4271
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
4272
+ var parent;
4273
+ var selector = Util.getSelectorFromElement(element);
 
 
4274
 
4275
+ if (selector) {
4276
+ parent = $$$1(selector)[0];
4277
+ }
4278
 
4279
+ return parent || element.parentNode;
4280
+ }; // eslint-disable-next-line complexity
 
4281
 
 
 
4282
 
4283
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
4284
+ // If not input/textarea:
4285
+ // - And not a key in REGEXP_KEYDOWN => not a dropdown command
4286
+ // If input/textarea:
4287
+ // - If space key => not a dropdown command
4288
+ // - If key is other than escape
4289
+ // - If key is not up or down => not a dropdown command
4290
+ // - If trigger inside the menu => not a dropdown command
4291
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
4292
+ return;
4293
+ }
4294
 
4295
+ event.preventDefault();
4296
+ event.stopPropagation();
 
 
 
 
 
 
 
 
 
4297
 
4298
+ if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
4299
+ return;
4300
+ }
4301
 
4302
+ var parent = Dropdown._getParentFromElement(this);
 
 
4303
 
4304
+ var isActive = $$$1(parent).hasClass(ClassName.SHOW);
4305
 
4306
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
4307
+ if (event.which === ESCAPE_KEYCODE) {
4308
+ var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
4309
+ $$$1(toggle).trigger('focus');
4310
+ }
4311
 
4312
+ $$$1(this).trigger('click');
4313
+ return;
 
 
4314
  }
4315
 
4316
+ var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
 
 
 
 
4317
 
4318
+ if (items.length === 0) {
4319
+ return;
4320
+ }
4321
 
4322
+ var index = items.indexOf(event.target);
4323
 
4324
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
4325
+ // Up
4326
+ index--;
4327
+ }
4328
 
4329
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
4330
+ // Down
4331
+ index++;
4332
+ }
4333
 
4334
+ if (index < 0) {
4335
+ index = 0;
4336
+ }
4337
 
4338
+ items[index].focus();
4339
+ };
4340
 
4341
+ _createClass(Dropdown, null, [{
4342
+ key: "VERSION",
4343
+ get: function get() {
4344
+ return VERSION;
4345
+ }
4346
+ }, {
4347
+ key: "Default",
4348
+ get: function get() {
4349
+ return Default;
4350
+ }
4351
+ }, {
4352
+ key: "DefaultType",
4353
+ get: function get() {
4354
+ return DefaultType;
4355
+ }
4356
+ }]);
 
 
 
 
 
 
 
4357
 
4358
+ return Dropdown;
4359
+ }();
4360
+ /**
4361
+ * ------------------------------------------------------------------------
4362
+ * Data Api implementation
4363
+ * ------------------------------------------------------------------------
4364
+ */
4365
 
 
 
 
4366
 
4367
+ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
4368
+ event.preventDefault();
4369
+ event.stopPropagation();
 
 
 
 
 
 
4370
 
4371
+ Dropdown._jQueryInterface.call($$$1(this), 'toggle');
4372
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
4373
+ e.stopPropagation();
4374
+ });
4375
+ /**
4376
+ * ------------------------------------------------------------------------
4377
+ * jQuery
4378
+ * ------------------------------------------------------------------------
4379
+ */
4380
 
4381
+ $$$1.fn[NAME] = Dropdown._jQueryInterface;
4382
+ $$$1.fn[NAME].Constructor = Dropdown;
 
 
4383
 
4384
+ $$$1.fn[NAME].noConflict = function () {
4385
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
4386
+ return Dropdown._jQueryInterface;
4387
+ };
4388
 
4389
+ return Dropdown;
4390
+ }($, Popper);
 
 
 
 
4391
 
 
4392
  /**
4393
+ * --------------------------------------------------------------------------
4394
+ * Bootstrap (v4.1.0): modal.js
4395
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4396
+ * --------------------------------------------------------------------------
4397
  */
4398
+
4399
+ var Modal = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4400
  /**
4401
  * ------------------------------------------------------------------------
4402
+ * Constants
4403
  * ------------------------------------------------------------------------
4404
  */
4405
+ var NAME = 'modal';
4406
+ var VERSION = '4.1.0';
4407
+ var DATA_KEY = 'bs.modal';
4408
+ var EVENT_KEY = "." + DATA_KEY;
4409
+ var DATA_API_KEY = '.data-api';
4410
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
4411
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
4412
+
4413
+ var Default = {
4414
+ backdrop: true,
4415
+ keyboard: true,
4416
+ focus: true,
4417
+ show: true
4418
+ };
4419
+ var DefaultType = {
4420
+ backdrop: '(boolean|string)',
4421
+ keyboard: 'boolean',
4422
+ focus: 'boolean',
4423
+ show: 'boolean'
4424
+ };
4425
+ var Event = {
4426
+ HIDE: "hide" + EVENT_KEY,
4427
+ HIDDEN: "hidden" + EVENT_KEY,
4428
+ SHOW: "show" + EVENT_KEY,
4429
+ SHOWN: "shown" + EVENT_KEY,
4430
+ FOCUSIN: "focusin" + EVENT_KEY,
4431
+ RESIZE: "resize" + EVENT_KEY,
4432
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
4433
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
4434
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
4435
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
4436
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
4437
+ };
4438
+ var ClassName = {
4439
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
4440
+ BACKDROP: 'modal-backdrop',
4441
+ OPEN: 'modal-open',
4442
+ FADE: 'fade',
4443
+ SHOW: 'show'
4444
+ };
4445
+ var Selector = {
4446
+ DIALOG: '.modal-dialog',
4447
+ DATA_TOGGLE: '[data-toggle="modal"]',
4448
+ DATA_DISMISS: '[data-dismiss="modal"]',
4449
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
4450
+ STICKY_CONTENT: '.sticky-top',
4451
+ NAVBAR_TOGGLER: '.navbar-toggler'
4452
+ /**
4453
+ * ------------------------------------------------------------------------
4454
+ * Class Definition
4455
+ * ------------------------------------------------------------------------
4456
+ */
4457
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4458
  };
4459
 
4460
+ var Modal =
4461
+ /*#__PURE__*/
4462
+ function () {
4463
+ function Modal(element, config) {
4464
+ this._config = this._getConfig(config);
4465
+ this._element = element;
4466
+ this._dialog = $$$1(element).find(Selector.DIALOG)[0];
4467
+ this._backdrop = null;
4468
+ this._isShown = false;
4469
+ this._isBodyOverflowing = false;
4470
+ this._ignoreBackdropClick = false;
4471
+ this._scrollbarWidth = 0;
4472
+ } // Getters
4473
 
 
 
 
4474
 
4475
+ var _proto = Modal.prototype;
4476
+
4477
+ // Public
4478
+ _proto.toggle = function toggle(relatedTarget) {
4479
+ return this._isShown ? this.hide() : this.show(relatedTarget);
4480
+ };
4481
+
4482
+ _proto.show = function show(relatedTarget) {
4483
+ var _this = this;
4484
+
4485
+ if (this._isTransitioning || this._isShown) {
4486
+ return;
4487
+ }
4488
+
4489
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
4490
+ this._isTransitioning = true;
4491
+ }
4492
+
4493
+ var showEvent = $$$1.Event(Event.SHOW, {
4494
+ relatedTarget: relatedTarget
4495
+ });
4496
+ $$$1(this._element).trigger(showEvent);
4497
 
4498
+ if (this._isShown || showEvent.isDefaultPrevented()) {
4499
+ return;
4500
+ }
 
4501
 
4502
+ this._isShown = true;
 
 
4503
 
4504
+ this._checkScrollbar();
4505
 
4506
+ this._setScrollbar();
4507
 
4508
+ this._adjustDialog();
4509
 
4510
+ $$$1(document.body).addClass(ClassName.OPEN);
4511
 
4512
+ this._setEscapeEvent();
4513
 
4514
+ this._setResizeEvent();
4515
 
4516
+ $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
4517
+ return _this.hide(event);
4518
+ });
4519
+ $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
4520
+ $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
4521
+ if ($$$1(event.target).is(_this._element)) {
4522
+ _this._ignoreBackdropClick = true;
4523
+ }
4524
+ });
4525
+ });
4526
 
4527
+ this._showBackdrop(function () {
4528
+ return _this._showElement(relatedTarget);
 
 
 
 
 
 
4529
  });
4530
+ };
4531
 
4532
+ _proto.hide = function hide(event) {
4533
+ var _this2 = this;
 
 
4534
 
4535
+ if (event) {
4536
+ event.preventDefault();
4537
+ }
4538
 
4539
+ if (this._isTransitioning || !this._isShown) {
4540
+ return;
4541
+ }
4542
 
4543
+ var hideEvent = $$$1.Event(Event.HIDE);
4544
+ $$$1(this._element).trigger(hideEvent);
 
4545
 
4546
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
4547
+ return;
4548
+ }
4549
 
4550
+ this._isShown = false;
4551
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
4552
+
4553
+ if (transition) {
4554
+ this._isTransitioning = true;
4555
+ }
4556
 
4557
+ this._setEscapeEvent();
 
4558
 
4559
+ this._setResizeEvent();
 
 
4560
 
4561
+ $$$1(document).off(Event.FOCUSIN);
4562
+ $$$1(this._element).removeClass(ClassName.SHOW);
4563
+ $$$1(this._element).off(Event.CLICK_DISMISS);
4564
+ $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
4565
 
4566
+ if (transition) {
4567
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
4568
+ $$$1(this._element).one(Util.TRANSITION_END, function (event) {
4569
+ return _this2._hideModal(event);
4570
+ }).emulateTransitionEnd(transitionDuration);
4571
+ } else {
4572
+ this._hideModal();
4573
+ }
4574
+ };
4575
 
4576
+ _proto.dispose = function dispose() {
4577
+ $$$1.removeData(this._element, DATA_KEY);
4578
+ $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
4579
+ this._config = null;
4580
+ this._element = null;
4581
+ this._dialog = null;
4582
+ this._backdrop = null;
4583
+ this._isShown = null;
4584
+ this._isBodyOverflowing = null;
4585
+ this._ignoreBackdropClick = null;
4586
+ this._scrollbarWidth = null;
4587
+ };
4588
 
4589
+ _proto.handleUpdate = function handleUpdate() {
4590
+ this._adjustDialog();
4591
+ }; // Private
 
 
 
 
 
4592
 
 
 
 
 
 
 
 
 
 
 
 
 
4593
 
4594
+ _proto._getConfig = function _getConfig(config) {
4595
+ config = _objectSpread({}, Default, config);
4596
+ Util.typeCheckConfig(NAME, config, DefaultType);
4597
+ return config;
4598
+ };
4599
 
4600
+ _proto._showElement = function _showElement(relatedTarget) {
4601
+ var _this3 = this;
4602
 
4603
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
 
 
 
 
4604
 
4605
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
4606
+ // Don't move modal's DOM position
4607
+ document.body.appendChild(this._element);
4608
+ }
4609
 
4610
+ this._element.style.display = 'block';
4611
 
4612
+ this._element.removeAttribute('aria-hidden');
 
 
 
4613
 
4614
+ this._element.scrollTop = 0;
4615
 
4616
+ if (transition) {
4617
+ Util.reflow(this._element);
4618
+ }
4619
 
4620
+ $$$1(this._element).addClass(ClassName.SHOW);
4621
 
4622
+ if (this._config.focus) {
4623
+ this._enforceFocus();
4624
+ }
4625
 
4626
+ var shownEvent = $$$1.Event(Event.SHOWN, {
4627
+ relatedTarget: relatedTarget
4628
+ });
4629
 
4630
+ var transitionComplete = function transitionComplete() {
4631
+ if (_this3._config.focus) {
4632
+ _this3._element.focus();
4633
+ }
4634
 
4635
+ _this3._isTransitioning = false;
4636
+ $$$1(_this3._element).trigger(shownEvent);
4637
+ };
4638
 
4639
+ if (transition) {
4640
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
4641
+ $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
4642
+ } else {
4643
+ transitionComplete();
4644
  }
4645
+ };
4646
+
4647
+ _proto._enforceFocus = function _enforceFocus() {
4648
+ var _this4 = this;
4649
 
4650
+ $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
4651
+ .on(Event.FOCUSIN, function (event) {
4652
+ if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
4653
+ _this4._element.focus();
4654
+ }
4655
+ });
4656
  };
4657
 
4658
+ _proto._setEscapeEvent = function _setEscapeEvent() {
4659
+ var _this5 = this;
4660
+
4661
+ if (this._isShown && this._config.keyboard) {
4662
+ $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
4663
+ if (event.which === ESCAPE_KEYCODE) {
4664
+ event.preventDefault();
4665
 
4666
+ _this5.hide();
4667
+ }
4668
+ });
4669
+ } else if (!this._isShown) {
4670
+ $$$1(this._element).off(Event.KEYDOWN_DISMISS);
4671
+ }
4672
+ };
4673
 
4674
+ _proto._setResizeEvent = function _setResizeEvent() {
4675
+ var _this6 = this;
4676
+
4677
+ if (this._isShown) {
4678
+ $$$1(window).on(Event.RESIZE, function (event) {
4679
+ return _this6.handleUpdate(event);
4680
+ });
4681
+ } else {
4682
+ $$$1(window).off(Event.RESIZE);
4683
  }
4684
+ };
 
4685
 
4686
+ _proto._hideModal = function _hideModal() {
4687
+ var _this7 = this;
4688
 
4689
+ this._element.style.display = 'none';
 
 
 
4690
 
4691
+ this._element.setAttribute('aria-hidden', true);
 
 
 
 
 
 
4692
 
4693
+ this._isTransitioning = false;
 
4694
 
4695
+ this._showBackdrop(function () {
4696
+ $$$1(document.body).removeClass(ClassName.OPEN);
 
 
 
 
 
 
4697
 
4698
+ _this7._resetAdjustments();
 
4699
 
4700
+ _this7._resetScrollbar();
4701
 
4702
+ $$$1(_this7._element).trigger(Event.HIDDEN);
4703
+ });
4704
+ };
4705
 
4706
+ _proto._removeBackdrop = function _removeBackdrop() {
4707
+ if (this._backdrop) {
4708
+ $$$1(this._backdrop).remove();
4709
+ this._backdrop = null;
4710
+ }
4711
+ };
4712
 
4713
+ _proto._showBackdrop = function _showBackdrop(callback) {
4714
+ var _this8 = this;
4715
 
4716
+ var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
4717
 
4718
+ if (this._isShown && this._config.backdrop) {
4719
+ this._backdrop = document.createElement('div');
4720
+ this._backdrop.className = ClassName.BACKDROP;
4721
 
4722
+ if (animate) {
4723
+ $$$1(this._backdrop).addClass(animate);
4724
+ }
4725
 
4726
+ $$$1(this._backdrop).appendTo(document.body);
4727
+ $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
4728
+ if (_this8._ignoreBackdropClick) {
4729
+ _this8._ignoreBackdropClick = false;
4730
+ return;
4731
+ }
4732
 
4733
+ if (event.target !== event.currentTarget) {
4734
+ return;
4735
+ }
4736
 
4737
+ if (_this8._config.backdrop === 'static') {
4738
+ _this8._element.focus();
4739
+ } else {
4740
+ _this8.hide();
4741
+ }
4742
+ });
4743
 
4744
+ if (animate) {
4745
+ Util.reflow(this._backdrop);
4746
+ }
 
4747
 
4748
+ $$$1(this._backdrop).addClass(ClassName.SHOW);
 
 
4749
 
4750
+ if (!callback) {
 
 
 
4751
  return;
4752
  }
4753
 
4754
+ if (!animate) {
4755
+ callback();
4756
  return;
4757
  }
4758
 
4759
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
4760
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
4761
+ } else if (!this._isShown && this._backdrop) {
4762
+ $$$1(this._backdrop).removeClass(ClassName.SHOW);
 
 
4763
 
4764
+ var callbackRemove = function callbackRemove() {
4765
+ _this8._removeBackdrop();
 
4766
 
4767
+ if (callback) {
4768
+ callback();
4769
+ }
4770
+ };
4771
 
4772
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
4773
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
 
4774
 
4775
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
4776
+ } else {
4777
+ callbackRemove();
4778
+ }
4779
+ } else if (callback) {
4780
  callback();
 
4781
  }
4782
+ }; // ----------------------------------------------------------------------
4783
+ // the following methods are used to handle overflowing modals
4784
+ // todo (fat): these should probably be refactored out of modal.js
4785
+ // ----------------------------------------------------------------------
4786
 
 
 
 
4787
 
4788
+ _proto._adjustDialog = function _adjustDialog() {
4789
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
 
 
 
 
 
4790
 
4791
+ if (!this._isBodyOverflowing && isModalOverflowing) {
4792
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
 
 
4793
  }
 
 
 
 
 
 
 
4794
 
4795
+ if (this._isBodyOverflowing && !isModalOverflowing) {
4796
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
4797
+ }
4798
+ };
4799
 
4800
+ _proto._resetAdjustments = function _resetAdjustments() {
4801
+ this._element.style.paddingLeft = '';
4802
+ this._element.style.paddingRight = '';
4803
+ };
4804
 
4805
+ _proto._checkScrollbar = function _checkScrollbar() {
4806
+ var rect = document.body.getBoundingClientRect();
4807
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
4808
+ this._scrollbarWidth = this._getScrollbarWidth();
4809
+ };
4810
 
4811
+ _proto._setScrollbar = function _setScrollbar() {
4812
+ var _this9 = this;
4813
+
4814
+ if (this._isBodyOverflowing) {
4815
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
4816
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
4817
+ // Adjust fixed content padding
4818
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
4819
+ var actualPadding = $$$1(element)[0].style.paddingRight;
4820
+ var calculatedPadding = $$$1(element).css('padding-right');
4821
+ $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
4822
+ }); // Adjust sticky content margin
4823
+
4824
+ $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
4825
+ var actualMargin = $$$1(element)[0].style.marginRight;
4826
+ var calculatedMargin = $$$1(element).css('margin-right');
4827
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
4828
+ }); // Adjust navbar-toggler margin
4829
+
4830
+ $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
4831
+ var actualMargin = $$$1(element)[0].style.marginRight;
4832
+ var calculatedMargin = $$$1(element).css('margin-right');
4833
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
4834
+ }); // Adjust body padding
4835
+
4836
+ var actualPadding = document.body.style.paddingRight;
4837
+ var calculatedPadding = $$$1(document.body).css('padding-right');
4838
+ $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
4839
+ }
4840
+ };
4841
 
4842
+ _proto._resetScrollbar = function _resetScrollbar() {
4843
+ // Restore fixed content padding
4844
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
4845
+ var padding = $$$1(element).data('padding-right');
4846
 
4847
+ if (typeof padding !== 'undefined') {
4848
+ $$$1(element).css('padding-right', padding).removeData('padding-right');
4849
+ }
4850
+ }); // Restore sticky content and navbar-toggler margin
 
4851
 
4852
+ $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
4853
+ var margin = $$$1(element).data('margin-right');
4854
 
4855
+ if (typeof margin !== 'undefined') {
4856
+ $$$1(element).css('margin-right', margin).removeData('margin-right');
4857
+ }
4858
+ }); // Restore body padding
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4859
 
4860
+ var padding = $$$1(document.body).data('padding-right');
 
 
 
4861
 
4862
  if (typeof padding !== 'undefined') {
4863
+ $$$1(document.body).css('padding-right', padding).removeData('padding-right');
 
 
 
 
 
 
 
 
4864
  }
4865
+ };
 
 
4866
 
4867
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
4868
+ // thx d.walsh
4869
+ var scrollDiv = document.createElement('div');
4870
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
4871
+ document.body.appendChild(scrollDiv);
4872
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
4873
+ document.body.removeChild(scrollDiv);
4874
+ return scrollbarWidth;
4875
+ }; // Static
4876
 
 
 
 
 
 
 
 
 
 
4877
 
4878
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
4879
+ return this.each(function () {
4880
+ var data = $$$1(this).data(DATA_KEY);
4881
 
4882
+ var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
 
 
4883
 
4884
+ if (!data) {
4885
+ data = new Modal(this, _config);
4886
+ $$$1(this).data(DATA_KEY, data);
4887
+ }
4888
 
4889
+ if (typeof config === 'string') {
4890
+ if (typeof data[config] === 'undefined') {
4891
+ throw new TypeError("No method named \"" + config + "\"");
4892
+ }
4893
 
4894
+ data[config](relatedTarget);
4895
+ } else if (_config.show) {
4896
+ data.show(relatedTarget);
4897
  }
4898
+ });
4899
+ };
4900
 
4901
+ _createClass(Modal, null, [{
4902
+ key: "VERSION",
4903
+ get: function get() {
4904
+ return VERSION;
4905
  }
4906
+ }, {
4907
+ key: "Default",
4908
+ get: function get() {
4909
+ return Default;
4910
+ }
4911
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4912
 
4913
+ return Modal;
4914
+ }();
4915
+ /**
4916
+ * ------------------------------------------------------------------------
4917
+ * Data Api implementation
4918
+ * ------------------------------------------------------------------------
4919
+ */
4920
 
 
 
4921
 
4922
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
4923
+ var _this10 = this;
4924
 
4925
+ var target;
4926
+ var selector = Util.getSelectorFromElement(this);
 
4927
 
4928
+ if (selector) {
4929
+ target = $$$1(selector)[0];
4930
+ }
4931
 
4932
+ var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
 
 
4933
 
4934
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
4935
+ event.preventDefault();
 
 
4936
  }
4937
 
4938
+ var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
4939
+ if (showEvent.isDefaultPrevented()) {
4940
+ // Only register focus restorer if modal will actually get shown
4941
+ return;
4942
  }
 
 
4943
 
4944
+ $target.one(Event.HIDDEN, function () {
4945
+ if ($$$1(_this10).is(':visible')) {
4946
+ _this10.focus();
4947
+ }
4948
+ });
4949
+ });
 
4950
 
4951
+ Modal._jQueryInterface.call($$$1(target), config, this);
4952
+ });
4953
+ /**
4954
+ * ------------------------------------------------------------------------
4955
+ * jQuery
4956
+ * ------------------------------------------------------------------------
4957
+ */
4958
 
4959
+ $$$1.fn[NAME] = Modal._jQueryInterface;
4960
+ $$$1.fn[NAME].Constructor = Modal;
 
 
4961
 
4962
+ $$$1.fn[NAME].noConflict = function () {
4963
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
4964
+ return Modal._jQueryInterface;
4965
+ };
4966
 
4967
+ return Modal;
4968
+ }($);
 
 
 
 
4969
 
 
4970
  /**
4971
+ * --------------------------------------------------------------------------
4972
+ * Bootstrap (v4.1.0): tooltip.js
4973
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4974
+ * --------------------------------------------------------------------------
4975
  */
4976
+
4977
+ var Tooltip = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4978
  /**
4979
  * ------------------------------------------------------------------------
4980
+ * Constants
4981
  * ------------------------------------------------------------------------
4982
  */
4983
+ var NAME = 'tooltip';
4984
+ var VERSION = '4.1.0';
4985
+ var DATA_KEY = 'bs.tooltip';
4986
+ var EVENT_KEY = "." + DATA_KEY;
4987
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
4988
+ var CLASS_PREFIX = 'bs-tooltip';
4989
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
4990
+ var DefaultType = {
4991
+ animation: 'boolean',
4992
+ template: 'string',
4993
+ title: '(string|element|function)',
4994
+ trigger: 'string',
4995
+ delay: '(number|object)',
4996
+ html: 'boolean',
4997
+ selector: '(string|boolean)',
4998
+ placement: '(string|function)',
4999
+ offset: '(number|string)',
5000
+ container: '(string|element|boolean)',
5001
+ fallbackPlacement: '(string|array)',
5002
+ boundary: '(string|element)'
5003
+ };
5004
+ var AttachmentMap = {
5005
+ AUTO: 'auto',
5006
+ TOP: 'top',
5007
+ RIGHT: 'right',
5008
+ BOTTOM: 'bottom',
5009
+ LEFT: 'left'
5010
+ };
5011
+ var Default = {
5012
+ animation: true,
5013
+ template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
5014
+ trigger: 'hover focus',
5015
+ title: '',
5016
+ delay: 0,
5017
+ html: false,
5018
+ selector: false,
5019
+ placement: 'top',
5020
+ offset: 0,
5021
+ container: false,
5022
+ fallbackPlacement: 'flip',
5023
+ boundary: 'scrollParent'
5024
+ };
5025
+ var HoverState = {
5026
+ SHOW: 'show',
5027
+ OUT: 'out'
5028
+ };
5029
+ var Event = {
5030
+ HIDE: "hide" + EVENT_KEY,
5031
+ HIDDEN: "hidden" + EVENT_KEY,
5032
+ SHOW: "show" + EVENT_KEY,
5033
+ SHOWN: "shown" + EVENT_KEY,
5034
+ INSERTED: "inserted" + EVENT_KEY,
5035
+ CLICK: "click" + EVENT_KEY,
5036
+ FOCUSIN: "focusin" + EVENT_KEY,
5037
+ FOCUSOUT: "focusout" + EVENT_KEY,
5038
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
5039
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
5040
+ };
5041
+ var ClassName = {
5042
+ FADE: 'fade',
5043
+ SHOW: 'show'
5044
+ };
5045
+ var Selector = {
5046
+ TOOLTIP: '.tooltip',
5047
+ TOOLTIP_INNER: '.tooltip-inner',
5048
+ ARROW: '.arrow'
5049
+ };
5050
+ var Trigger = {
5051
+ HOVER: 'hover',
5052
+ FOCUS: 'focus',
5053
+ CLICK: 'click',
5054
+ MANUAL: 'manual'
5055
  /**
5056
+ * ------------------------------------------------------------------------
5057
+ * Class Definition
5058
+ * ------------------------------------------------------------------------
5059
  */
 
 
 
5060
 
5061
+ };
5062
 
5063
+ var Tooltip =
5064
+ /*#__PURE__*/
5065
+ function () {
5066
+ function Tooltip(element, config) {
5067
+ /**
5068
+ * Check for Popper dependency
5069
+ * Popper - https://popper.js.org
5070
+ */
5071
+ if (typeof Popper === 'undefined') {
5072
+ throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
5073
+ } // private
5074
 
 
 
 
5075
 
5076
+ this._isEnabled = true;
5077
+ this._timeout = 0;
5078
+ this._hoverState = '';
5079
+ this._activeTrigger = {};
5080
+ this._popper = null; // Protected
5081
 
5082
+ this.element = element;
5083
+ this.config = this._getConfig(config);
5084
+ this.tip = null;
5085
 
5086
+ this._setListeners();
5087
+ } // Getters
5088
 
 
 
 
 
5089
 
5090
+ var _proto = Tooltip.prototype;
 
 
5091
 
5092
+ // Public
5093
+ _proto.enable = function enable() {
5094
+ this._isEnabled = true;
5095
+ };
5096
 
5097
+ _proto.disable = function disable() {
5098
+ this._isEnabled = false;
5099
+ };
 
5100
 
5101
+ _proto.toggleEnabled = function toggleEnabled() {
5102
+ this._isEnabled = !this._isEnabled;
5103
+ };
5104
 
5105
+ _proto.toggle = function toggle(event) {
5106
+ if (!this._isEnabled) {
5107
+ return;
5108
  }
5109
 
5110
+ if (event) {
5111
+ var dataKey = this.constructor.DATA_KEY;
5112
+ var context = $$$1(event.currentTarget).data(dataKey);
5113
+
5114
+ if (!context) {
5115
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
5116
+ $$$1(event.currentTarget).data(dataKey, context);
5117
+ }
5118
+
5119
+ context._activeTrigger.click = !context._activeTrigger.click;
5120
 
5121
+ if (context._isWithActiveTrigger()) {
5122
+ context._enter(null, context);
5123
+ } else {
5124
+ context._leave(null, context);
5125
+ }
5126
  } else {
5127
+ if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
5128
+ this._leave(null, this);
 
 
 
5129
 
5130
+ return;
5131
+ }
5132
 
5133
+ this._enter(null, this);
5134
+ }
5135
+ };
5136
 
5137
+ _proto.dispose = function dispose() {
5138
+ clearTimeout(this._timeout);
5139
+ $$$1.removeData(this.element, this.constructor.DATA_KEY);
5140
+ $$$1(this.element).off(this.constructor.EVENT_KEY);
5141
+ $$$1(this.element).closest('.modal').off('hide.bs.modal');
5142
 
5143
+ if (this.tip) {
5144
+ $$$1(this.tip).remove();
5145
+ }
5146
 
5147
+ this._isEnabled = null;
5148
+ this._timeout = null;
5149
+ this._hoverState = null;
5150
+ this._activeTrigger = null;
5151
 
5152
+ if (this._popper !== null) {
5153
+ this._popper.destroy();
5154
+ }
5155
 
5156
+ this._popper = null;
5157
+ this.element = null;
5158
+ this.config = null;
5159
+ this.tip = null;
5160
+ };
5161
 
5162
+ _proto.show = function show() {
5163
+ var _this = this;
5164
 
5165
+ if ($$$1(this.element).css('display') === 'none') {
5166
+ throw new Error('Please use show on visible elements');
5167
+ }
5168
 
5169
+ var showEvent = $$$1.Event(this.constructor.Event.SHOW);
5170
 
5171
+ if (this.isWithContent() && this._isEnabled) {
5172
+ $$$1(this.element).trigger(showEvent);
5173
+ var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
5174
 
5175
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
5176
+ return;
5177
+ }
5178
 
5179
+ var tip = this.getTipElement();
5180
+ var tipId = Util.getUID(this.constructor.NAME);
5181
+ tip.setAttribute('id', tipId);
5182
+ this.element.setAttribute('aria-describedby', tipId);
5183
+ this.setContent();
5184
 
5185
+ if (this.config.animation) {
5186
+ $$$1(tip).addClass(ClassName.FADE);
5187
+ }
5188
 
5189
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
5190
 
5191
+ var attachment = this._getAttachment(placement);
5192
 
5193
+ this.addAttachmentClass(attachment);
5194
+ var container = this.config.container === false ? document.body : $$$1(this.config.container);
5195
+ $$$1(tip).data(this.constructor.DATA_KEY, this);
5196
 
5197
+ if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
5198
+ $$$1(tip).appendTo(container);
5199
+ }
5200
 
5201
+ $$$1(this.element).trigger(this.constructor.Event.INSERTED);
5202
+ this._popper = new Popper(this.element, tip, {
5203
+ placement: attachment,
5204
+ modifiers: {
5205
+ offset: {
5206
+ offset: this.config.offset
5207
+ },
5208
+ flip: {
5209
+ behavior: this.config.fallbackPlacement
5210
+ },
5211
+ arrow: {
5212
+ element: Selector.ARROW
5213
+ },
5214
+ preventOverflow: {
5215
+ boundariesElement: this.config.boundary
5216
+ }
5217
  },
5218
+ onCreate: function onCreate(data) {
5219
+ if (data.originalPlacement !== data.placement) {
5220
+ _this._handlePopperPlacementChange(data);
5221
+ }
5222
  },
5223
+ onUpdate: function onUpdate(data) {
 
 
 
 
 
5224
  _this._handlePopperPlacementChange(data);
5225
  }
5226
+ });
5227
+ $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
5228
+ // empty mouseover listeners to the body's immediate children;
5229
+ // only needed because of broken event delegation on iOS
5230
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
5231
+
5232
+ if ('ontouchstart' in document.documentElement) {
5233
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
5234
  }
 
 
 
 
 
5235
 
5236
+ var complete = function complete() {
5237
+ if (_this.config.animation) {
5238
+ _this._fixTransition();
5239
+ }
5240
 
5241
+ var prevHoverState = _this._hoverState;
5242
+ _this._hoverState = null;
5243
+ $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
 
5244
 
5245
+ if (prevHoverState === HoverState.OUT) {
5246
+ _this._leave(null, _this);
5247
+ }
5248
+ };
5249
 
5250
+ if ($$$1(this.tip).hasClass(ClassName.FADE)) {
5251
+ var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
5252
+ $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
5253
+ } else {
5254
+ complete();
5255
  }
 
 
 
 
 
 
5256
  }
5257
+ };
 
5258
 
5259
+ _proto.hide = function hide(callback) {
5260
+ var _this2 = this;
5261
 
5262
+ var tip = this.getTipElement();
5263
+ var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
5264
 
5265
+ var complete = function complete() {
5266
+ if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
5267
+ tip.parentNode.removeChild(tip);
5268
+ }
5269
 
5270
+ _this2._cleanTipClass();
5271
 
5272
+ _this2.element.removeAttribute('aria-describedby');
5273
 
5274
+ $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
5275
 
5276
+ if (_this2._popper !== null) {
5277
+ _this2._popper.destroy();
5278
+ }
5279
 
5280
+ if (callback) {
5281
+ callback();
5282
+ }
5283
+ };
5284
 
5285
+ $$$1(this.element).trigger(hideEvent);
5286
 
5287
+ if (hideEvent.isDefaultPrevented()) {
5288
+ return;
5289
+ }
5290
 
5291
+ $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
5292
+ // empty mouseover listeners we added for iOS support
5293
 
5294
+ if ('ontouchstart' in document.documentElement) {
5295
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
5296
+ }
5297
 
5298
+ this._activeTrigger[Trigger.CLICK] = false;
5299
+ this._activeTrigger[Trigger.FOCUS] = false;
5300
+ this._activeTrigger[Trigger.HOVER] = false;
5301
 
5302
+ if ($$$1(this.tip).hasClass(ClassName.FADE)) {
5303
+ var transitionDuration = Util.getTransitionDurationFromElement(tip);
5304
+ $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
5305
+ } else {
5306
+ complete();
5307
+ }
5308
 
5309
+ this._hoverState = '';
5310
+ };
5311
 
5312
+ _proto.update = function update() {
5313
+ if (this._popper !== null) {
5314
+ this._popper.scheduleUpdate();
5315
+ }
5316
+ }; // Protected
5317
 
5318
 
5319
+ _proto.isWithContent = function isWithContent() {
5320
+ return Boolean(this.getTitle());
5321
+ };
5322
 
5323
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
5324
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
5325
+ };
5326
 
5327
+ _proto.getTipElement = function getTipElement() {
5328
+ this.tip = this.tip || $$$1(this.config.template)[0];
5329
+ return this.tip;
5330
+ };
5331
 
5332
+ _proto.setContent = function setContent() {
5333
+ var $tip = $$$1(this.getTipElement());
5334
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
5335
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
5336
+ };
5337
 
5338
+ _proto.setElementContent = function setElementContent($element, content) {
5339
+ var html = this.config.html;
5340
 
5341
+ if (typeof content === 'object' && (content.nodeType || content.jquery)) {
5342
+ // Content is a DOM node or a jQuery
5343
+ if (html) {
5344
+ if (!$$$1(content).parent().is($element)) {
5345
+ $element.empty().append(content);
5346
+ }
5347
+ } else {
5348
+ $element.text($$$1(content).text());
5349
  }
5350
  } else {
5351
+ $element[html ? 'html' : 'text'](content);
5352
  }
5353
+ };
 
 
 
5354
 
5355
+ _proto.getTitle = function getTitle() {
5356
+ var title = this.element.getAttribute('data-original-title');
5357
 
5358
+ if (!title) {
5359
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
5360
+ }
5361
 
5362
+ return title;
5363
+ }; // Private
5364
 
5365
 
5366
+ _proto._getAttachment = function _getAttachment(placement) {
5367
+ return AttachmentMap[placement.toUpperCase()];
5368
+ };
5369
 
5370
+ _proto._setListeners = function _setListeners() {
5371
+ var _this3 = this;
5372
+
5373
+ var triggers = this.config.trigger.split(' ');
5374
+ triggers.forEach(function (trigger) {
5375
+ if (trigger === 'click') {
5376
+ $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
5377
+ return _this3.toggle(event);
5378
+ });
5379
+ } else if (trigger !== Trigger.MANUAL) {
5380
+ var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
5381
+ var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
5382
+ $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
5383
+ return _this3._enter(event);
5384
+ }).on(eventOut, _this3.config.selector, function (event) {
5385
+ return _this3._leave(event);
5386
+ });
5387
+ }
5388
 
5389
+ $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
5390
+ return _this3.hide();
 
 
 
5391
  });
5392
+ });
5393
+
5394
+ if (this.config.selector) {
5395
+ this.config = _objectSpread({}, this.config, {
5396
+ trigger: 'manual',
5397
+ selector: ''
 
5398
  });
5399
+ } else {
5400
+ this._fixTitle();
5401
  }
5402
+ };
5403
 
5404
+ _proto._fixTitle = function _fixTitle() {
5405
+ var titleType = typeof this.element.getAttribute('data-original-title');
 
 
 
 
 
 
 
 
 
 
 
 
5406
 
5407
+ if (this.element.getAttribute('title') || titleType !== 'string') {
5408
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
5409
+ this.element.setAttribute('title', '');
5410
+ }
5411
+ };
5412
 
5413
+ _proto._enter = function _enter(event, context) {
5414
+ var dataKey = this.constructor.DATA_KEY;
5415
+ context = context || $$$1(event.currentTarget).data(dataKey);
 
 
5416
 
5417
+ if (!context) {
5418
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
5419
+ $$$1(event.currentTarget).data(dataKey, context);
5420
+ }
5421
 
5422
+ if (event) {
5423
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
5424
+ }
 
5425
 
5426
+ if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
5427
+ context._hoverState = HoverState.SHOW;
5428
+ return;
5429
+ }
5430
 
5431
+ clearTimeout(context._timeout);
5432
  context._hoverState = HoverState.SHOW;
 
 
 
 
 
 
 
 
 
 
5433
 
5434
+ if (!context.config.delay || !context.config.delay.show) {
 
5435
  context.show();
5436
+ return;
5437
  }
 
 
5438
 
5439
+ context._timeout = setTimeout(function () {
5440
+ if (context._hoverState === HoverState.SHOW) {
5441
+ context.show();
5442
+ }
5443
+ }, context.config.delay.show);
5444
+ };
5445
 
5446
+ _proto._leave = function _leave(event, context) {
5447
+ var dataKey = this.constructor.DATA_KEY;
5448
+ context = context || $$$1(event.currentTarget).data(dataKey);
 
5449
 
5450
+ if (!context) {
5451
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
5452
+ $$$1(event.currentTarget).data(dataKey, context);
5453
+ }
5454
 
5455
+ if (event) {
5456
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
5457
+ }
5458
 
5459
+ if (context._isWithActiveTrigger()) {
5460
+ return;
5461
+ }
5462
 
5463
+ clearTimeout(context._timeout);
5464
+ context._hoverState = HoverState.OUT;
 
 
5465
 
5466
+ if (!context.config.delay || !context.config.delay.hide) {
 
5467
  context.hide();
5468
+ return;
5469
  }
 
 
5470
 
5471
+ context._timeout = setTimeout(function () {
5472
+ if (context._hoverState === HoverState.OUT) {
5473
+ context.hide();
5474
+ }
5475
+ }, context.config.delay.hide);
5476
+ };
5477
+
5478
+ _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
5479
+ for (var trigger in this._activeTrigger) {
5480
+ if (this._activeTrigger[trigger]) {
5481
+ return true;
5482
+ }
5483
  }
 
5484
 
5485
+ return false;
5486
+ };
5487
 
5488
+ _proto._getConfig = function _getConfig(config) {
5489
+ config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
5490
 
5491
+ if (typeof config.delay === 'number') {
5492
+ config.delay = {
5493
+ show: config.delay,
5494
+ hide: config.delay
5495
+ };
5496
+ }
5497
 
5498
+ if (typeof config.title === 'number') {
5499
+ config.title = config.title.toString();
5500
+ }
5501
 
5502
+ if (typeof config.content === 'number') {
5503
+ config.content = config.content.toString();
5504
+ }
5505
 
5506
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
5507
+ return config;
5508
+ };
5509
 
5510
+ _proto._getDelegateConfig = function _getDelegateConfig() {
5511
+ var config = {};
5512
 
5513
+ if (this.config) {
5514
+ for (var key in this.config) {
5515
+ if (this.constructor.Default[key] !== this.config[key]) {
5516
+ config[key] = this.config[key];
5517
+ }
5518
  }
5519
  }
 
5520
 
5521
+ return config;
5522
+ };
5523
 
5524
+ _proto._cleanTipClass = function _cleanTipClass() {
5525
+ var $tip = $$$1(this.getTipElement());
5526
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
5527
 
5528
+ if (tabClass !== null && tabClass.length > 0) {
5529
+ $tip.removeClass(tabClass.join(''));
5530
+ }
5531
+ };
5532
 
5533
+ _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
5534
+ this._cleanTipClass();
5535
 
5536
+ this.addAttachmentClass(this._getAttachment(data.placement));
5537
+ };
5538
 
5539
+ _proto._fixTransition = function _fixTransition() {
5540
+ var tip = this.getTipElement();
5541
+ var initConfigAnimation = this.config.animation;
5542
 
5543
+ if (tip.getAttribute('x-placement') !== null) {
5544
+ return;
5545
+ }
5546
+
5547
+ $$$1(tip).removeClass(ClassName.FADE);
5548
+ this.config.animation = false;
5549
+ this.hide();
5550
+ this.show();
5551
+ this.config.animation = initConfigAnimation;
5552
+ }; // Static
5553
 
 
 
 
 
 
 
5554
 
5555
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
5556
+ return this.each(function () {
5557
+ var data = $$$1(this).data(DATA_KEY);
5558
 
5559
+ var _config = typeof config === 'object' && config;
 
 
5560
 
5561
+ if (!data && /dispose|hide/.test(config)) {
5562
+ return;
5563
+ }
5564
 
5565
+ if (!data) {
5566
+ data = new Tooltip(this, _config);
5567
+ $$$1(this).data(DATA_KEY, data);
5568
+ }
5569
 
5570
+ if (typeof config === 'string') {
5571
+ if (typeof data[config] === 'undefined') {
5572
+ throw new TypeError("No method named \"" + config + "\"");
5573
+ }
5574
 
5575
+ data[config]();
 
 
5576
  }
5577
+ });
5578
+ };
5579
 
5580
+ _createClass(Tooltip, null, [{
5581
+ key: "VERSION",
5582
+ get: function get() {
5583
+ return VERSION;
5584
  }
5585
+ }, {
5586
+ key: "Default",
5587
+ get: function get() {
5588
+ return Default;
5589
+ }
5590
+ }, {
5591
+ key: "NAME",
5592
+ get: function get() {
5593
+ return NAME;
5594
+ }
5595
+ }, {
5596
+ key: "DATA_KEY",
5597
+ get: function get() {
5598
+ return DATA_KEY;
5599
+ }
5600
+ }, {
5601
+ key: "Event",
5602
+ get: function get() {
5603
+ return Event;
5604
+ }
5605
+ }, {
5606
+ key: "EVENT_KEY",
5607
+ get: function get() {
5608
+ return EVENT_KEY;
5609
+ }
5610
+ }, {
5611
+ key: "DefaultType",
5612
+ get: function get() {
5613
+ return DefaultType;
5614
+ }
5615
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5616
 
5617
+ return Tooltip;
5618
+ }();
5619
+ /**
5620
+ * ------------------------------------------------------------------------
5621
+ * jQuery
5622
+ * ------------------------------------------------------------------------
5623
+ */
5624
 
 
 
5625
 
5626
+ $$$1.fn[NAME] = Tooltip._jQueryInterface;
5627
+ $$$1.fn[NAME].Constructor = Tooltip;
 
 
5628
 
5629
+ $$$1.fn[NAME].noConflict = function () {
5630
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
5631
+ return Tooltip._jQueryInterface;
5632
+ };
5633
 
5634
+ return Tooltip;
5635
+ }($, Popper);
 
 
 
 
5636
 
 
5637
  /**
5638
+ * --------------------------------------------------------------------------
5639
+ * Bootstrap (v4.1.0): popover.js
5640
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5641
+ * --------------------------------------------------------------------------
5642
  */
5643
+
5644
+ var Popover = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5645
  /**
5646
  * ------------------------------------------------------------------------
5647
+ * Constants
5648
  * ------------------------------------------------------------------------
5649
  */
5650
+ var NAME = 'popover';
5651
+ var VERSION = '4.1.0';
5652
+ var DATA_KEY = 'bs.popover';
5653
+ var EVENT_KEY = "." + DATA_KEY;
5654
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
5655
+ var CLASS_PREFIX = 'bs-popover';
5656
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
5657
+
5658
+ var Default = _objectSpread({}, Tooltip.Default, {
5659
+ placement: 'right',
5660
+ trigger: 'click',
5661
+ content: '',
5662
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
5663
+ });
5664
 
5665
+ var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
5666
+ content: '(string|element|function)'
5667
+ });
 
 
 
 
 
 
 
 
 
5668
 
5669
+ var ClassName = {
5670
+ FADE: 'fade',
5671
+ SHOW: 'show'
5672
  };
5673
+ var Selector = {
5674
+ TITLE: '.popover-header',
5675
+ CONTENT: '.popover-body'
5676
  };
5677
+ var Event = {
5678
+ HIDE: "hide" + EVENT_KEY,
5679
+ HIDDEN: "hidden" + EVENT_KEY,
5680
+ SHOW: "show" + EVENT_KEY,
5681
+ SHOWN: "shown" + EVENT_KEY,
5682
+ INSERTED: "inserted" + EVENT_KEY,
5683
+ CLICK: "click" + EVENT_KEY,
5684
+ FOCUSIN: "focusin" + EVENT_KEY,
5685
+ FOCUSOUT: "focusout" + EVENT_KEY,
5686
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
5687
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
5688
+ /**
5689
+ * ------------------------------------------------------------------------
5690
+ * Class Definition
5691
+ * ------------------------------------------------------------------------
5692
+ */
5693
 
 
 
 
5694
  };
5695
 
5696
+ var Popover =
5697
+ /*#__PURE__*/
5698
+ function (_Tooltip) {
5699
+ _inheritsLoose(Popover, _Tooltip);
5700
 
5701
+ function Popover() {
5702
+ return _Tooltip.apply(this, arguments) || this;
5703
+ }
5704
 
5705
+ var _proto = Popover.prototype;
5706
 
5707
+ // Overrides
5708
+ _proto.isWithContent = function isWithContent() {
5709
+ return this.getTitle() || this._getContent();
5710
+ };
5711
+
5712
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
5713
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
5714
+ };
5715
 
5716
+ _proto.getTipElement = function getTipElement() {
5717
+ this.tip = this.tip || $$$1(this.config.template)[0];
5718
+ return this.tip;
5719
+ };
5720
 
5721
+ _proto.setContent = function setContent() {
5722
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
5723
 
5724
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
 
 
5725
 
5726
+ var content = this._getContent();
 
 
5727
 
5728
+ if (typeof content === 'function') {
5729
+ content = content.call(this.element);
5730
+ }
5731
+
5732
+ this.setElementContent($tip.find(Selector.CONTENT), content);
5733
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
5734
+ }; // Private
5735
 
5736
 
5737
+ _proto._getContent = function _getContent() {
5738
+ return this.element.getAttribute('data-content') || this.config.content;
5739
+ };
5740
 
5741
+ _proto._cleanTipClass = function _cleanTipClass() {
5742
+ var $tip = $$$1(this.getTipElement());
5743
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
5744
 
5745
+ if (tabClass !== null && tabClass.length > 0) {
5746
+ $tip.removeClass(tabClass.join(''));
5747
  }
5748
+ }; // Static
5749
+
5750
+
5751
+ Popover._jQueryInterface = function _jQueryInterface(config) {
5752
+ return this.each(function () {
5753
+ var data = $$$1(this).data(DATA_KEY);
5754
+
5755
+ var _config = typeof config === 'object' ? config : null;
5756
+
5757
+ if (!data && /destroy|hide/.test(config)) {
5758
+ return;
5759
+ }
5760
+
5761
+ if (!data) {
5762
+ data = new Popover(this, _config);
5763
+ $$$1(this).data(DATA_KEY, data);
5764
+ }
5765
 
5766
+ if (typeof config === 'string') {
5767
+ if (typeof data[config] === 'undefined') {
5768
+ throw new TypeError("No method named \"" + config + "\"");
5769
+ }
5770
 
5771
+ data[config]();
 
 
5772
  }
5773
+ });
5774
+ };
5775
 
5776
+ _createClass(Popover, null, [{
5777
+ key: "VERSION",
5778
+ // Getters
5779
+ get: function get() {
5780
+ return VERSION;
5781
  }
5782
+ }, {
5783
+ key: "Default",
5784
+ get: function get() {
5785
+ return Default;
5786
+ }
5787
+ }, {
5788
+ key: "NAME",
5789
+ get: function get() {
5790
+ return NAME;
5791
+ }
5792
+ }, {
5793
+ key: "DATA_KEY",
5794
+ get: function get() {
5795
+ return DATA_KEY;
5796
+ }
5797
+ }, {
5798
+ key: "Event",
5799
+ get: function get() {
5800
+ return Event;
5801
+ }
5802
+ }, {
5803
+ key: "EVENT_KEY",
5804
+ get: function get() {
5805
+ return EVENT_KEY;
5806
+ }
5807
+ }, {
5808
+ key: "DefaultType",
5809
+ get: function get() {
5810
+ return DefaultType;
5811
+ }
5812
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5813
 
5814
+ return Popover;
5815
+ }(Tooltip);
5816
+ /**
5817
+ * ------------------------------------------------------------------------
5818
+ * jQuery
5819
+ * ------------------------------------------------------------------------
5820
+ */
5821
 
 
 
5822
 
5823
+ $$$1.fn[NAME] = Popover._jQueryInterface;
5824
+ $$$1.fn[NAME].Constructor = Popover;
 
 
5825
 
5826
+ $$$1.fn[NAME].noConflict = function () {
5827
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
5828
+ return Popover._jQueryInterface;
5829
+ };
5830
 
5831
+ return Popover;
5832
+ }($);
 
 
 
 
5833
 
 
5834
  /**
5835
+ * --------------------------------------------------------------------------
5836
+ * Bootstrap (v4.1.0): scrollspy.js
5837
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5838
+ * --------------------------------------------------------------------------
5839
  */
5840
+
5841
+ var ScrollSpy = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5842
  /**
5843
  * ------------------------------------------------------------------------
5844
+ * Constants
5845
  * ------------------------------------------------------------------------
5846
  */
5847
+ var NAME = 'scrollspy';
5848
+ var VERSION = '4.1.0';
5849
+ var DATA_KEY = 'bs.scrollspy';
5850
+ var EVENT_KEY = "." + DATA_KEY;
5851
+ var DATA_API_KEY = '.data-api';
5852
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
5853
+ var Default = {
5854
+ offset: 10,
5855
+ method: 'auto',
5856
+ target: ''
5857
+ };
5858
+ var DefaultType = {
5859
+ offset: 'number',
5860
+ method: 'string',
5861
+ target: '(string|element)'
5862
+ };
5863
+ var Event = {
5864
+ ACTIVATE: "activate" + EVENT_KEY,
5865
+ SCROLL: "scroll" + EVENT_KEY,
5866
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
5867
+ };
5868
+ var ClassName = {
5869
+ DROPDOWN_ITEM: 'dropdown-item',
5870
+ DROPDOWN_MENU: 'dropdown-menu',
5871
+ ACTIVE: 'active'
5872
+ };
5873
+ var Selector = {
5874
+ DATA_SPY: '[data-spy="scroll"]',
5875
+ ACTIVE: '.active',
5876
+ NAV_LIST_GROUP: '.nav, .list-group',
5877
+ NAV_LINKS: '.nav-link',
5878
+ NAV_ITEMS: '.nav-item',
5879
+ LIST_ITEMS: '.list-group-item',
5880
+ DROPDOWN: '.dropdown',
5881
+ DROPDOWN_ITEMS: '.dropdown-item',
5882
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
5883
+ };
5884
+ var OffsetMethod = {
5885
+ OFFSET: 'offset',
5886
+ POSITION: 'position'
5887
+ /**
5888
+ * ------------------------------------------------------------------------
5889
+ * Class Definition
5890
+ * ------------------------------------------------------------------------
5891
+ */
5892
 
5893
+ };
 
 
 
 
 
 
5894
 
5895
+ var ScrollSpy =
5896
+ /*#__PURE__*/
5897
+ function () {
5898
+ function ScrollSpy(element, config) {
5899
+ var _this = this;
5900
+
5901
+ this._element = element;
5902
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
5903
+ this._config = this._getConfig(config);
5904
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
5905
+ this._offsets = [];
5906
+ this._targets = [];
5907
+ this._activeTarget = null;
5908
+ this._scrollHeight = 0;
5909
+ $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
5910
+ return _this._process(event);
5911
+ });
5912
+ this.refresh();
5913
 
5914
+ this._process();
5915
+ } // Getters
5916
 
5917
 
5918
+ var _proto = ScrollSpy.prototype;
5919
 
5920
+ // Public
5921
+ _proto.refresh = function refresh() {
5922
+ var _this2 = this;
5923
 
5924
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
5925
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
5926
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
5927
+ this._offsets = [];
5928
+ this._targets = [];
5929
+ this._scrollHeight = this._getScrollHeight();
5930
+ var targets = $$$1.makeArray($$$1(this._selector));
5931
+ targets.map(function (element) {
5932
+ var target;
5933
+ var targetSelector = Util.getSelectorFromElement(element);
5934
 
5935
+ if (targetSelector) {
5936
+ target = $$$1(targetSelector)[0];
5937
+ }
5938
 
5939
+ if (target) {
5940
+ var targetBCR = target.getBoundingClientRect();
5941
 
5942
+ if (targetBCR.width || targetBCR.height) {
5943
+ // TODO (fat): remove sketch reliance on jQuery position/offset
5944
+ return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
5945
+ }
5946
  }
 
5947
 
5948
+ return null;
5949
+ }).filter(function (item) {
5950
+ return item;
5951
+ }).sort(function (a, b) {
5952
+ return a[0] - b[0];
5953
+ }).forEach(function (item) {
5954
+ _this2._offsets.push(item[0]);
5955
 
5956
+ _this2._targets.push(item[1]);
5957
+ });
5958
+ };
5959
+
5960
+ _proto.dispose = function dispose() {
5961
+ $$$1.removeData(this._element, DATA_KEY);
5962
+ $$$1(this._scrollElement).off(EVENT_KEY);
5963
+ this._element = null;
5964
+ this._scrollElement = null;
5965
+ this._config = null;
5966
+ this._selector = null;
5967
+ this._offsets = null;
5968
+ this._targets = null;
5969
+ this._activeTarget = null;
5970
+ this._scrollHeight = null;
5971
+ }; // Private
5972
 
 
 
 
 
 
 
 
 
 
 
 
 
5973
 
5974
+ _proto._getConfig = function _getConfig(config) {
5975
+ config = _objectSpread({}, Default, config);
5976
 
5977
+ if (typeof config.target !== 'string') {
5978
+ var id = $$$1(config.target).attr('id');
5979
 
5980
+ if (!id) {
5981
+ id = Util.getUID(NAME);
5982
+ $$$1(config.target).attr('id', id);
5983
+ }
5984
 
5985
+ config.target = "#" + id;
 
 
5986
  }
5987
 
5988
+ Util.typeCheckConfig(NAME, config, DefaultType);
5989
+ return config;
5990
+ };
5991
 
5992
+ _proto._getScrollTop = function _getScrollTop() {
5993
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
5994
+ };
5995
 
5996
+ _proto._getScrollHeight = function _getScrollHeight() {
5997
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
5998
+ };
5999
 
6000
+ _proto._getOffsetHeight = function _getOffsetHeight() {
6001
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
6002
+ };
6003
 
6004
+ _proto._process = function _process() {
6005
+ var scrollTop = this._getScrollTop() + this._config.offset;
 
6006
 
6007
+ var scrollHeight = this._getScrollHeight();
 
6008
 
6009
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
6010
 
6011
+ if (this._scrollHeight !== scrollHeight) {
6012
+ this.refresh();
6013
+ }
6014
 
6015
+ if (scrollTop >= maxScroll) {
6016
+ var target = this._targets[this._targets.length - 1];
 
6017
 
6018
+ if (this._activeTarget !== target) {
6019
+ this._activate(target);
6020
+ }
6021
 
6022
+ return;
 
6023
  }
6024
 
6025
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
6026
+ this._activeTarget = null;
 
 
 
6027
 
6028
+ this._clear();
6029
 
6030
+ return;
6031
+ }
6032
 
6033
+ for (var i = this._offsets.length; i--;) {
6034
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
6035
 
6036
+ if (isActiveTarget) {
6037
+ this._activate(this._targets[i]);
6038
+ }
6039
  }
6040
+ };
 
6041
 
6042
+ _proto._activate = function _activate(target) {
6043
+ this._activeTarget = target;
6044
 
6045
+ this._clear();
6046
 
6047
+ var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
6048
 
6049
 
6050
+ queries = queries.map(function (selector) {
6051
+ return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
6052
+ });
6053
+ var $link = $$$1(queries.join(','));
6054
 
6055
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
6056
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
6057
+ $link.addClass(ClassName.ACTIVE);
6058
+ } else {
6059
+ // Set triggered link as active
6060
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
6061
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
6062
 
6063
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
6064
 
6065
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
6066
+ }
6067
 
6068
+ $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
6069
+ relatedTarget: target
6070
+ });
6071
+ };
6072
 
6073
+ _proto._clear = function _clear() {
6074
+ $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
6075
+ }; // Static
6076
 
6077
 
6078
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
6079
+ return this.each(function () {
6080
+ var data = $$$1(this).data(DATA_KEY);
6081
 
6082
+ var _config = typeof config === 'object' && config;
6083
 
6084
+ if (!data) {
6085
+ data = new ScrollSpy(this, _config);
6086
+ $$$1(this).data(DATA_KEY, data);
6087
+ }
6088
+
6089
+ if (typeof config === 'string') {
6090
+ if (typeof data[config] === 'undefined') {
6091
+ throw new TypeError("No method named \"" + config + "\"");
6092
+ }
6093
 
6094
+ data[config]();
 
 
6095
  }
6096
+ });
6097
+ };
6098
 
6099
+ _createClass(ScrollSpy, null, [{
6100
+ key: "VERSION",
6101
+ get: function get() {
6102
+ return VERSION;
6103
  }
6104
+ }, {
6105
+ key: "Default",
6106
+ get: function get() {
6107
+ return Default;
6108
+ }
6109
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6110
 
6111
+ return ScrollSpy;
6112
+ }();
6113
+ /**
6114
+ * ------------------------------------------------------------------------
6115
+ * Data Api implementation
6116
+ * ------------------------------------------------------------------------
6117
+ */
6118
 
 
 
6119
 
6120
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
6121
+ var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
6122
 
6123
+ for (var i = scrollSpys.length; i--;) {
6124
+ var $spy = $$$1(scrollSpys[i]);
 
 
 
 
 
 
6125
 
6126
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
6127
+ }
6128
+ });
6129
+ /**
6130
+ * ------------------------------------------------------------------------
6131
+ * jQuery
6132
+ * ------------------------------------------------------------------------
6133
+ */
6134
 
6135
+ $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
6136
+ $$$1.fn[NAME].Constructor = ScrollSpy;
 
 
6137
 
6138
+ $$$1.fn[NAME].noConflict = function () {
6139
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
6140
+ return ScrollSpy._jQueryInterface;
6141
+ };
6142
 
6143
+ return ScrollSpy;
6144
+ }($);
 
 
 
 
6145
 
 
6146
  /**
6147
+ * --------------------------------------------------------------------------
6148
+ * Bootstrap (v4.1.0): tab.js
6149
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6150
+ * --------------------------------------------------------------------------
6151
  */
6152
+
6153
+ var Tab = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6154
  /**
6155
  * ------------------------------------------------------------------------
6156
+ * Constants
6157
  * ------------------------------------------------------------------------
6158
  */
6159
+ var NAME = 'tab';
6160
+ var VERSION = '4.1.0';
6161
+ var DATA_KEY = 'bs.tab';
6162
+ var EVENT_KEY = "." + DATA_KEY;
6163
+ var DATA_API_KEY = '.data-api';
6164
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
6165
+ var Event = {
6166
+ HIDE: "hide" + EVENT_KEY,
6167
+ HIDDEN: "hidden" + EVENT_KEY,
6168
+ SHOW: "show" + EVENT_KEY,
6169
+ SHOWN: "shown" + EVENT_KEY,
6170
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
6171
+ };
6172
+ var ClassName = {
6173
+ DROPDOWN_MENU: 'dropdown-menu',
6174
+ ACTIVE: 'active',
6175
+ DISABLED: 'disabled',
6176
+ FADE: 'fade',
6177
+ SHOW: 'show'
6178
+ };
6179
+ var Selector = {
6180
+ DROPDOWN: '.dropdown',
6181
+ NAV_LIST_GROUP: '.nav, .list-group',
6182
+ ACTIVE: '.active',
6183
+ ACTIVE_UL: '> li > .active',
6184
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
6185
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
6186
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
6187
+ /**
6188
+ * ------------------------------------------------------------------------
6189
+ * Class Definition
6190
+ * ------------------------------------------------------------------------
6191
+ */
6192
 
6193
+ };
6194
 
6195
+ var Tab =
6196
+ /*#__PURE__*/
6197
+ function () {
6198
+ function Tab(element) {
6199
+ this._element = element;
6200
+ } // Getters
6201
 
6202
 
6203
+ var _proto = Tab.prototype;
6204
 
6205
+ // Public
6206
+ _proto.show = function show() {
6207
+ var _this = this;
6208
 
6209
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
6210
+ return;
6211
+ }
6212
 
6213
+ var target;
6214
+ var previous;
6215
+ var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
6216
+ var selector = Util.getSelectorFromElement(this._element);
6217
+
6218
+ if (listElement) {
6219
+ var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
6220
+ previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
6221
+ previous = previous[previous.length - 1];
6222
+ }
6223
 
6224
+ var hideEvent = $$$1.Event(Event.HIDE, {
6225
+ relatedTarget: this._element
6226
+ });
6227
+ var showEvent = $$$1.Event(Event.SHOW, {
6228
+ relatedTarget: previous
6229
+ });
6230
 
6231
+ if (previous) {
6232
+ $$$1(previous).trigger(hideEvent);
6233
+ }
6234
 
6235
+ $$$1(this._element).trigger(showEvent);
6236
 
6237
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
6238
+ return;
6239
+ }
6240
 
6241
+ if (selector) {
6242
+ target = $$$1(selector)[0];
6243
+ }
6244
 
6245
+ this._activate(this._element, listElement);
6246
 
6247
+ var complete = function complete() {
6248
+ var hiddenEvent = $$$1.Event(Event.HIDDEN, {
6249
+ relatedTarget: _this._element
6250
+ });
6251
+ var shownEvent = $$$1.Event(Event.SHOWN, {
6252
+ relatedTarget: previous
6253
+ });
6254
+ $$$1(previous).trigger(hiddenEvent);
6255
+ $$$1(_this._element).trigger(shownEvent);
6256
+ };
6257
+
6258
+ if (target) {
6259
+ this._activate(target, target.parentNode, complete);
6260
+ } else {
6261
+ complete();
6262
+ }
6263
  };
6264
 
6265
+ _proto.dispose = function dispose() {
6266
+ $$$1.removeData(this._element, DATA_KEY);
6267
+ this._element = null;
6268
+ }; // Private
 
 
6269
 
 
 
 
 
6270
 
6271
+ _proto._activate = function _activate(element, container, callback) {
6272
+ var _this2 = this;
6273
 
6274
+ var activeElements;
 
6275
 
6276
+ if (container.nodeName === 'UL') {
6277
+ activeElements = $$$1(container).find(Selector.ACTIVE_UL);
6278
+ } else {
6279
+ activeElements = $$$1(container).children(Selector.ACTIVE);
6280
+ }
6281
 
6282
+ var active = activeElements[0];
6283
+ var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
 
 
 
6284
 
6285
+ var complete = function complete() {
6286
+ return _this2._transitionComplete(element, active, callback);
6287
+ };
6288
 
6289
+ if (active && isTransitioning) {
6290
+ var transitionDuration = Util.getTransitionDurationFromElement(active);
6291
+ $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
6292
+ } else {
6293
+ complete();
6294
+ }
6295
  };
6296
 
6297
+ _proto._transitionComplete = function _transitionComplete(element, active, callback) {
6298
+ if (active) {
6299
+ $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
6300
+ var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
 
 
6301
 
6302
+ if (dropdownChild) {
6303
+ $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
6304
+ }
 
6305
 
6306
+ if (active.getAttribute('role') === 'tab') {
6307
+ active.setAttribute('aria-selected', false);
6308
+ }
6309
  }
6310
 
6311
+ $$$1(element).addClass(ClassName.ACTIVE);
 
 
 
6312
 
6313
+ if (element.getAttribute('role') === 'tab') {
6314
+ element.setAttribute('aria-selected', true);
6315
+ }
6316
 
6317
+ Util.reflow(element);
6318
+ $$$1(element).addClass(ClassName.SHOW);
 
6319
 
6320
+ if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
6321
+ var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
6322
 
6323
+ if (dropdownElement) {
6324
+ $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
6325
+ }
6326
 
6327
+ element.setAttribute('aria-expanded', true);
 
6328
  }
6329
 
6330
+ if (callback) {
6331
+ callback();
6332
+ }
6333
+ }; // Static
6334
 
 
 
 
 
6335
 
6336
+ Tab._jQueryInterface = function _jQueryInterface(config) {
6337
+ return this.each(function () {
6338
+ var $this = $$$1(this);
6339
+ var data = $this.data(DATA_KEY);
6340
 
6341
+ if (!data) {
6342
+ data = new Tab(this);
6343
+ $this.data(DATA_KEY, data);
6344
+ }
6345
 
6346
+ if (typeof config === 'string') {
6347
+ if (typeof data[config] === 'undefined') {
6348
+ throw new TypeError("No method named \"" + config + "\"");
6349
+ }
6350
 
6351
+ data[config]();
 
 
6352
  }
6353
+ });
6354
+ };
6355
 
6356
+ _createClass(Tab, null, [{
6357
+ key: "VERSION",
6358
+ get: function get() {
6359
+ return VERSION;
6360
  }
6361
+ }]);
 
6362
 
6363
+ return Tab;
6364
+ }();
6365
+ /**
6366
+ * ------------------------------------------------------------------------
6367
+ * Data Api implementation
6368
+ * ------------------------------------------------------------------------
6369
+ */
 
 
 
 
 
 
6370
 
6371
 
6372
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
6373
+ event.preventDefault();
6374
 
6375
+ Tab._jQueryInterface.call($$$1(this), 'show');
6376
+ });
6377
+ /**
6378
+ * ------------------------------------------------------------------------
6379
+ * jQuery
6380
+ * ------------------------------------------------------------------------
6381
+ */
6382
 
6383
+ $$$1.fn[NAME] = Tab._jQueryInterface;
6384
+ $$$1.fn[NAME].Constructor = Tab;
6385
 
6386
+ $$$1.fn[NAME].noConflict = function () {
6387
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
6388
+ return Tab._jQueryInterface;
6389
+ };
6390
 
6391
+ return Tab;
6392
+ }($);
6393
 
6394
+ /**
6395
+ * --------------------------------------------------------------------------
6396
+ * Bootstrap (v4.0.0): index.js
6397
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6398
+ * --------------------------------------------------------------------------
6399
+ */
6400
 
6401
+ (function ($$$1) {
6402
+ if (typeof $$$1 === 'undefined') {
6403
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
6404
+ }
6405
 
6406
+ var version = $$$1.fn.jquery.split(' ')[0].split('.');
6407
+ var minMajor = 1;
6408
+ var ltMajor = 2;
6409
+ var minMinor = 9;
6410
+ var minPatch = 1;
6411
+ var maxMajor = 4;
6412
 
6413
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
6414
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
6415
+ }
6416
+ })($);
6417
+
6418
+ exports.Util = Util;
6419
+ exports.Alert = Alert;
6420
+ exports.Button = Button;
6421
+ exports.Carousel = Carousel;
6422
+ exports.Collapse = Collapse;
6423
+ exports.Dropdown = Dropdown;
6424
+ exports.Modal = Modal;
6425
+ exports.Popover = Popover;
6426
+ exports.Scrollspy = ScrollSpy;
6427
+ exports.Tab = Tab;
6428
+ exports.Tooltip = Tooltip;
6429
+
6430
+ Object.defineProperty(exports, '__esModule', { value: true });
6431
 
6432
  })));
6433
  //# sourceMappingURL=bootstrap.bundle.js.map
resources/js/bootstrap4.bundle.min.js CHANGED
@@ -1,7 +1,7 @@
1
  /*!
2
- * Bootstrap v4.0.0 (https://getbootstrap.com)
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,e){"use strict";function n(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}for(var o,s,a,l,c,h,f,u,d,p,g,m,_,v,E,y,b,T,C,w,I,A,D,S,O,N,k=function(t){var e=!1;function n(e){var n=this,r=!1;return t(this).one(i.TRANSITION_END,function(){r=!0}),setTimeout(function(){r||i.triggerTransitionEnd(n)},e),this}var i={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n,i=e.getAttribute("data-target");i&&"#"!==i||(i=e.getAttribute("href")||""),"#"===i.charAt(0)&&(n=i,i=n="function"==typeof t.escapeSelector?t.escapeSelector(n).substr(1):n.replace(/(:|\.|\[|\]|,|=|@)/g,"\\$1"));try{return t(document).find(i).length>0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var o=n[r],s=e[r],a=s&&i.isElement(s)?"element":(l=s,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(o).test(a))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+a+'" but expected type "'+o+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e=e&&e.hasOwnProperty("default")?e.default:e),L=(s="alert",l="."+(a="bs.alert"),c=(o=e).fn[s],h={CLOSE:"close"+l,CLOSED:"closed"+l,CLICK_DATA_API:"click"+l+".data-api"},f="alert",u="fade",d="show",p=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,a),this._element=null},e._getRootElement=function(t){var e=k.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(h.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(d),k.supportsTransitionEnd()&&o(t).hasClass(u)?o(t).one(k.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(h.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(a);i||(i=new t(this),n.data(a,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},i(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),o.fn[s]=p._jQueryInterface,o.fn[s].Constructor=p,o.fn[s].noConflict=function(){return o.fn[s]=c,p._jQueryInterface},p),P=(m="button",v="."+(_="bs.button"),E=".data-api",y=(g=e).fn[m],b="active",T="btn",C="focus",w='[data-toggle^="button"]',I='[data-toggle="buttons"]',A="input",D=".active",S=".btn",O={CLICK_DATA_API:"click"+v+E,FOCUS_BLUR_DATA_API:"focus"+v+E+" blur"+v+E},N=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(I)[0];if(n){var i=g(this._element).find(A)[0];if(i){if("radio"===i.type)if(i.checked&&g(this._element).hasClass(b))t=!1;else{var r=g(n).find(D)[0];r&&g(r).removeClass(b)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!g(this._element).hasClass(b),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!g(this._element).hasClass(b)),t&&g(this._element).toggleClass(b)},e.dispose=function(){g.removeData(this._element,_),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=g(this).data(_);n||(n=new t(this),g(this).data(_,n)),"toggle"===e&&n[e]()})},i(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),g(document).on(O.CLICK_DATA_API,w,function(t){t.preventDefault();var e=t.target;g(e).hasClass(T)||(e=g(e).closest(S)),N._jQueryInterface.call(g(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(S)[0];g(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),g.fn[m]=N._jQueryInterface,g.fn[m].Constructor=N,g.fn[m].noConflict=function(){return g.fn[m]=y,N._jQueryInterface},N),x=function(t){var e="carousel",n="bs.carousel",o="."+n,s=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},c="next",h="prev",f="left",u="right",d={SLIDE:"slide"+o,SLID:"slid"+o,KEYDOWN:"keydown"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o,TOUCHEND:"touchend"+o,LOAD_DATA_API:"load"+o+".data-api",CLICK_DATA_API:"click"+o+".data-api"},p="carousel",g="active",m="slide",_="carousel-item-right",v="carousel-item-left",E="carousel-item-next",y="carousel-item-prev",b={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function s(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(b.INDICATORS)[0],this._addEventListeners()}var T=s.prototype;return T.next=function(){this._isSliding||this._slide(c)},T.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},T.prev=function(){this._isSliding||this._slide(h)},T.pause=function(e){e||(this._isPaused=!0),t(this._element).find(b.NEXT_PREV)[0]&&k.supportsTransitionEnd()&&(k.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},T.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},T.to=function(e){var n=this;this._activeElement=t(this._element).find(b.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var r=e>i?c:h;this._slide(r,this._items[e])}},T.dispose=function(){t(this._element).off(o),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},T._getConfig=function(t){return t=r({},a,t),k.typeCheckConfig(e,t,l),t},T._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},T._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},T._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(b.ITEM)),this._items.indexOf(e)},T._getItemByDirection=function(t,e){var n=t===c,i=t===h,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===h?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},T._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),r=this._getItemIndex(t(this._element).find(b.ACTIVE_ITEM)[0]),o=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:r,to:i});return t(this._element).trigger(o),o},T._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(b.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},T._slide=function(e,n){var i,r,o,s=this,a=t(this._element).find(b.ACTIVE_ITEM)[0],l=this._getItemIndex(a),h=n||a&&this._getItemByDirection(e,a),p=this._getItemIndex(h),T=Boolean(this._interval);if(e===c?(i=v,r=E,o=f):(i=_,r=y,o=u),h&&t(h).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(h,o).isDefaultPrevented()&&a&&h){this._isSliding=!0,T&&this.pause(),this._setActiveIndicatorElement(h);var C=t.Event(d.SLID,{relatedTarget:h,direction:o,from:l,to:p});k.supportsTransitionEnd()&&t(this._element).hasClass(m)?(t(h).addClass(r),k.reflow(h),t(a).addClass(i),t(h).addClass(i),t(a).one(k.TRANSITION_END,function(){t(h).removeClass(i+" "+r).addClass(g),t(a).removeClass(g+" "+r+" "+i),s._isSliding=!1,setTimeout(function(){return t(s._element).trigger(C)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(h).addClass(g),this._isSliding=!1,t(this._element).trigger(C)),T&&this.cycle()}},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),o=r({},a,t(this).data());"object"==typeof e&&(o=r({},o,e));var l="string"==typeof e?e:o.slide;if(i||(i=new s(this,o),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else o.interval&&(i.pause(),i.cycle())})},s._dataApiClickHandler=function(e){var i=k.getSelectorFromElement(this);if(i){var o=t(i)[0];if(o&&t(o).hasClass(p)){var a=r({},t(o).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),s._jQueryInterface.call(t(o),a),l&&t(o).data(n).to(l),e.preventDefault()}}},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),s}();return t(document).on(d.CLICK_DATA_API,b.DATA_SLIDE,T._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(b.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=s,T._jQueryInterface},T}(e),R=function(t){var e="collapse",n="bs.collapse",o="."+n,s=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},c={SHOW:"show"+o,SHOWN:"shown"+o,HIDE:"hide"+o,HIDDEN:"hidden"+o,CLICK_DATA_API:"click"+o+".data-api"},h="show",f="collapse",u="collapsing",d="collapsed",p="width",g="height",m={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},_=function(){function o(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(m.DATA_TOGGLE),r=0;r<i.length;r++){var o=i[r],s=k.getSelectorFromElement(o);null!==s&&t(s).filter(e).length>0&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var s=o.prototype;return s.toggle=function(){t(this._element).hasClass(h)?this.hide():this.show()},s.show=function(){var e,i,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(h)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(m.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(i=t(e).not(this._selector).data(n))&&i._isTransitioning))){var s=t.Event(c.SHOW);if(t(this._element).trigger(s),!s.isDefaultPrevented()){e&&(o._jQueryInterface.call(t(e).not(this._selector),"hide"),i||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(f).addClass(u),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(u).addClass(f).addClass(h),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(c.SHOWN)};if(k.supportsTransitionEnd()){var p="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(k.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[p]+"px"}else l()}}},s.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(h)){var n=t.Event(c.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",k.reflow(this._element),t(this._element).addClass(u).removeClass(f).removeClass(h),this._triggerArray.length>0)for(var r=0;r<this._triggerArray.length;r++){var o=this._triggerArray[r],s=k.getSelectorFromElement(o);if(null!==s)t(s).hasClass(h)||t(o).addClass(d).attr("aria-expanded",!1)}this.setTransitioning(!0);var a=function(){e.setTransitioning(!1),t(e._element).removeClass(u).addClass(f).trigger(c.HIDDEN)};this._element.style[i]="",k.supportsTransitionEnd()?t(this._element).one(k.TRANSITION_END,a).emulateTransitionEnd(600):a()}}},s.setTransitioning=function(t){this._isTransitioning=t},s.dispose=function(){t.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},s._getConfig=function(t){return(t=r({},a,t)).toggle=Boolean(t.toggle),k.typeCheckConfig(e,t,l),t},s._getDimension=function(){return t(this._element).hasClass(p)?p:g},s._getParent=function(){var e=this,n=null;k.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=t(this._config.parent)[0];var i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(o._getTargetFromElement(n),[n])}),n},s._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(h);n.length>0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},o._getTargetFromElement=function(e){var n=k.getSelectorFromElement(e);return n?t(n)[0]:null},o._jQueryInterface=function(e){return this.each(function(){var i=t(this),s=i.data(n),l=r({},a,i.data(),"object"==typeof e&&e);if(!s&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),s||(s=new o(this,l),i.data(n,s)),"string"==typeof e){if("undefined"==typeof s[e])throw new TypeError('No method named "'+e+'"');s[e]()}})},i(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(c.CLICK_DATA_API,m.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),r=k.getSelectorFromElement(this);t(r).each(function(){var e=t(this),r=e.data(n)?"toggle":i.data();_._jQueryInterface.call(e,r)})}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=s,_._jQueryInterface},_}(e),j="undefined"!=typeof window&&"undefined"!=typeof document,H=["Edge","Trident","Firefox"],M=0,W=0;W<H.length;W+=1)if(j&&navigator.userAgent.indexOf(H[W])>=0){M=1;break}var U=j&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},M))}};function B(t){return t&&"[object Function]"==={}.toString.call(t)}function F(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function K(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function V(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=F(t),n=e.overflow,i=e.overflowX,r=e.overflowY;return/(auto|scroll)/.test(n+r+i)?t:V(K(t))}function Q(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===F(e,"position")?Q(e):e:t?t.ownerDocument.documentElement:document.documentElement}function Y(t){return null!==t.parentNode?Y(t.parentNode):t}function G(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(t!==l&&e!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&Q(s.firstElementChild)!==s?Q(l):l;var c=Y(t);return c.host?G(c.host,e):G(t,Y(e).host)}function q(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function z(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}var X=void 0,Z=function(){return void 0===X&&(X=-1!==navigator.appVersion.indexOf("MSIE 10")),X};function J(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Z()?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function $(){var t=document.body,e=document.documentElement,n=Z()&&getComputedStyle(e);return{height:J("Height",t,e,n),width:J("Width",t,e,n)}}var tt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},et=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),nt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},it=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function rt(t){return it({},t,{right:t.left+t.width,bottom:t.top+t.height})}function ot(t){var e={};if(Z())try{e=t.getBoundingClientRect();var n=q(t,"top"),i=q(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}catch(t){}else e=t.getBoundingClientRect();var r={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},o="HTML"===t.nodeName?$():{},s=o.width||t.clientWidth||r.right-r.left,a=o.height||t.clientHeight||r.bottom-r.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var h=F(t);l-=z(h,"x"),c-=z(h,"y"),r.width-=l,r.height-=c}return rt(r)}function st(t,e){var n=Z(),i="HTML"===e.nodeName,r=ot(t),o=ot(e),s=V(t),a=F(e),l=parseFloat(a.borderTopWidth,10),c=parseFloat(a.borderLeftWidth,10),h=rt({top:r.top-o.top-l,left:r.left-o.left-c,width:r.width,height:r.height});if(h.marginTop=0,h.marginLeft=0,!n&&i){var f=parseFloat(a.marginTop,10),u=parseFloat(a.marginLeft,10);h.top-=l-f,h.bottom-=l-f,h.left-=c-u,h.right-=c-u,h.marginTop=f,h.marginLeft=u}return(n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=q(e,"top"),r=q(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}(h,e)),h}function at(t,e,n,i){var r,o,s,a,l,c,h,f={top:0,left:0},u=G(t,e);if("viewport"===i)o=(r=u).ownerDocument.documentElement,s=st(r,o),a=Math.max(o.clientWidth,window.innerWidth||0),l=Math.max(o.clientHeight,window.innerHeight||0),c=q(o),h=q(o,"left"),f=rt({top:c-s.top+s.marginTop,left:h-s.left+s.marginLeft,width:a,height:l});else{var d=void 0;"scrollParent"===i?"BODY"===(d=V(K(e))).nodeName&&(d=t.ownerDocument.documentElement):d="window"===i?t.ownerDocument.documentElement:i;var p=st(d,u);if("HTML"!==d.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===F(e,"position")||t(K(e)))}(u))f=p;else{var g=$(),m=g.height,_=g.width;f.top+=p.top-p.marginTop,f.bottom=m+p.top,f.left+=p.left-p.marginLeft,f.right=_+p.left}}return f.left+=n,f.top+=n,f.right-=n,f.bottom-=n,f}function lt(t,e,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=at(n,i,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return it({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),h=c.length>0?c[0].key:l[0].key,f=t.split("-")[1];return h+(f?"-"+f:"")}function ct(t,e,n){return st(n,G(e,n))}function ht(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function ft(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function ut(t,e,n){n=n.split("-")[0];var i=ht(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[ft(a)],r}function dt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function pt(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=dt(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&B(n)&&(e.offsets.popper=rt(e.offsets.popper),e.offsets.reference=rt(e.offsets.reference),e=n(e,t))}),e}function gt(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function mt(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length-1;i++){var r=e[i],o=r?""+r+n:t;if("undefined"!=typeof document.body.style[o])return o}return null}function _t(t){var e=t.ownerDocument;return e?e.defaultView:window}function vt(t,e,n,i){n.updateBound=i,_t(t).addEventListener("resize",n.updateBound,{passive:!0});var r=V(t);return function t(e,n,i,r){var o="BODY"===e.nodeName,s=o?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),o||t(V(s.parentNode),n,i,r),r.push(s)}(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function Et(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,_t(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function yt(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function bt(t,e){Object.keys(e).forEach(function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&yt(e[n])&&(i="px"),t.style[n]=e[n]+i})}function Tt(t,e,n){var i=dt(t,function(t){return t.name===e}),r=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!r){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}var Ct=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],wt=Ct.slice(3);function It(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=wt.indexOf(t),i=wt.slice(n+1).concat(wt.slice(0,n));return e?i.reverse():i}var At={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Dt(t,e,n,i){var r=[0,0],o=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(dt(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var r=(1===i?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return rt(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,r,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){yt(n)&&(r[e]+=n*("-"===t[i-1]?-1:1))})}),r}var St={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:nt({},l,o[l]),end:nt({},l,o[l]+o[c]-s[c])};t.offsets.popper=it({},s,h[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=yt(+n)?[+n,0]:Dt(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||Q(t.instance.popper);t.instance.reference===n&&(n=Q(n));var i=at(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=i;var r=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]<i[t]&&!e.escapeWithReference&&(n=Math.max(o[t],i[t])),nt({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=o[n];return o[t]>i[t]&&!e.escapeWithReference&&(r=Math.min(o[n],i[t]-("right"===t?o.width:o.height))),nt({},n,r)}};return r.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=it({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(t.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Tt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var r=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",h=l?"Top":"Left",f=h.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=ht(i)[c];a[d]-p<s[f]&&(t.offsets.popper[f]-=s[f]-(a[d]-p)),a[f]+p>s[d]&&(t.offsets.popper[f]+=a[f]+p-s[d]),t.offsets.popper=rt(t.offsets.popper);var g=a[f]+a[c]/2-p/2,m=F(t.instance.popper),_=parseFloat(m["margin"+h],10),v=parseFloat(m["border"+h+"Width"],10),E=g-t.offsets.popper[f]-_-v;return E=Math.max(Math.min(s[c]-p,E),0),t.arrowElement=i,t.offsets.arrow=(nt(n={},f,Math.round(E)),nt(n,u,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(gt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=at(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),i=t.placement.split("-")[0],r=ft(i),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case At.FLIP:s=[i,r];break;case At.CLOCKWISE:s=It(i);break;case At.COUNTERCLOCKWISE:s=It(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],r=ft(i);var c,h=t.offsets.popper,f=t.offsets.reference,u=Math.floor,d="left"===i&&u(h.right)>u(f.left)||"right"===i&&u(h.left)<u(f.right)||"top"===i&&u(h.bottom)>u(f.top)||"bottom"===i&&u(h.top)<u(f.bottom),p=u(h.left)<u(n.left),g=u(h.right)>u(n.right),m=u(h.top)<u(n.top),_=u(h.bottom)>u(n.bottom),v="left"===i&&p||"right"===i&&g||"top"===i&&m||"bottom"===i&&_,E=-1!==["top","bottom"].indexOf(i),y=!!e.flipVariations&&(E&&"start"===o&&p||E&&"end"===o&&g||!E&&"start"===o&&m||!E&&"end"===o&&_);(d||v||y)&&(t.flipped=!0,(d||v)&&(i=s[l+1]),y&&(o="end"===(c=o)?"start":"start"===c?"end":c),t.placement=i+(o?"-"+o:""),t.offsets.popper=it({},t.offsets.popper,ut(t.instance.popper,t.offsets.reference,t.placement)),t=pt(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=ft(e),t.offsets.popper=rt(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Tt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=dt(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,r=t.offsets.popper,o=dt(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=ot(Q(t.instance.popper)),l={position:r.position},c={left:Math.floor(r.left),top:Math.floor(r.top),bottom:Math.floor(r.bottom),right:Math.floor(r.right)},h="bottom"===n?"top":"bottom",f="right"===i?"left":"right",u=mt("transform"),d=void 0,p=void 0;if(p="bottom"===h?-a.height+c.bottom:c.top,d="right"===f?-a.width+c.right:c.left,s&&u)l[u]="translate3d("+d+"px, "+p+"px, 0)",l[h]=0,l[f]=0,l.willChange="transform";else{var g="bottom"===h?-1:1,m="right"===f?-1:1;l[h]=p*g,l[f]=d*m,l.willChange=h+", "+f}var _={"x-placement":t.placement};return t.attributes=it({},_,t.attributes),t.styles=it({},l,t.styles),t.arrowStyles=it({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return bt(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&bt(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,r){var o=ct(0,e,t),s=lt(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),bt(e,{position:"absolute"}),n},gpuAcceleration:void 0}}},Ot=function(){function t(e,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};tt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=U(this.update.bind(this)),this.options=it({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(it({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=it({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return it({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&B(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return et(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ct(this.state,this.popper,this.reference),t.placement=lt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=ut(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=pt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,gt(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[mt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=vt(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return Et.call(this)}}]),t}();Ot.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ot.placements=Ct,Ot.Defaults=St;var Nt=function(t){var e="dropdown",n="bs.dropdown",o="."+n,s=t.fn[e],a=new RegExp("38|40|27"),l={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+".data-api",KEYDOWN_DATA_API:"keydown"+o+".data-api",KEYUP_DATA_API:"keyup"+o+".data-api"},c="disabled",h="show",f="dropup",u="dropright",d="dropleft",p="dropdown-menu-right",g="dropdown-menu-left",m="position-static",_='[data-toggle="dropdown"]',v=".dropdown form",E=".dropdown-menu",y=".navbar-nav",b=".dropdown-menu .dropdown-item:not(.disabled)",T="top-start",C="top-end",w="bottom-start",I="bottom-end",A="right-start",D="left-start",S={offset:0,flip:!0,boundary:"scrollParent"},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},N=function(){function s(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var v=s.prototype;return v.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(c)){var e=s._getParentFromElement(this._element),n=t(this._menu).hasClass(h);if(s._clearMenus(),!n){var i={relatedTarget:this._element},r=t.Event(l.SHOW,i);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof Ot)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(f)&&(t(this._menu).hasClass(g)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(m),this._popper=new Ot(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(y).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(h),t(e).toggleClass(h).trigger(t.Event(l.SHOWN,i))}}}},v.dispose=function(){t.removeData(this._element,n),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},v.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},v._addEventListeners=function(){var e=this;t(this._element).on(l.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},v._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),k.typeCheckConfig(e,n,this.constructor.DefaultType),n},v._getMenuElement=function(){if(!this._menu){var e=s._getParentFromElement(this._element);this._menu=t(e).find(E)[0]}return this._menu},v._getPlacement=function(){var e=t(this._element).parent(),n=w;return e.hasClass(f)?(n=T,t(this._menu).hasClass(p)&&(n=C)):e.hasClass(u)?n=A:e.hasClass(d)?n=D:t(this._menu).hasClass(p)&&(n=I),n},v._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},v._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new s(this,"object"==typeof e?e:null),t(this).data(n,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var i=t.makeArray(t(_)),r=0;r<i.length;r++){var o=s._getParentFromElement(i[r]),a=t(i[r]).data(n),c={relatedTarget:i[r]};if(a){var f=a._menu;if(t(o).hasClass(h)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&t.contains(o,e.target))){var u=t.Event(l.HIDE,c);t(o).trigger(u),u.isDefaultPrevented()||("ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),i[r].setAttribute("aria-expanded","false"),t(f).removeClass(h),t(o).removeClass(h).trigger(t.Event(l.HIDDEN,c)))}}}},s._getParentFromElement=function(e){var n,i=k.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},s._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||t(e.target).closest(E).length)):a.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!t(this).hasClass(c))){var n=s._getParentFromElement(this),i=t(n).hasClass(h);if((i||27===e.which&&32===e.which)&&(!i||27!==e.which&&32!==e.which)){var r=t(n).find(b).get();if(0!==r.length){var o=r.indexOf(e.target);38===e.which&&o>0&&o--,40===e.which&&o<r.length-1&&o++,o<0&&(o=0),r[o].focus()}}else{if(27===e.which){var l=t(n).find(_)[0];t(l).trigger("focus")}t(this).trigger("click")}}},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return S}},{key:"DefaultType",get:function(){return O}}]),s}();return t(document).on(l.KEYDOWN_DATA_API,_,N._dataApiKeydownHandler).on(l.KEYDOWN_DATA_API,E,N._dataApiKeydownHandler).on(l.CLICK_DATA_API+" "+l.KEYUP_DATA_API,N._clearMenus).on(l.CLICK_DATA_API,_,function(e){e.preventDefault(),e.stopPropagation(),N._jQueryInterface.call(t(this),"toggle")}).on(l.CLICK_DATA_API,v,function(t){t.stopPropagation()}),t.fn[e]=N._jQueryInterface,t.fn[e].Constructor=N,t.fn[e].noConflict=function(){return t.fn[e]=s,N._jQueryInterface},N}(e),kt=function(t){var e="bs.modal",n="."+e,o=t.fn.modal,s={backdrop:!0,keyboard:!0,focus:!0,show:!0},a={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},l={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,FOCUSIN:"focusin"+n,RESIZE:"resize"+n,CLICK_DISMISS:"click.dismiss"+n,KEYDOWN_DISMISS:"keydown.dismiss"+n,MOUSEUP_DISMISS:"mouseup.dismiss"+n,MOUSEDOWN_DISMISS:"mousedown.dismiss"+n,CLICK_DATA_API:"click.bs.modal.data-api"},c="modal-scrollbar-measure",h="modal-backdrop",f="modal-open",u="fade",d="show",p={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},g=function(){function o(e,n){this._config=this._getConfig(n),this._element=e,this._dialog=t(e).find(p.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var g=o.prototype;return g.toggle=function(t){return this._isShown?this.hide():this.show(t)},g.show=function(e){var n=this;if(!this._isTransitioning&&!this._isShown){k.supportsTransitionEnd()&&t(this._element).hasClass(u)&&(this._isTransitioning=!0);var i=t.Event(l.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),t(document.body).addClass(f),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(l.CLICK_DISMISS,p.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(l.MOUSEDOWN_DISMISS,function(){t(n._element).one(l.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},g.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=t.Event(l.HIDE);if(t(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var r=k.supportsTransitionEnd()&&t(this._element).hasClass(u);r&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),t(document).off(l.FOCUSIN),t(this._element).removeClass(d),t(this._element).off(l.CLICK_DISMISS),t(this._dialog).off(l.MOUSEDOWN_DISMISS),r?t(this._element).one(k.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},g.dispose=function(){t.removeData(this._element,e),t(window,document,this._element,this._backdrop).off(n),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},g.handleUpdate=function(){this._adjustDialog()},g._getConfig=function(t){return t=r({},s,t),k.typeCheckConfig("modal",t,a),t},g._showElement=function(e){var n=this,i=k.supportsTransitionEnd()&&t(this._element).hasClass(u);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&k.reflow(this._element),t(this._element).addClass(d),this._config.focus&&this._enforceFocus();var r=t.Event(l.SHOWN,{relatedTarget:e}),o=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(r)};i?t(this._dialog).one(k.TRANSITION_END,o).emulateTransitionEnd(300):o()},g._enforceFocus=function(){var e=this;t(document).off(l.FOCUSIN).on(l.FOCUSIN,function(n){document!==n.target&&e._element!==n.target&&0===t(e._element).has(n.target).length&&e._element.focus()})},g._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(l.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(l.KEYDOWN_DISMISS)},g._setResizeEvent=function(){var e=this;this._isShown?t(window).on(l.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(l.RESIZE)},g._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(f),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(l.HIDDEN)})},g._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},g._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(u)?u:"";if(this._isShown&&this._config.backdrop){var r=k.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=h,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(l.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),r&&k.reflow(this._backdrop),t(this._backdrop).addClass(d),!e)return;if(!r)return void e();t(this._backdrop).one(k.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(d);var o=function(){n._removeBackdrop(),e&&e()};k.supportsTransitionEnd()&&t(this._element).hasClass(u)?t(this._backdrop).one(k.TRANSITION_END,o).emulateTransitionEnd(150):o()}else e&&e()},g._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},g._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},g._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},g._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){t(p.FIXED_CONTENT).each(function(n,i){var r=t(i)[0].style.paddingRight,o=t(i).css("padding-right");t(i).data("padding-right",r).css("padding-right",parseFloat(o)+e._scrollbarWidth+"px")}),t(p.STICKY_CONTENT).each(function(n,i){var r=t(i)[0].style.marginRight,o=t(i).css("margin-right");t(i).data("margin-right",r).css("margin-right",parseFloat(o)-e._scrollbarWidth+"px")}),t(p.NAVBAR_TOGGLER).each(function(n,i){var r=t(i)[0].style.marginRight,o=t(i).css("margin-right");t(i).data("margin-right",r).css("margin-right",parseFloat(o)+e._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},g._resetScrollbar=function(){t(p.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");"undefined"!=typeof i&&t(n).css("padding-right",i).removeData("padding-right")}),t(p.STICKY_CONTENT+", "+p.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");"undefined"!=typeof i&&t(n).css("margin-right",i).removeData("margin-right")});var e=t("body").data("padding-right");"undefined"!=typeof e&&t("body").css("padding-right",e).removeData("padding-right")},g._getScrollbarWidth=function(){var t=document.createElement("div");t.className=c,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var s=t(this).data(e),a=r({},o.Default,t(this).data(),"object"==typeof n&&n);if(s||(s=new o(this,a),t(this).data(e,s)),"string"==typeof n){if("undefined"==typeof s[n])throw new TypeError('No method named "'+n+'"');s[n](i)}else a.show&&s.show(i)})},i(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return s}}]),o}();return t(document).on(l.CLICK_DATA_API,p.DATA_TOGGLE,function(n){var i,o=this,s=k.getSelectorFromElement(this);s&&(i=t(s)[0]);var a=t(i).data(e)?"toggle":r({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||n.preventDefault();var c=t(i).one(l.SHOW,function(e){e.isDefaultPrevented()||c.one(l.HIDDEN,function(){t(o).is(":visible")&&o.focus()})});g._jQueryInterface.call(t(i),a,this)}),t.fn.modal=g._jQueryInterface,t.fn.modal.Constructor=g,t.fn.modal.noConflict=function(){return t.fn.modal=o,g._jQueryInterface},g}(e),Lt=function(t){var e="tooltip",n="bs.tooltip",o="."+n,s=t.fn[e],a=new RegExp("(^|\\s)bs-tooltip\\S+","g"),l={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},c={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},h={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",u="out",d={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},p="fade",g="show",m=".tooltip-inner",_=".arrow",v="hover",E="focus",y="click",b="manual",T=function(){function s(t,e){if("undefined"==typeof Ot)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var T=s.prototype;return T.enable=function(){this._isEnabled=!0},T.disable=function(){this._isEnabled=!1},T.toggleEnabled=function(){this._isEnabled=!this._isEnabled},T.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(g))return void this._leave(null,this);this._enter(null,this)}},T.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},T.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var r=this.getTipElement(),o=k.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(p);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(a);this.addAttachmentClass(l);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Ot(this.element,r,{placement:l,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:_},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(g),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var h=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===u&&e._leave(null,e)};k.supportsTransitionEnd()&&t(this.tip).hasClass(p)?t(this.tip).one(k.TRANSITION_END,h).emulateTransitionEnd(s._TRANSITION_DURATION):h()}},T.hide=function(e){var n=this,i=this.getTipElement(),r=t.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(r),r.isDefaultPrevented()||(t(i).removeClass(g),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[E]=!1,this._activeTrigger[v]=!1,k.supportsTransitionEnd()&&t(this.tip).hasClass(p)?t(i).one(k.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},T.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},T.isWithContent=function(){return Boolean(this.getTitle())},T.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},T.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},T.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(p+" "+g)},T.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},T.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},T._getAttachment=function(t){return c[t.toUpperCase()]},T._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==b){var i=n===v?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,r=n===v?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(r,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},T._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},T._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?E:v]=!0),t(n.getTipElement()).hasClass(g)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},T._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?E:v]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=u,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===u&&n.hide()},n.config.delay.hide):n.hide())},T._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},T._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),k.typeCheckConfig(e,n,this.constructor.DefaultType),n},T._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},T._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},T._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},T._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(p),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),r="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new s(this,r),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return h}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return l}}]),s}();return t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=s,T._jQueryInterface},T}(e),Pt=function(t){var e="popover",n="bs.popover",o="."+n,s=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},Lt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),c=r({},Lt.DefaultType,{content:"(string|element|function)"}),h="fade",f="show",u=".popover-header",d=".popover-body",p={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g=function(r){var s,g;function m(){return r.apply(this,arguments)||this}g=r,(s=m).prototype=Object.create(g.prototype),s.prototype.constructor=s,s.__proto__=g;var _=m.prototype;return _.isWithContent=function(){return this.getTitle()||this._getContent()},_.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},_.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},_.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(u),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(h+" "+f)},_._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},_._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},m._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),r="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new m(this,r),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(m,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return c}}]),m}(Lt);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=s,g._jQueryInterface},g}(e),xt=function(t){var e="scrollspy",n="bs.scrollspy",o="."+n,s=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},c={ACTIVATE:"activate"+o,SCROLL:"scroll"+o,LOAD_DATA_API:"load"+o+".data-api"},h="dropdown-item",f="active",u={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",p="position",g=function(){function s(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+u.NAV_LINKS+","+this._config.target+" "+u.LIST_ITEMS+","+this._config.target+" "+u.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(c.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=s.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:p,i="auto"===this._config.method?n:this._config.method,r=i===p?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,o=k.getSelectorFromElement(e);if(o&&(n=t(o)[0]),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[t(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(o),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=k.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return k.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},g._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(h)?(i.closest(u.DROPDOWN).find(u.DROPDOWN_TOGGLE).addClass(f),i.addClass(f)):(i.addClass(f),i.parents(u.NAV_LIST_GROUP).prev(u.NAV_LINKS+", "+u.LIST_ITEMS).addClass(f),i.parents(u.NAV_LIST_GROUP).prev(u.NAV_ITEMS).children(u.NAV_LINKS).addClass(f)),t(this._scrollElement).trigger(c.ACTIVATE,{relatedTarget:e})},g._clear=function(){t(this._selector).filter(u.ACTIVE).removeClass(f)},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new s(this,"object"==typeof e&&e),t(this).data(n,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),s}();return t(window).on(c.LOAD_DATA_API,function(){for(var e=t.makeArray(t(u.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);g._jQueryInterface.call(i,i.data())}}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=s,g._jQueryInterface},g}(e),Rt=function(t){var e=".bs.tab",n=t.fn.tab,r={HIDE:"hide"+e,HIDDEN:"hidden"+e,SHOW:"show"+e,SHOWN:"shown"+e,CLICK_DATA_API:"click.bs.tab.data-api"},o="dropdown-menu",s="active",a="disabled",l="fade",c="show",h=".dropdown",f=".nav, .list-group",u=".active",d="> li > .active",p='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',g=".dropdown-toggle",m="> .dropdown-menu .active",_=function(){function e(t){this._element=t}var n=e.prototype;return n.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(s)||t(this._element).hasClass(a))){var n,i,o=t(this._element).closest(f)[0],l=k.getSelectorFromElement(this._element);if(o){var c="UL"===o.nodeName?d:u;i=(i=t.makeArray(t(o).find(c)))[i.length-1]}var h=t.Event(r.HIDE,{relatedTarget:this._element}),p=t.Event(r.SHOW,{relatedTarget:i});if(i&&t(i).trigger(h),t(this._element).trigger(p),!p.isDefaultPrevented()&&!h.isDefaultPrevented()){l&&(n=t(l)[0]),this._activate(this._element,o);var g=function(){var n=t.Event(r.HIDDEN,{relatedTarget:e._element}),o=t.Event(r.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,g):g()}}},n.dispose=function(){t.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(e,n,i){var r=this,o=("UL"===n.nodeName?t(n).find(d):t(n).children(u))[0],s=i&&k.supportsTransitionEnd()&&o&&t(o).hasClass(l),a=function(){return r._transitionComplete(e,o,i)};o&&s?t(o).one(k.TRANSITION_END,a).emulateTransitionEnd(150):a()},n._transitionComplete=function(e,n,i){if(n){t(n).removeClass(c+" "+s);var r=t(n.parentNode).find(m)[0];r&&t(r).removeClass(s),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(t(e).addClass(s),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),k.reflow(e),t(e).addClass(c),e.parentNode&&t(e.parentNode).hasClass(o)){var a=t(e).closest(h)[0];a&&t(a).find(g).addClass(s),e.setAttribute("aria-expanded",!0)}i&&i()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),r=i.data("bs.tab");if(r||(r=new e(this),i.data("bs.tab",r)),"string"==typeof n){if("undefined"==typeof r[n])throw new TypeError('No method named "'+n+'"');r[n]()}})},i(e,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),e}();return t(document).on(r.CLICK_DATA_API,p,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn.tab=_._jQueryInterface,t.fn.tab.Constructor=_,t.fn.tab.noConflict=function(){return t.fn.tab=n,_._jQueryInterface},_}(e);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=k,t.Alert=L,t.Button=P,t.Carousel=x,t.Collapse=R,t.Dropdown=Nt,t.Modal=kt,t.Popover=Pt,t.Scrollspy=xt,t.Tab=Rt,t.Tooltip=Lt,Object.defineProperty(t,"__esModule",{value:!0})});
7
  //# sourceMappingURL=bootstrap.bundle.min.js.map
1
  /*!
2
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,e){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function c(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},e=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=o[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}for(var r,n,o,a,l,f,h,u,d,p,g,m,_,v,E,y,b,T,C,w,I,D,A,S,O,N,k,L,P,x,j,R,M,H,W,F,U,B,K,V,Q,Y,G,q,z,X,J,Z,$,tt,et,nt,it,rt,ot,st,at,lt,ct,ft,ht,ut,dt,pt,gt=function(i){var e="transitionend";function t(t){var e=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(e)},t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");e&&"#"!==e||(e=t.getAttribute("href")||"");try{return 0<i(document).find(e).length?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i(t).css("transition-duration");return parseFloat(e)?(e=e.split(",")[0],1e3*parseFloat(e)):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=e[i],s=o&&l.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=t,i.event.special[l.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(i(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}},l}(e=e&&e.hasOwnProperty("default")?e.default:e),mt=(n="alert",a="."+(o="bs.alert"),l=(r=e).fn[n],f={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},h="alert",u="fade",d="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){r.removeData(this._element,o),this._element=null},t._getRootElement=function(t){var e=gt.getSelectorFromElement(t),n=!1;return e&&(n=r(e)[0]),n||(n=r(t).closest("."+h)[0]),n},t._triggerCloseEvent=function(t){var e=r.Event(f.CLOSE);return r(t).trigger(e),e},t._removeElement=function(e){var n=this;if(r(e).removeClass(d),r(e).hasClass(u)){var t=gt.getTransitionDurationFromElement(e);r(e).one(gt.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){r(t).detach().trigger(f.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=r(this),e=t.data(o);e||(e=new i(this),t.data(o,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),i}(),r(document).on(f.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),r.fn[n]=p._jQueryInterface,r.fn[n].Constructor=p,r.fn[n].noConflict=function(){return r.fn[n]=l,p._jQueryInterface},p),_t=(m="button",v="."+(_="bs.button"),E=".data-api",y=(g=e).fn[m],b="active",T="btn",w='[data-toggle^="button"]',I='[data-toggle="buttons"]',D="input",A=".active",S=".btn",O={CLICK_DATA_API:"click"+v+E,FOCUS_BLUR_DATA_API:(C="focus")+v+E+" blur"+v+E},N=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(I)[0];if(n){var i=g(this._element).find(D)[0];if(i){if("radio"===i.type)if(i.checked&&g(this._element).hasClass(b))t=!1;else{var r=g(n).find(A)[0];r&&g(r).removeClass(b)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!g(this._element).hasClass(b),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!g(this._element).hasClass(b)),t&&g(this._element).toggleClass(b)},t.dispose=function(){g.removeData(this._element,_),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(_);t||(t=new n(this),g(this).data(_,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),n}(),g(document).on(O.CLICK_DATA_API,w,function(t){t.preventDefault();var e=t.target;g(e).hasClass(T)||(e=g(e).closest(S)),N._jQueryInterface.call(g(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(S)[0];g(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),g.fn[m]=N._jQueryInterface,g.fn[m].Constructor=N,g.fn[m].noConflict=function(){return g.fn[m]=y,N._jQueryInterface},N),vt=(L="carousel",x="."+(P="bs.carousel"),j=".data-api",R=(k=e).fn[L],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},H={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},W="next",F="prev",U="left",B="right",K={SLIDE:"slide"+x,SLID:"slid"+x,KEYDOWN:"keydown"+x,MOUSEENTER:"mouseenter"+x,MOUSELEAVE:"mouseleave"+x,TOUCHEND:"touchend"+x,LOAD_DATA_API:"load"+x+j,CLICK_DATA_API:"click"+x+j},V="carousel",Q="active",Y="slide",G="carousel-item-right",q="carousel-item-left",z="carousel-item-next",X="carousel-item-prev",J={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Z=function(){function o(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(e),this._element=k(t)[0],this._indicatorsElement=k(this._element).find(J.INDICATORS)[0],this._addEventListeners()}var t=o.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&k(this._element).is(":visible")&&"hidden"!==k(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(F)},t.pause=function(t){t||(this._isPaused=!0),k(this._element).find(J.NEXT_PREV)[0]&&(gt.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=k(this._element).find(J.ACTIVE_ITEM)[0];var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)k(this._element).one(K.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?W:F;this._slide(i,this._items[t])}},t.dispose=function(){k(this._element).off(x),k.removeData(this._element,P),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=c({},M,t),gt.typeCheckConfig(L,t,H),t},t._addEventListeners=function(){var e=this;this._config.keyboard&&k(this._element).on(K.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(k(this._element).on(K.MOUSEENTER,function(t){return e.pause(t)}).on(K.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&k(this._element).on(K.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=k.makeArray(k(t).parent().find(J.ITEM)),this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===F,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===F?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(k(this._element).find(J.ACTIVE_ITEM)[0]),r=k.Event(K.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return k(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){k(this._indicatorsElement).find(J.ACTIVE).removeClass(Q);var e=this._indicatorsElement.children[this._getItemIndex(t)];e&&k(e).addClass(Q)}},t._slide=function(t,e){var n,i,r,o=this,s=k(this._element).find(J.ACTIVE_ITEM)[0],a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),f=Boolean(this._interval);if(t===W?(n=q,i=z,r=U):(n=G,i=X,r=B),l&&k(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(l);var h=k.Event(K.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(k(this._element).hasClass(Y)){k(l).addClass(i),gt.reflow(l),k(s).addClass(n),k(l).addClass(n);var u=gt.getTransitionDurationFromElement(s);k(s).one(gt.TRANSITION_END,function(){k(l).removeClass(n+" "+i).addClass(Q),k(s).removeClass(Q+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return k(o._element).trigger(h)},0)}).emulateTransitionEnd(u)}else k(s).removeClass(Q),k(l).addClass(Q),this._isSliding=!1,k(this._element).trigger(h);f&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var t=k(this).data(P),e=c({},M,k(this).data());"object"==typeof i&&(e=c({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new o(this,e),k(this).data(P,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},o._dataApiClickHandler=function(t){var e=gt.getSelectorFromElement(this);if(e){var n=k(e)[0];if(n&&k(n).hasClass(V)){var i=c({},k(n).data(),k(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(k(n),i),r&&k(n).data(P).to(r),t.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return M}}]),o}(),k(document).on(K.CLICK_DATA_API,J.DATA_SLIDE,Z._dataApiClickHandler),k(window).on(K.LOAD_DATA_API,function(){k(J.DATA_RIDE).each(function(){var t=k(this);Z._jQueryInterface.call(t,t.data())})}),k.fn[L]=Z._jQueryInterface,k.fn[L].Constructor=Z,k.fn[L].noConflict=function(){return k.fn[L]=R,Z._jQueryInterface},Z),Et=(tt="collapse",nt="."+(et="bs.collapse"),it=($=e).fn[tt],rt={toggle:!0,parent:""},ot={toggle:"boolean",parent:"(string|element)"},st={SHOW:"show"+nt,SHOWN:"shown"+nt,HIDE:"hide"+nt,HIDDEN:"hidden"+nt,CLICK_DATA_API:"click"+nt+".data-api"},at="show",lt="collapse",ct="collapsing",ft="collapsed",ht="width",ut="height",dt={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},pt=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=$(dt.DATA_TOGGLE),i=0;i<n.length;i++){var r=n[i],o=gt.getSelectorFromElement(r);null!==o&&0<$(o).filter(t).length&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){$(this._element).hasClass(at)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!$(this._element).hasClass(at)&&(this._parent&&0===(t=$.makeArray($(this._parent).find(dt.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(t=null),!(t&&(e=$(t).not(this._selector).data(et))&&e._isTransitioning))){var i=$.Event(st.SHOW);if($(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call($(t).not(this._selector),"hide"),e||$(t).data(et,null));var r=this._getDimension();$(this._element).removeClass(lt).addClass(ct),(this._element.style[r]=0)<this._triggerArray.length&&$(this._triggerArray).removeClass(ft).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=gt.getTransitionDurationFromElement(this._element);$(this._element).one(gt.TRANSITION_END,function(){$(n._element).removeClass(ct).addClass(lt).addClass(at),n._element.style[r]="",n.setTransitioning(!1),$(n._element).trigger(st.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&$(this._element).hasClass(at)){var e=$.Event(st.HIDE);if($(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();if(this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",gt.reflow(this._element),$(this._element).addClass(ct).removeClass(lt).removeClass(at),0<this._triggerArray.length)for(var i=0;i<this._triggerArray.length;i++){var r=this._triggerArray[i],o=gt.getSelectorFromElement(r);if(null!==o)$(o).hasClass(at)||$(r).addClass(ft).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var s=gt.getTransitionDurationFromElement(this._element);$(this._element).one(gt.TRANSITION_END,function(){t.setTransitioning(!1),$(t._element).removeClass(ct).addClass(lt).trigger(st.HIDDEN)}).emulateTransitionEnd(s)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){$.removeData(this._element,et),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=c({},rt,t)).toggle=Boolean(t.toggle),gt.typeCheckConfig(tt,t,ot),t},t._getDimension=function(){return $(this._element).hasClass(ht)?ht:ut},t._getParent=function(){var n=this,t=null;gt.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=$(this._config.parent)[0];var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return $(t).find(e).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){if(t){var n=$(t).hasClass(at);0<e.length&&$(e).toggleClass(ft,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(t){var e=gt.getSelectorFromElement(t);return e?$(e)[0]:null},a._jQueryInterface=function(i){return this.each(function(){var t=$(this),e=t.data(et),n=c({},rt,t.data(),"object"==typeof i&&i);if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(et,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return rt}}]),a}(),$(document).on(st.CLICK_DATA_API,dt.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=$(this),e=gt.getSelectorFromElement(this);$(e).each(function(){var t=$(this),e=t.data(et)?"toggle":n.data();pt._jQueryInterface.call(t,e)})}),$.fn[tt]=pt._jQueryInterface,$.fn[tt].Constructor=pt,$.fn[tt].noConflict=function(){return $.fn[tt]=it,pt._jQueryInterface},pt),yt="undefined"!=typeof window&&"undefined"!=typeof document,bt=["Edge","Trident","Firefox"],Tt=0,Ct=0;Ct<bt.length;Ct+=1)if(yt&&0<=navigator.userAgent.indexOf(bt[Ct])){Tt=1;break}var wt=yt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Tt))}};function It(t){return t&&"[object Function]"==={}.toString.call(t)}function Dt(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function At(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function St(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Dt(t),n=e.overflow,i=e.overflowX,r=e.overflowY;return/(auto|scroll|overlay)/.test(n+r+i)?t:St(At(t))}var Ot={},Nt=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"all";if(t=t.toString(),Ot.hasOwnProperty(t))return Ot[t];switch(t){case"11":Ot[t]=-1!==navigator.userAgent.indexOf("Trident");break;case"10":Ot[t]=-1!==navigator.appVersion.indexOf("MSIE 10");break;case"all":Ot[t]=-1!==navigator.userAgent.indexOf("Trident")||-1!==navigator.userAgent.indexOf("MSIE")}return Ot.all=Ot.all||Object.keys(Ot).some(function(t){return Ot[t]}),Ot[t]};function kt(t){if(!t)return document.documentElement;for(var e=Nt(10)?document.body:null,n=t.offsetParent;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===Dt(n,"position")?kt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Lt(t){return null!==t.parentNode?Lt(t.parentNode):t}function Pt(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(t!==l&&e!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&kt(s.firstElementChild)!==s?kt(l):l;var c=Lt(t);return c.host?Pt(c.host,e):Pt(t,Lt(e).host)}function xt(t){var e="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function jt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Rt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Nt(10)?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function Mt(){var t=document.body,e=document.documentElement,n=Nt(10)&&getComputedStyle(e);return{height:Rt("Height",t,e,n),width:Rt("Width",t,e,n)}}var Ht=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Wt=function(){function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),Ft=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Ut=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Bt(t){return Ut({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Kt(t){var e={};try{if(Nt(10)){e=t.getBoundingClientRect();var n=xt(t,"top"),i=xt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var r={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},o="HTML"===t.nodeName?Mt():{},s=o.width||t.clientWidth||r.right-r.left,a=o.height||t.clientHeight||r.bottom-r.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var f=Dt(t);l-=jt(f,"x"),c-=jt(f,"y"),r.width-=l,r.height-=c}return Bt(r)}function Vt(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Nt(10),r="HTML"===e.nodeName,o=Kt(t),s=Kt(e),a=St(t),l=Dt(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&"HTML"===e.nodeName&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var h=Bt({top:o.top-s.top-c,left:o.left-s.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!i&&r){var u=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);h.top-=c-u,h.bottom-=c-u,h.left-=f-d,h.right-=f-d,h.marginTop=u,h.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(h=function(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=xt(e,"top"),r=xt(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}(h,e)),h}function Qt(t){if(!t||!t.parentElement||Nt())return document.documentElement;for(var e=t.parentElement;e&&"none"===Dt(e,"transform");)e=e.parentElement;return e||document.documentElement}function Yt(t,e,n,i){var r=4<arguments.length&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=r?Qt(t):Pt(t,e);if("viewport"===i)o=function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Vt(t,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:xt(n),a=e?0:xt(n,"left");return Bt({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:r,height:o})}(s,r);else{var a=void 0;"scrollParent"===i?"BODY"===(a=St(At(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Vt(a,s,r);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===Dt(e,"position")||t(At(e)))}(s))o=l;else{var c=Mt(),f=c.height,h=c.width;o.top+=l.top-l.marginTop,o.bottom=f+l.top,o.left+=l.left-l.marginLeft,o.right=h+l.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function Gt(t,e,i,n,r){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Yt(i,n,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return Ut({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),f=0<c.length?c[0].key:l[0].key,h=t.split("-")[1];return f+(h?"-"+h:"")}function qt(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return Vt(n,i?Qt(e):Pt(e,n),i)}function zt(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Xt(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function Jt(t,e,n){n=n.split("-")[0];var i=zt(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[Xt(a)],r}function Zt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function $t(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=Zt(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&It(e)&&(n.offsets.popper=Bt(n.offsets.popper),n.offsets.reference=Bt(n.offsets.reference),n=e(n,t))}),n}function te(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function ee(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var r=e[i],o=r?""+r+n:t;if("undefined"!=typeof document.body.style[o])return o}return null}function ne(t){var e=t.ownerDocument;return e?e.defaultView:window}function ie(t,e,n,i){n.updateBound=i,ne(t).addEventListener("resize",n.updateBound,{passive:!0});var r=St(t);return function t(e,n,i,r){var o="BODY"===e.nodeName,s=o?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),o||t(St(s.parentNode),n,i,r),r.push(s)}(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function re(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,ne(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function oe(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function se(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&oe(i[t])&&(e="px"),n.style[t]=i[t]+e})}function ae(t,e,n){var i=Zt(t,function(t){return t.name===e}),r=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!r){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}var le=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],ce=le.slice(3);function fe(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=ce.indexOf(t),i=ce.slice(n+1).concat(ce.slice(0,n));return e?i.reverse():i}var he={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function ue(t,r,o,e){var s=[0,0],a=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(Zt(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(t,e){var n=(1===e?!a:a)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Bt(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,n,r,o)})})).forEach(function(n,i){n.forEach(function(t,e){oe(t)&&(s[i]+=t*("-"===n[e-1]?-1:1))})}),s}var de={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:Ft({},l,o[l]),end:Ft({},l,o[l]+o[c]-s[c])};t.offsets.popper=Ut({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=oe(+n)?[+n,0]:ue(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,i){var e=i.boundariesElement||kt(t.instance.popper);t.instance.reference===e&&(e=kt(e));var r=Yt(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);i.boundaries=r;var n=i.priority,o=t.offsets.popper,s={primary:function(t){var e=o[t];return o[t]<r[t]&&!i.escapeWithReference&&(e=Math.max(o[t],r[t])),Ft({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=o[e];return o[t]>r[t]&&!i.escapeWithReference&&(n=Math.min(o[e],r[t]-("right"===t?o.width:o.height))),Ft({},e,n)}};return n.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=Ut({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(t.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!ae(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var r=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",f=l?"Top":"Left",h=f.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=zt(i)[c];a[d]-p<s[h]&&(t.offsets.popper[h]-=s[h]-(a[d]-p)),a[h]+p>s[d]&&(t.offsets.popper[h]+=a[h]+p-s[d]),t.offsets.popper=Bt(t.offsets.popper);var g=a[h]+a[c]/2-p/2,m=Dt(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),E=g-t.offsets.popper[h]-_-v;return E=Math.max(Math.min(s[c]-p,E),0),t.arrowElement=i,t.offsets.arrow=(Ft(n={},h,Math.round(E)),Ft(n,u,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,g){if(te(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var m=Yt(p.instance.popper,p.instance.reference,g.padding,g.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=Xt(_),E=p.placement.split("-")[1]||"",y=[];switch(g.behavior){case he.FLIP:y=[_,v];break;case he.CLOCKWISE:y=fe(_);break;case he.COUNTERCLOCKWISE:y=fe(_,!0);break;default:y=g.behavior}return y.forEach(function(t,e){if(_!==t||y.length===e+1)return p;_=p.placement.split("-")[0],v=Xt(_);var n,i=p.offsets.popper,r=p.offsets.reference,o=Math.floor,s="left"===_&&o(i.right)>o(r.left)||"right"===_&&o(i.left)<o(r.right)||"top"===_&&o(i.bottom)>o(r.top)||"bottom"===_&&o(i.top)<o(r.bottom),a=o(i.left)<o(m.left),l=o(i.right)>o(m.right),c=o(i.top)<o(m.top),f=o(i.bottom)>o(m.bottom),h="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&f,u=-1!==["top","bottom"].indexOf(_),d=!!g.flipVariations&&(u&&"start"===E&&a||u&&"end"===E&&l||!u&&"start"===E&&c||!u&&"end"===E&&f);(s||h||d)&&(p.flipped=!0,(s||h)&&(_=y[e+1]),d&&(E="end"===(n=E)?"start":"start"===n?"end":n),p.placement=_+(E?"-"+E:""),p.offsets.popper=Ut({},p.offsets.popper,Jt(p.instance.popper,p.offsets.reference,p.placement)),p=$t(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=Xt(e),t.offsets.popper=Bt(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!ae(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Zt(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,r=t.offsets.popper,o=Zt(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=Kt(kt(t.instance.popper)),l={position:r.position},c={left:Math.floor(r.left),top:Math.floor(r.top),bottom:Math.floor(r.bottom),right:Math.floor(r.right)},f="bottom"===n?"top":"bottom",h="right"===i?"left":"right",u=ee("transform"),d=void 0,p=void 0;if(p="bottom"===f?-a.height+c.bottom:c.top,d="right"===h?-a.width+c.right:c.left,s&&u)l[u]="translate3d("+d+"px, "+p+"px, 0)",l[f]=0,l[h]=0,l.willChange="transform";else{var g="bottom"===f?-1:1,m="right"===h?-1:1;l[f]=p*g,l[h]=d*m,l.willChange=f+", "+h}var _={"x-placement":t.placement};return t.attributes=Ut({},_,t.attributes),t.styles=Ut({},l,t.styles),t.arrowStyles=Ut({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return se(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&se(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,r){var o=qt(r,e,t,n.positionFixed),s=Gt(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),se(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},pe=function(){function o(t,e){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};Ht(this,o),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=wt(this.update.bind(this)),this.options=Ut({},o.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=e&&e.jquery?e[0]:e,this.options.modifiers={},Object.keys(Ut({},o.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=Ut({},o.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Ut({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&It(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Wt(o,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=qt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Gt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Jt(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=$t(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,te(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[ee("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ie(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return re.call(this)}}]),o}();pe.Utils=("undefined"!=typeof window?window:global).PopperUtils,pe.placements=le,pe.Defaults=de;var ge,me,_e,ve,Ee,ye,be,Te,Ce,we,Ie,De,Ae,Se,Oe,Ne,ke,Le,Pe,xe,je,Re,Me,He,We,Fe,Ue,Be,Ke,Ve,Qe,Ye,Ge,qe,ze,Xe,Je,Ze,$e,tn,en,nn,rn,on,sn,an,ln,cn,fn,hn,un,dn,pn,gn,mn,_n,vn,En,yn,bn,Tn,Cn,wn,In,Dn,An,Sn,On,Nn,kn,Ln,Pn,xn,jn,Rn,Mn,Hn,Wn,Fn,Un,Bn,Kn,Vn,Qn,Yn,Gn,qn,zn,Xn,Jn,Zn,$n,ti,ei,ni,ii,ri,oi,si,ai,li,ci,fi,hi,ui,di,pi,gi,mi,_i,vi,Ei,yi,bi=(me="dropdown",ve="."+(_e="bs.dropdown"),Ee=".data-api",ye=(ge=e).fn[me],be=new RegExp("38|40|27"),Te={HIDE:"hide"+ve,HIDDEN:"hidden"+ve,SHOW:"show"+ve,SHOWN:"shown"+ve,CLICK:"click"+ve,CLICK_DATA_API:"click"+ve+Ee,KEYDOWN_DATA_API:"keydown"+ve+Ee,KEYUP_DATA_API:"keyup"+ve+Ee},Ce="disabled",we="show",Ie="dropup",De="dropright",Ae="dropleft",Se="dropdown-menu-right",Oe="position-static",Ne='[data-toggle="dropdown"]',ke=".dropdown form",Le=".dropdown-menu",Pe=".navbar-nav",xe=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",je="top-start",Re="top-end",Me="bottom-start",He="bottom-end",We="right-start",Fe="left-start",Ue={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Be={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Ke=function(){function l(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=l.prototype;return t.toggle=function(){if(!this._element.disabled&&!ge(this._element).hasClass(Ce)){var t=l._getParentFromElement(this._element),e=ge(this._menu).hasClass(we);if(l._clearMenus(),!e){var n={relatedTarget:this._element},i=ge.Event(Te.SHOW,n);if(ge(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof pe)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=t:gt.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&ge(t).addClass(Oe),this._popper=new pe(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===ge(t).closest(Pe).length&&ge(document.body).children().on("mouseover",null,ge.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),ge(this._menu).toggleClass(we),ge(t).toggleClass(we).trigger(ge.Event(Te.SHOWN,n))}}}},t.dispose=function(){ge.removeData(this._element,_e),ge(this._element).off(ve),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;ge(this._element).on(Te.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=c({},this.constructor.Default,ge(this._element).data(),t),gt.typeCheckConfig(me,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=l._getParentFromElement(this._element);this._menu=ge(t).find(Le)[0]}return this._menu},t._getPlacement=function(){var t=ge(this._element).parent(),e=Me;return t.hasClass(Ie)?(e=je,ge(this._menu).hasClass(Se)&&(e=Re)):t.hasClass(De)?e=We:t.hasClass(Ae)?e=Fe:ge(this._menu).hasClass(Se)&&(e=He),e},t._detectNavbar=function(){return 0<ge(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=c({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},l._jQueryInterface=function(e){return this.each(function(){var t=ge(this).data(_e);if(t||(t=new l(this,"object"==typeof e?e:null),ge(this).data(_e,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},l._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=ge.makeArray(ge(Ne)),n=0;n<e.length;n++){var i=l._getParentFromElement(e[n]),r=ge(e[n]).data(_e),o={relatedTarget:e[n]};if(r){var s=r._menu;if(ge(i).hasClass(we)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&ge.contains(i,t.target))){var a=ge.Event(Te.HIDE,o);ge(i).trigger(a),a.isDefaultPrevented()||("ontouchstart"in document.documentElement&&ge(document.body).children().off("mouseover",null,ge.noop),e[n].setAttribute("aria-expanded","false"),ge(s).removeClass(we),ge(i).removeClass(we).trigger(ge.Event(Te.HIDDEN,o)))}}}},l._getParentFromElement=function(t){var e,n=gt.getSelectorFromElement(t);return n&&(e=ge(n)[0]),e||t.parentNode},l._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||ge(t.target).closest(Le).length)):be.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!ge(this).hasClass(Ce))){var e=l._getParentFromElement(this),n=ge(e).hasClass(we);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=ge(e).find(xe).get();if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var o=ge(e).find(Ne)[0];ge(o).trigger("focus")}ge(this).trigger("click")}}},s(l,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return Ue}},{key:"DefaultType",get:function(){return Be}}]),l}(),ge(document).on(Te.KEYDOWN_DATA_API,Ne,Ke._dataApiKeydownHandler).on(Te.KEYDOWN_DATA_API,Le,Ke._dataApiKeydownHandler).on(Te.CLICK_DATA_API+" "+Te.KEYUP_DATA_API,Ke._clearMenus).on(Te.CLICK_DATA_API,Ne,function(t){t.preventDefault(),t.stopPropagation(),Ke._jQueryInterface.call(ge(this),"toggle")}).on(Te.CLICK_DATA_API,ke,function(t){t.stopPropagation()}),ge.fn[me]=Ke._jQueryInterface,ge.fn[me].Constructor=Ke,ge.fn[me].noConflict=function(){return ge.fn[me]=ye,Ke._jQueryInterface},Ke),Ti=(Qe="modal",Ge="."+(Ye="bs.modal"),qe=(Ve=e).fn[Qe],ze={backdrop:!0,keyboard:!0,focus:!0,show:!0},Xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Je={HIDE:"hide"+Ge,HIDDEN:"hidden"+Ge,SHOW:"show"+Ge,SHOWN:"shown"+Ge,FOCUSIN:"focusin"+Ge,RESIZE:"resize"+Ge,CLICK_DISMISS:"click.dismiss"+Ge,KEYDOWN_DISMISS:"keydown.dismiss"+Ge,MOUSEUP_DISMISS:"mouseup.dismiss"+Ge,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Ge,CLICK_DATA_API:"click"+Ge+".data-api"},Ze="modal-scrollbar-measure",$e="modal-backdrop",tn="modal-open",en="fade",nn="show",rn={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},on=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Ve(t).find(rn.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isTransitioning&&!this._isShown){Ve(this._element).hasClass(en)&&(this._isTransitioning=!0);var n=Ve.Event(Je.SHOW,{relatedTarget:t});Ve(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),Ve(document.body).addClass(tn),this._setEscapeEvent(),this._setResizeEvent(),Ve(this._element).on(Je.CLICK_DISMISS,rn.DATA_DISMISS,function(t){return e.hide(t)}),Ve(this._dialog).on(Je.MOUSEDOWN_DISMISS,function(){Ve(e._element).one(Je.MOUSEUP_DISMISS,function(t){Ve(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var n=Ve.Event(Je.HIDE);if(Ve(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=Ve(this._element).hasClass(en);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Ve(document).off(Je.FOCUSIN),Ve(this._element).removeClass(nn),Ve(this._element).off(Je.CLICK_DISMISS),Ve(this._dialog).off(Je.MOUSEDOWN_DISMISS),i){var r=gt.getTransitionDurationFromElement(this._element);Ve(this._element).one(gt.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){Ve.removeData(this._element,Ye),Ve(window,document,this._element,this._backdrop).off(Ge),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=c({},ze,t),gt.typeCheckConfig(Qe,t,Xe),t},t._showElement=function(t){var e=this,n=Ve(this._element).hasClass(en);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&gt.reflow(this._element),Ve(this._element).addClass(nn),this._config.focus&&this._enforceFocus();var i=Ve.Event(Je.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Ve(e._element).trigger(i)};if(n){var o=gt.getTransitionDurationFromElement(this._element);Ve(this._dialog).one(gt.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},t._enforceFocus=function(){var e=this;Ve(document).off(Je.FOCUSIN).on(Je.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===Ve(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?Ve(this._element).on(Je.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||Ve(this._element).off(Je.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?Ve(window).on(Je.RESIZE,function(t){return e.handleUpdate(t)}):Ve(window).off(Je.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){Ve(document.body).removeClass(tn),t._resetAdjustments(),t._resetScrollbar(),Ve(t._element).trigger(Je.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(Ve(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=Ve(this._element).hasClass(en)?en:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=$e,n&&Ve(this._backdrop).addClass(n),Ve(this._backdrop).appendTo(document.body),Ve(this._element).on(Je.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&gt.reflow(this._backdrop),Ve(this._backdrop).addClass(nn),!t)return;if(!n)return void t();var i=gt.getTransitionDurationFromElement(this._backdrop);Ve(this._backdrop).one(gt.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){Ve(this._backdrop).removeClass(nn);var r=function(){e._removeBackdrop(),t&&t()};if(Ve(this._element).hasClass(en)){var o=gt.getTransitionDurationFromElement(this._backdrop);Ve(this._backdrop).one(gt.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){Ve(rn.FIXED_CONTENT).each(function(t,e){var n=Ve(e)[0].style.paddingRight,i=Ve(e).css("padding-right");Ve(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),Ve(rn.STICKY_CONTENT).each(function(t,e){var n=Ve(e)[0].style.marginRight,i=Ve(e).css("margin-right");Ve(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")}),Ve(rn.NAVBAR_TOGGLER).each(function(t,e){var n=Ve(e)[0].style.marginRight,i=Ve(e).css("margin-right");Ve(e).data("margin-right",n).css("margin-right",parseFloat(i)+r._scrollbarWidth+"px")});var t=document.body.style.paddingRight,e=Ve(document.body).css("padding-right");Ve(document.body).data("padding-right",t).css("padding-right",parseFloat(e)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){Ve(rn.FIXED_CONTENT).each(function(t,e){var n=Ve(e).data("padding-right");"undefined"!=typeof n&&Ve(e).css("padding-right",n).removeData("padding-right")}),Ve(rn.STICKY_CONTENT+", "+rn.NAVBAR_TOGGLER).each(function(t,e){var n=Ve(e).data("margin-right");"undefined"!=typeof n&&Ve(e).css("margin-right",n).removeData("margin-right")});var t=Ve(document.body).data("padding-right");"undefined"!=typeof t&&Ve(document.body).css("padding-right",t).removeData("padding-right")},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Ze,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=Ve(this).data(Ye),e=c({},r.Default,Ve(this).data(),"object"==typeof n&&n);if(t||(t=new r(this,e),Ve(this).data(Ye,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return ze}}]),r}(),Ve(document).on(Je.CLICK_DATA_API,rn.DATA_TOGGLE,function(t){var e,n=this,i=gt.getSelectorFromElement(this);i&&(e=Ve(i)[0]);var r=Ve(e).data(Ye)?"toggle":c({},Ve(e).data(),Ve(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var o=Ve(e).one(Je.SHOW,function(t){t.isDefaultPrevented()||o.one(Je.HIDDEN,function(){Ve(n).is(":visible")&&n.focus()})});on._jQueryInterface.call(Ve(e),r,this)}),Ve.fn[Qe]=on._jQueryInterface,Ve.fn[Qe].Constructor=on,Ve.fn[Qe].noConflict=function(){return Ve.fn[Qe]=qe,on._jQueryInterface},on),Ci=(an="tooltip",cn="."+(ln="bs.tooltip"),fn=(sn=e).fn[an],hn="bs-tooltip",un=new RegExp("(^|\\s)"+hn+"\\S+","g"),gn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(pn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(dn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},_n="out",vn={HIDE:"hide"+cn,HIDDEN:"hidden"+cn,SHOW:(mn="show")+cn,SHOWN:"shown"+cn,INSERTED:"inserted"+cn,CLICK:"click"+cn,FOCUSIN:"focusin"+cn,FOCUSOUT:"focusout"+cn,MOUSEENTER:"mouseenter"+cn,MOUSELEAVE:"mouseleave"+cn},En="fade",yn="show",bn=".tooltip-inner",Tn=".arrow",Cn="hover",wn="focus",In="click",Dn="manual",An=function(){function i(t,e){if("undefined"==typeof pe)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=sn(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),sn(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(sn(this.getTipElement()).hasClass(yn))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),sn.removeData(this.element,this.constructor.DATA_KEY),sn(this.element).off(this.constructor.EVENT_KEY),sn(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&sn(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===sn(this.element).css("display"))throw new Error("Please use show on visible elements");var t=sn.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){sn(this.element).trigger(t);var n=sn.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=gt.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&sn(i).addClass(En);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:sn(this.config.container);sn(i).data(this.constructor.DATA_KEY,this),sn.contains(this.element.ownerDocument.documentElement,this.tip)||sn(i).appendTo(a),sn(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new pe(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Tn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),sn(i).addClass(yn),"ontouchstart"in document.documentElement&&sn(document.body).children().on("mouseover",null,sn.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,sn(e.element).trigger(e.constructor.Event.SHOWN),t===_n&&e._leave(null,e)};if(sn(this.tip).hasClass(En)){var c=gt.getTransitionDurationFromElement(this.tip);sn(this.tip).one(gt.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=sn.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==mn&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),sn(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(sn(this.element).trigger(i),!i.isDefaultPrevented()){if(sn(n).removeClass(yn),"ontouchstart"in document.documentElement&&sn(document.body).children().off("mouseover",null,sn.noop),this._activeTrigger[In]=!1,this._activeTrigger[wn]=!1,this._activeTrigger[Cn]=!1,sn(this.tip).hasClass(En)){var o=gt.getTransitionDurationFromElement(n);sn(n).one(gt.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){sn(this.getTipElement()).addClass(hn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||sn(this.config.template)[0],this.tip},t.setContent=function(){var t=sn(this.getTipElement());this.setElementContent(t.find(bn),this.getTitle()),t.removeClass(En+" "+yn)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?sn(e).parent().is(t)||t.empty().append(e):t.text(sn(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return pn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)sn(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Dn){var e=t===Cn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Cn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;sn(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}sn(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=c({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||sn(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),sn(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?wn:Cn]=!0),sn(e.getTipElement()).hasClass(yn)||e._hoverState===mn?e._hoverState=mn:(clearTimeout(e._timeout),e._hoverState=mn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===mn&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||sn(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),sn(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?wn:Cn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=_n,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===_n&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=c({},this.constructor.Default,sn(this.element).data(),t)).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),gt.typeCheckConfig(an,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=sn(this.getTipElement()),e=t.attr("class").match(un);null!==e&&0<e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(sn(t).removeClass(En),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=sn(this).data(ln),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),sn(this).data(ln,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return gn}},{key:"NAME",get:function(){return an}},{key:"DATA_KEY",get:function(){return ln}},{key:"Event",get:function(){return vn}},{key:"EVENT_KEY",get:function(){return cn}},{key:"DefaultType",get:function(){return dn}}]),i}(),sn.fn[an]=An._jQueryInterface,sn.fn[an].Constructor=An,sn.fn[an].noConflict=function(){return sn.fn[an]=fn,An._jQueryInterface},An),wi=(On="popover",kn="."+(Nn="bs.popover"),Ln=(Sn=e).fn[On],Pn="bs-popover",xn=new RegExp("(^|\\s)"+Pn+"\\S+","g"),jn=c({},Ci.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Rn=c({},Ci.DefaultType,{content:"(string|element|function)"}),Mn="fade",Wn=".popover-header",Fn=".popover-body",Un={HIDE:"hide"+kn,HIDDEN:"hidden"+kn,SHOW:(Hn="show")+kn,SHOWN:"shown"+kn,INSERTED:"inserted"+kn,CLICK:"click"+kn,FOCUSIN:"focusin"+kn,FOCUSOUT:"focusout"+kn,MOUSEENTER:"mouseenter"+kn,MOUSELEAVE:"mouseleave"+kn},Bn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Sn(this.getTipElement()).addClass(Pn+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Sn(this.config.template)[0],this.tip},r.setContent=function(){var t=Sn(this.getTipElement());this.setElementContent(t.find(Wn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Fn),e),t.removeClass(Mn+" "+Hn)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Sn(this.getTipElement()),e=t.attr("class").match(xn);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=Sn(this).data(Nn),e="object"==typeof n?n:null;if((t||!/destroy|hide/.test(n))&&(t||(t=new i(this,e),Sn(this).data(Nn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return jn}},{key:"NAME",get:function(){return On}},{key:"DATA_KEY",get:function(){return Nn}},{key:"Event",get:function(){return Un}},{key:"EVENT_KEY",get:function(){return kn}},{key:"DefaultType",get:function(){return Rn}}]),i}(Ci),Sn.fn[On]=Bn._jQueryInterface,Sn.fn[On].Constructor=Bn,Sn.fn[On].noConflict=function(){return Sn.fn[On]=Ln,Bn._jQueryInterface},Bn),Ii=(Vn="scrollspy",Yn="."+(Qn="bs.scrollspy"),Gn=(Kn=e).fn[Vn],qn={offset:10,method:"auto",target:""},zn={offset:"number",method:"string",target:"(string|element)"},Xn={ACTIVATE:"activate"+Yn,SCROLL:"scroll"+Yn,LOAD_DATA_API:"load"+Yn+".data-api"},Jn="dropdown-item",Zn="active",$n={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},ti="offset",ei="position",ni=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+$n.NAV_LINKS+","+this._config.target+" "+$n.LIST_ITEMS+","+this._config.target+" "+$n.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Kn(this._scrollElement).on(Xn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?ti:ei,r="auto"===this._config.method?t:this._config.method,o=r===ei?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Kn.makeArray(Kn(this._selector)).map(function(t){var e,n=gt.getSelectorFromElement(t);if(n&&(e=Kn(n)[0]),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[Kn(e)[r]().top+o,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){Kn.removeData(this._element,Qn),Kn(this._scrollElement).off(Yn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=c({},qn,t)).target){var e=Kn(t.target).attr("id");e||(e=gt.getUID(Vn),Kn(t.target).attr("id",e)),t.target="#"+e}return gt.typeCheckConfig(Vn,t,zn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=Kn(t.join(","));n.hasClass(Jn)?(n.closest($n.DROPDOWN).find($n.DROPDOWN_TOGGLE).addClass(Zn),n.addClass(Zn)):(n.addClass(Zn),n.parents($n.NAV_LIST_GROUP).prev($n.NAV_LINKS+", "+$n.LIST_ITEMS).addClass(Zn),n.parents($n.NAV_LIST_GROUP).prev($n.NAV_ITEMS).children($n.NAV_LINKS).addClass(Zn)),Kn(this._scrollElement).trigger(Xn.ACTIVATE,{relatedTarget:e})},t._clear=function(){Kn(this._selector).filter($n.ACTIVE).removeClass(Zn)},n._jQueryInterface=function(e){return this.each(function(){var t=Kn(this).data(Qn);if(t||(t=new n(this,"object"==typeof e&&e),Kn(this).data(Qn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return qn}}]),n}(),Kn(window).on(Xn.LOAD_DATA_API,function(){for(var t=Kn.makeArray(Kn($n.DATA_SPY)),e=t.length;e--;){var n=Kn(t[e]);ni._jQueryInterface.call(n,n.data())}}),Kn.fn[Vn]=ni._jQueryInterface,Kn.fn[Vn].Constructor=ni,Kn.fn[Vn].noConflict=function(){return Kn.fn[Vn]=Gn,ni._jQueryInterface},ni),Di=(oi="."+(ri="bs.tab"),si=(ii=e).fn.tab,ai={HIDE:"hide"+oi,HIDDEN:"hidden"+oi,SHOW:"show"+oi,SHOWN:"shown"+oi,CLICK_DATA_API:"click"+oi+".data-api"},li="dropdown-menu",ci="active",fi="disabled",hi="fade",ui="show",di=".dropdown",pi=".nav, .list-group",gi=".active",mi="> li > .active",_i='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',vi=".dropdown-toggle",Ei="> .dropdown-menu .active",yi=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&ii(this._element).hasClass(ci)||ii(this._element).hasClass(fi))){var t,i,e=ii(this._element).closest(pi)[0],r=gt.getSelectorFromElement(this._element);if(e){var o="UL"===e.nodeName?mi:gi;i=(i=ii.makeArray(ii(e).find(o)))[i.length-1]}var s=ii.Event(ai.HIDE,{relatedTarget:this._element}),a=ii.Event(ai.SHOW,{relatedTarget:i});if(i&&ii(i).trigger(s),ii(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(t=ii(r)[0]),this._activate(this._element,e);var l=function(){var t=ii.Event(ai.HIDDEN,{relatedTarget:n._element}),e=ii.Event(ai.SHOWN,{relatedTarget:i});ii(i).trigger(t),ii(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){ii.removeData(this._element,ri),this._element=null},t._activate=function(t,e,n){var i=this,r=("UL"===e.nodeName?ii(e).find(mi):ii(e).children(gi))[0],o=n&&r&&ii(r).hasClass(hi),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var a=gt.getTransitionDurationFromElement(r);ii(r).one(gt.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){ii(e).removeClass(ui+" "+ci);var i=ii(e.parentNode).find(Ei)[0];i&&ii(i).removeClass(ci),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(ii(t).addClass(ci),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),gt.reflow(t),ii(t).addClass(ui),t.parentNode&&ii(t.parentNode).hasClass(li)){var r=ii(t).closest(di)[0];r&&ii(r).find(vi).addClass(ci),t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=ii(this),e=t.data(ri);if(e||(e=new i(this),t.data(ri,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),i}(),ii(document).on(ai.CLICK_DATA_API,_i,function(t){t.preventDefault(),yi._jQueryInterface.call(ii(this),"show")}),ii.fn.tab=yi._jQueryInterface,ii.fn.tab.Constructor=yi,ii.fn.tab.noConflict=function(){return ii.fn.tab=si,yi._jQueryInterface},yi);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=gt,t.Alert=mt,t.Button=_t,t.Carousel=vt,t.Collapse=Et,t.Dropdown=bi,t.Modal=Ti,t.Popover=wi,t.Scrollspy=Ii,t.Tab=Di,t.Tooltip=Ci,Object.defineProperty(t,"__esModule",{value:!0})});
7
  //# sourceMappingURL=bootstrap.bundle.min.js.map
resources/js/bootstrap4.js CHANGED
@@ -1,3894 +1,3925 @@
1
  /*!
2
- * Bootstrap v4.0.0 (https://getbootstrap.com)
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
8
- typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
9
- (factory((global.bootstrap = {}),global.jQuery,global.Popper));
10
  }(this, (function (exports,$,Popper) { 'use strict';
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
14
 
15
- function _defineProperties(target, props) {
16
- for (var i = 0; i < props.length; i++) {
17
- var descriptor = props[i];
18
- descriptor.enumerable = descriptor.enumerable || false;
19
- descriptor.configurable = true;
20
- if ("value" in descriptor) descriptor.writable = true;
21
- Object.defineProperty(target, descriptor.key, descriptor);
22
- }
23
- }
24
-
25
- function _createClass(Constructor, protoProps, staticProps) {
26
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
- if (staticProps) _defineProperties(Constructor, staticProps);
28
- return Constructor;
29
- }
30
-
31
- function _extends() {
32
- _extends = Object.assign || function (target) {
33
- for (var i = 1; i < arguments.length; i++) {
34
- var source = arguments[i];
35
-
36
- for (var key in source) {
37
- if (Object.prototype.hasOwnProperty.call(source, key)) {
38
- target[key] = source[key];
39
- }
40
- }
41
  }
42
-
43
- return target;
44
- };
45
-
46
- return _extends.apply(this, arguments);
47
- }
48
-
49
- function _inheritsLoose(subClass, superClass) {
50
- subClass.prototype = Object.create(superClass.prototype);
51
- subClass.prototype.constructor = subClass;
52
- subClass.__proto__ = superClass;
53
- }
54
-
55
- /**
56
- * --------------------------------------------------------------------------
57
- * Bootstrap (v4.0.0): util.js
58
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
59
- * --------------------------------------------------------------------------
60
- */
61
-
62
- var Util = function ($$$1) {
63
- /**
64
- * ------------------------------------------------------------------------
65
- * Private TransitionEnd Helpers
66
- * ------------------------------------------------------------------------
67
- */
68
- var transition = false;
69
- var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
70
-
71
- function toType(obj) {
72
- return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
73
  }
74
 
75
- function getSpecialTransitionEndEvent() {
76
- return {
77
- bindType: transition.end,
78
- delegateType: transition.end,
79
- handle: function handle(event) {
80
- if ($$$1(event.target).is(this)) {
81
- return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
82
- }
83
-
84
- return undefined; // eslint-disable-line no-undefined
85
- }
86
- };
87
  }
88
 
89
- function transitionEndTest() {
90
- if (typeof window !== 'undefined' && window.QUnit) {
91
- return false;
 
 
 
 
 
 
 
92
  }
93
 
94
- return {
95
- end: 'transitionend'
96
- };
97
  }
98
 
99
- function transitionEndEmulator(duration) {
100
- var _this = this;
 
 
101
 
102
- var called = false;
103
- $$$1(this).one(Util.TRANSITION_END, function () {
104
- called = true;
105
- });
106
- setTimeout(function () {
107
- if (!called) {
108
- Util.triggerTransitionEnd(_this);
109
  }
110
- }, duration);
111
- return this;
112
- }
113
-
114
- function setTransitionEndSupport() {
115
- transition = transitionEndTest();
116
- $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
117
 
118
- if (Util.supportsTransitionEnd()) {
119
- $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
 
120
  }
 
 
121
  }
122
 
123
- function escapeId(selector) {
124
- // We escape IDs in case of special selectors (selector = '#myId:something')
125
- // $.escapeSelector does not exist in jQuery < 3
126
- selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
127
- return selector;
128
  }
 
129
  /**
130
  * --------------------------------------------------------------------------
131
- * Public Util Api
 
132
  * --------------------------------------------------------------------------
133
  */
134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
 
136
- var Util = {
137
- TRANSITION_END: 'bsTransitionEnd',
138
- getUID: function getUID(prefix) {
139
- do {
140
- // eslint-disable-next-line no-bitwise
141
- prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
142
- } while (document.getElementById(prefix));
 
143
 
144
- return prefix;
145
- },
146
- getSelectorFromElement: function getSelectorFromElement(element) {
147
- var selector = element.getAttribute('data-target');
148
 
149
- if (!selector || selector === '#') {
150
- selector = element.getAttribute('href') || '';
151
- } // If it's an ID
152
 
 
 
 
 
 
 
 
 
 
 
 
153
 
154
- if (selector.charAt(0) === '#') {
155
- selector = escapeId(selector);
156
- }
 
 
 
 
 
 
157
 
158
- try {
159
- var $selector = $$$1(document).find(selector);
160
- return $selector.length > 0 ? selector : null;
161
- } catch (err) {
162
- return null;
163
- }
164
- },
165
- reflow: function reflow(element) {
166
- return element.offsetHeight;
167
- },
168
- triggerTransitionEnd: function triggerTransitionEnd(element) {
169
- $$$1(element).trigger(transition.end);
170
- },
171
- supportsTransitionEnd: function supportsTransitionEnd() {
172
- return Boolean(transition);
173
- },
174
- isElement: function isElement(obj) {
175
- return (obj[0] || obj).nodeType;
176
- },
177
- typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
178
- for (var property in configTypes) {
179
- if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
180
- var expectedTypes = configTypes[property];
181
- var value = config[property];
182
- var valueType = value && Util.isElement(value) ? 'element' : toType(value);
183
-
184
- if (!new RegExp(expectedTypes).test(valueType)) {
185
- throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  }
187
  }
188
  }
189
- }
190
- };
191
- setTransitionEndSupport();
192
- return Util;
193
- }($);
194
-
195
- /**
196
- * --------------------------------------------------------------------------
197
- * Bootstrap (v4.0.0): alert.js
198
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
199
- * --------------------------------------------------------------------------
200
- */
201
-
202
- var Alert = function ($$$1) {
203
  /**
204
- * ------------------------------------------------------------------------
205
- * Constants
206
- * ------------------------------------------------------------------------
 
207
  */
208
- var NAME = 'alert';
209
- var VERSION = '4.0.0';
210
- var DATA_KEY = 'bs.alert';
211
- var EVENT_KEY = "." + DATA_KEY;
212
- var DATA_API_KEY = '.data-api';
213
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
214
- var TRANSITION_DURATION = 150;
215
- var Selector = {
216
- DISMISS: '[data-dismiss="alert"]'
217
- };
218
- var Event = {
219
- CLOSE: "close" + EVENT_KEY,
220
- CLOSED: "closed" + EVENT_KEY,
221
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
222
- };
223
- var ClassName = {
224
- ALERT: 'alert',
225
- FADE: 'fade',
226
- SHOW: 'show'
227
  /**
228
  * ------------------------------------------------------------------------
229
- * Class Definition
230
  * ------------------------------------------------------------------------
231
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
 
233
- };
234
 
235
- var Alert =
236
- /*#__PURE__*/
237
- function () {
238
- function Alert(element) {
239
- this._element = element;
240
- } // Getters
241
 
242
 
243
- var _proto = Alert.prototype;
244
 
245
- // Public
246
- _proto.close = function close(element) {
247
- element = element || this._element;
248
 
249
- var rootElement = this._getRootElement(element);
250
 
251
- var customEvent = this._triggerCloseEvent(rootElement);
252
 
253
- if (customEvent.isDefaultPrevented()) {
254
- return;
255
- }
256
 
257
- this._removeElement(rootElement);
258
- };
259
 
260
- _proto.dispose = function dispose() {
261
- $$$1.removeData(this._element, DATA_KEY);
262
- this._element = null;
263
- }; // Private
264
 
265
 
266
- _proto._getRootElement = function _getRootElement(element) {
267
- var selector = Util.getSelectorFromElement(element);
268
- var parent = false;
269
 
270
- if (selector) {
271
- parent = $$$1(selector)[0];
272
- }
273
 
274
- if (!parent) {
275
- parent = $$$1(element).closest("." + ClassName.ALERT)[0];
276
- }
277
 
278
- return parent;
279
- };
280
 
281
- _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
282
- var closeEvent = $$$1.Event(Event.CLOSE);
283
- $$$1(element).trigger(closeEvent);
284
- return closeEvent;
285
- };
286
 
287
- _proto._removeElement = function _removeElement(element) {
288
- var _this = this;
289
 
290
- $$$1(element).removeClass(ClassName.SHOW);
291
 
292
- if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
293
- this._destroyElement(element);
294
 
295
- return;
296
- }
297
 
298
- $$$1(element).one(Util.TRANSITION_END, function (event) {
299
- return _this._destroyElement(element, event);
300
- }).emulateTransitionEnd(TRANSITION_DURATION);
301
- };
 
302
 
303
- _proto._destroyElement = function _destroyElement(element) {
304
- $$$1(element).detach().trigger(Event.CLOSED).remove();
305
- }; // Static
306
 
307
 
308
- Alert._jQueryInterface = function _jQueryInterface(config) {
309
- return this.each(function () {
310
- var $element = $$$1(this);
311
- var data = $element.data(DATA_KEY);
312
 
313
- if (!data) {
314
- data = new Alert(this);
315
- $element.data(DATA_KEY, data);
316
- }
317
 
318
- if (config === 'close') {
319
- data[config](this);
320
- }
321
- });
322
- };
323
 
324
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
325
- return function (event) {
326
- if (event) {
327
- event.preventDefault();
328
- }
329
 
330
- alertInstance.close(this);
 
331
  };
332
- };
333
 
334
- _createClass(Alert, null, [{
335
- key: "VERSION",
336
- get: function get() {
337
- return VERSION;
338
- }
339
- }]);
340
- return Alert;
341
- }();
342
- /**
343
- * ------------------------------------------------------------------------
344
- * Data Api implementation
345
- * ------------------------------------------------------------------------
346
- */
347
 
 
 
 
 
 
 
 
348
 
349
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
350
- /**
351
- * ------------------------------------------------------------------------
352
- * jQuery
353
- * ------------------------------------------------------------------------
354
- */
355
 
356
- $$$1.fn[NAME] = Alert._jQueryInterface;
357
- $$$1.fn[NAME].Constructor = Alert;
 
 
 
 
358
 
359
- $$$1.fn[NAME].noConflict = function () {
360
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
361
- return Alert._jQueryInterface;
362
- };
363
 
364
- return Alert;
365
- }($);
 
 
366
 
367
- /**
368
- * --------------------------------------------------------------------------
369
- * Bootstrap (v4.0.0): button.js
370
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
371
- * --------------------------------------------------------------------------
372
- */
373
 
374
- var Button = function ($$$1) {
375
  /**
376
- * ------------------------------------------------------------------------
377
- * Constants
378
- * ------------------------------------------------------------------------
 
379
  */
380
- var NAME = 'button';
381
- var VERSION = '4.0.0';
382
- var DATA_KEY = 'bs.button';
383
- var EVENT_KEY = "." + DATA_KEY;
384
- var DATA_API_KEY = '.data-api';
385
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
386
- var ClassName = {
387
- ACTIVE: 'active',
388
- BUTTON: 'btn',
389
- FOCUS: 'focus'
390
- };
391
- var Selector = {
392
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
393
- DATA_TOGGLE: '[data-toggle="buttons"]',
394
- INPUT: 'input',
395
- ACTIVE: '.active',
396
- BUTTON: '.btn'
397
- };
398
- var Event = {
399
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
400
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
401
  /**
402
  * ------------------------------------------------------------------------
403
- * Class Definition
404
  * ------------------------------------------------------------------------
405
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
406
 
407
- };
408
 
409
- var Button =
410
- /*#__PURE__*/
411
- function () {
412
- function Button(element) {
413
- this._element = element;
414
- } // Getters
415
 
416
 
417
- var _proto = Button.prototype;
418
 
419
- // Public
420
- _proto.toggle = function toggle() {
421
- var triggerChangeEvent = true;
422
- var addAriaPressed = true;
423
- var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
424
 
425
- if (rootElement) {
426
- var input = $$$1(this._element).find(Selector.INPUT)[0];
427
 
428
- if (input) {
429
- if (input.type === 'radio') {
430
- if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
431
- triggerChangeEvent = false;
432
- } else {
433
- var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
434
 
435
- if (activeElement) {
436
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
 
437
  }
438
  }
439
- }
440
 
441
- if (triggerChangeEvent) {
442
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
443
- return;
 
 
 
 
444
  }
445
 
446
- input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
447
- $$$1(input).trigger('change');
448
  }
 
449
 
450
- input.focus();
451
- addAriaPressed = false;
452
  }
453
- }
454
 
455
- if (addAriaPressed) {
456
- this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
457
- }
 
458
 
459
- if (triggerChangeEvent) {
460
- $$$1(this._element).toggleClass(ClassName.ACTIVE);
461
- }
462
- };
463
 
464
- _proto.dispose = function dispose() {
465
- $$$1.removeData(this._element, DATA_KEY);
466
- this._element = null;
467
- }; // Static
468
 
 
 
 
469
 
470
- Button._jQueryInterface = function _jQueryInterface(config) {
471
- return this.each(function () {
472
- var data = $$$1(this).data(DATA_KEY);
 
473
 
474
- if (!data) {
475
- data = new Button(this);
476
- $$$1(this).data(DATA_KEY, data);
477
- }
 
478
 
479
- if (config === 'toggle') {
480
- data[config]();
 
 
481
  }
482
- });
483
- };
484
-
485
- _createClass(Button, null, [{
486
- key: "VERSION",
487
- get: function get() {
488
- return VERSION;
489
- }
490
- }]);
491
- return Button;
492
- }();
493
- /**
494
- * ------------------------------------------------------------------------
495
- * Data Api implementation
496
- * ------------------------------------------------------------------------
497
- */
498
 
 
 
 
 
 
 
 
499
 
500
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
501
- event.preventDefault();
502
- var button = event.target;
503
 
504
- if (!$$$1(button).hasClass(ClassName.BUTTON)) {
505
- button = $$$1(button).closest(Selector.BUTTON);
506
- }
507
 
508
- Button._jQueryInterface.call($$$1(button), 'toggle');
509
- }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
510
- var button = $$$1(event.target).closest(Selector.BUTTON)[0];
511
- $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
512
- });
513
- /**
514
- * ------------------------------------------------------------------------
515
- * jQuery
516
- * ------------------------------------------------------------------------
517
- */
518
 
519
- $$$1.fn[NAME] = Button._jQueryInterface;
520
- $$$1.fn[NAME].Constructor = Button;
 
 
 
 
 
 
 
 
521
 
522
- $$$1.fn[NAME].noConflict = function () {
523
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
524
- return Button._jQueryInterface;
525
- };
526
 
527
- return Button;
528
- }($);
 
 
529
 
530
- /**
531
- * --------------------------------------------------------------------------
532
- * Bootstrap (v4.0.0): carousel.js
533
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
534
- * --------------------------------------------------------------------------
535
- */
536
 
537
- var Carousel = function ($$$1) {
538
  /**
539
- * ------------------------------------------------------------------------
540
- * Constants
541
- * ------------------------------------------------------------------------
 
542
  */
543
- var NAME = 'carousel';
544
- var VERSION = '4.0.0';
545
- var DATA_KEY = 'bs.carousel';
546
- var EVENT_KEY = "." + DATA_KEY;
547
- var DATA_API_KEY = '.data-api';
548
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
549
- var TRANSITION_DURATION = 600;
550
- var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
551
-
552
- var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
553
-
554
- var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
555
-
556
- var Default = {
557
- interval: 5000,
558
- keyboard: true,
559
- slide: false,
560
- pause: 'hover',
561
- wrap: true
562
- };
563
- var DefaultType = {
564
- interval: '(number|boolean)',
565
- keyboard: 'boolean',
566
- slide: '(boolean|string)',
567
- pause: '(string|boolean)',
568
- wrap: 'boolean'
569
- };
570
- var Direction = {
571
- NEXT: 'next',
572
- PREV: 'prev',
573
- LEFT: 'left',
574
- RIGHT: 'right'
575
- };
576
- var Event = {
577
- SLIDE: "slide" + EVENT_KEY,
578
- SLID: "slid" + EVENT_KEY,
579
- KEYDOWN: "keydown" + EVENT_KEY,
580
- MOUSEENTER: "mouseenter" + EVENT_KEY,
581
- MOUSELEAVE: "mouseleave" + EVENT_KEY,
582
- TOUCHEND: "touchend" + EVENT_KEY,
583
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
584
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
585
- };
586
- var ClassName = {
587
- CAROUSEL: 'carousel',
588
- ACTIVE: 'active',
589
- SLIDE: 'slide',
590
- RIGHT: 'carousel-item-right',
591
- LEFT: 'carousel-item-left',
592
- NEXT: 'carousel-item-next',
593
- PREV: 'carousel-item-prev',
594
- ITEM: 'carousel-item'
595
- };
596
- var Selector = {
597
- ACTIVE: '.active',
598
- ACTIVE_ITEM: '.active.carousel-item',
599
- ITEM: '.carousel-item',
600
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
601
- INDICATORS: '.carousel-indicators',
602
- DATA_SLIDE: '[data-slide], [data-slide-to]',
603
- DATA_RIDE: '[data-ride="carousel"]'
604
  /**
605
  * ------------------------------------------------------------------------
606
- * Class Definition
607
  * ------------------------------------------------------------------------
608
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
609
 
610
- };
611
-
612
- var Carousel =
613
- /*#__PURE__*/
614
- function () {
615
- function Carousel(element, config) {
616
- this._items = null;
617
- this._interval = null;
618
- this._activeElement = null;
619
- this._isPaused = false;
620
- this._isSliding = false;
621
- this.touchTimeout = null;
622
- this._config = this._getConfig(config);
623
- this._element = $$$1(element)[0];
624
- this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
625
-
626
- this._addEventListeners();
627
- } // Getters
628
 
 
 
 
 
 
 
 
 
 
 
 
 
 
629
 
630
- var _proto = Carousel.prototype;
 
631
 
632
- // Public
633
- _proto.next = function next() {
634
- if (!this._isSliding) {
635
- this._slide(Direction.NEXT);
636
- }
637
- };
638
 
639
- _proto.nextWhenVisible = function nextWhenVisible() {
640
- // Don't call next when the page isn't visible
641
- // or the carousel or its parent isn't visible
642
- if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
643
- this.next();
644
- }
645
- };
646
 
647
- _proto.prev = function prev() {
648
- if (!this._isSliding) {
649
- this._slide(Direction.PREV);
650
- }
651
- };
 
652
 
653
- _proto.pause = function pause(event) {
654
- if (!event) {
655
- this._isPaused = true;
656
- }
 
 
 
657
 
658
- if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
659
- Util.triggerTransitionEnd(this._element);
660
- this.cycle(true);
661
- }
 
662
 
663
- clearInterval(this._interval);
664
- this._interval = null;
665
- };
 
666
 
667
- _proto.cycle = function cycle(event) {
668
- if (!event) {
669
- this._isPaused = false;
670
- }
671
 
672
- if (this._interval) {
673
  clearInterval(this._interval);
674
  this._interval = null;
675
- }
676
 
677
- if (this._config.interval && !this._isPaused) {
678
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
679
- }
680
- };
681
 
682
- _proto.to = function to(index) {
683
- var _this = this;
 
 
 
 
 
 
 
684
 
685
- this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
686
 
687
- var activeIndex = this._getItemIndex(this._activeElement);
688
 
689
- if (index > this._items.length - 1 || index < 0) {
690
- return;
691
- }
692
 
693
- if (this._isSliding) {
694
- $$$1(this._element).one(Event.SLID, function () {
695
- return _this.to(index);
696
- });
697
- return;
698
- }
699
 
700
- if (activeIndex === index) {
701
- this.pause();
702
- this.cycle();
703
- return;
704
- }
 
705
 
706
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
 
 
 
 
707
 
708
- this._slide(direction, this._items[index]);
709
- };
710
 
711
- _proto.dispose = function dispose() {
712
- $$$1(this._element).off(EVENT_KEY);
713
- $$$1.removeData(this._element, DATA_KEY);
714
- this._items = null;
715
- this._config = null;
716
- this._element = null;
717
- this._interval = null;
718
- this._isPaused = null;
719
- this._isSliding = null;
720
- this._activeElement = null;
721
- this._indicatorsElement = null;
722
- }; // Private
723
-
724
-
725
- _proto._getConfig = function _getConfig(config) {
726
- config = _extends({}, Default, config);
727
- Util.typeCheckConfig(NAME, config, DefaultType);
728
- return config;
729
- };
730
 
731
- _proto._addEventListeners = function _addEventListeners() {
732
- var _this2 = this;
 
 
 
 
 
 
 
 
 
 
733
 
734
- if (this._config.keyboard) {
735
- $$$1(this._element).on(Event.KEYDOWN, function (event) {
736
- return _this2._keydown(event);
737
- });
738
- }
739
 
740
- if (this._config.pause === 'hover') {
741
- $$$1(this._element).on(Event.MOUSEENTER, function (event) {
742
- return _this2.pause(event);
743
- }).on(Event.MOUSELEAVE, function (event) {
744
- return _this2.cycle(event);
745
- });
746
 
747
- if ('ontouchstart' in document.documentElement) {
748
- // If it's a touch-enabled device, mouseenter/leave are fired as
749
- // part of the mouse compatibility events on first tap - the carousel
750
- // would stop cycling until user tapped out of it;
751
- // here, we listen for touchend, explicitly pause the carousel
752
- // (as if it's the second time we tap on it, mouseenter compat event
753
- // is NOT fired) and after a timeout (to allow for mouse compatibility
754
- // events to fire) we explicitly restart cycling
755
- $$$1(this._element).on(Event.TOUCHEND, function () {
756
- _this2.pause();
757
-
758
- if (_this2.touchTimeout) {
759
- clearTimeout(_this2.touchTimeout);
760
- }
761
 
762
- _this2.touchTimeout = setTimeout(function (event) {
763
- return _this2.cycle(event);
764
- }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
765
  });
766
  }
767
- }
768
- };
769
 
770
- _proto._keydown = function _keydown(event) {
771
- if (/input|textarea/i.test(event.target.tagName)) {
772
- return;
773
- }
774
-
775
- switch (event.which) {
776
- case ARROW_LEFT_KEYCODE:
777
- event.preventDefault();
778
- this.prev();
779
- break;
780
-
781
- case ARROW_RIGHT_KEYCODE:
782
- event.preventDefault();
783
- this.next();
784
- break;
785
-
786
- default:
787
- }
788
- };
789
-
790
- _proto._getItemIndex = function _getItemIndex(element) {
791
- this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
792
- return this._items.indexOf(element);
793
- };
794
 
795
- _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
796
- var isNextDirection = direction === Direction.NEXT;
797
- var isPrevDirection = direction === Direction.PREV;
 
 
 
 
 
 
 
 
 
 
 
798
 
799
- var activeIndex = this._getItemIndex(activeElement);
 
 
 
 
 
 
800
 
801
- var lastItemIndex = this._items.length - 1;
802
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
 
 
803
 
804
- if (isGoingToWrap && !this._config.wrap) {
805
- return activeElement;
806
- }
 
 
807
 
808
- var delta = direction === Direction.PREV ? -1 : 1;
809
- var itemIndex = (activeIndex + delta) % this._items.length;
810
- return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
811
- };
812
 
813
- _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
814
- var targetIndex = this._getItemIndex(relatedTarget);
 
815
 
816
- var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
 
 
 
817
 
818
- var slideEvent = $$$1.Event(Event.SLIDE, {
819
- relatedTarget: relatedTarget,
820
- direction: eventDirectionName,
821
- from: fromIndex,
822
- to: targetIndex
823
- });
824
- $$$1(this._element).trigger(slideEvent);
825
- return slideEvent;
826
- };
827
 
828
- _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
829
- if (this._indicatorsElement) {
830
- $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
831
 
832
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
833
 
834
- if (nextIndicator) {
835
- $$$1(nextIndicator).addClass(ClassName.ACTIVE);
836
  }
837
- }
838
- };
839
 
840
- _proto._slide = function _slide(direction, element) {
841
- var _this3 = this;
 
 
842
 
843
- var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
844
 
845
- var activeElementIndex = this._getItemIndex(activeElement);
846
 
847
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
 
 
 
 
 
 
 
 
848
 
849
- var nextElementIndex = this._getItemIndex(nextElement);
 
 
850
 
851
- var isCycling = Boolean(this._interval);
852
- var directionalClassName;
853
- var orderClassName;
854
- var eventDirectionName;
855
 
856
- if (direction === Direction.NEXT) {
857
- directionalClassName = ClassName.LEFT;
858
- orderClassName = ClassName.NEXT;
859
- eventDirectionName = Direction.LEFT;
860
- } else {
861
- directionalClassName = ClassName.RIGHT;
862
- orderClassName = ClassName.PREV;
863
- eventDirectionName = Direction.RIGHT;
864
- }
865
-
866
- if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
867
- this._isSliding = false;
868
- return;
869
- }
870
 
871
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
 
872
 
873
- if (slideEvent.isDefaultPrevented()) {
874
- return;
875
- }
876
 
877
- if (!activeElement || !nextElement) {
878
- // Some weirdness is happening, so we bail
879
- return;
880
- }
881
 
882
- this._isSliding = true;
883
 
884
- if (isCycling) {
885
- this.pause();
886
- }
887
 
888
- this._setActiveIndicatorElement(nextElement);
 
 
 
889
 
890
- var slidEvent = $$$1.Event(Event.SLID, {
891
- relatedTarget: nextElement,
892
- direction: eventDirectionName,
893
- from: activeElementIndex,
894
- to: nextElementIndex
895
- });
 
 
 
896
 
897
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
898
- $$$1(nextElement).addClass(orderClassName);
899
- Util.reflow(nextElement);
900
- $$$1(activeElement).addClass(directionalClassName);
901
- $$$1(nextElement).addClass(directionalClassName);
902
- $$$1(activeElement).one(Util.TRANSITION_END, function () {
903
- $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
904
- $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
905
- _this3._isSliding = false;
906
- setTimeout(function () {
907
- return $$$1(_this3._element).trigger(slidEvent);
908
- }, 0);
909
- }).emulateTransitionEnd(TRANSITION_DURATION);
910
- } else {
911
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
912
- $$$1(nextElement).addClass(ClassName.ACTIVE);
913
- this._isSliding = false;
914
- $$$1(this._element).trigger(slidEvent);
915
- }
916
 
917
- if (isCycling) {
918
- this.cycle();
919
- }
920
- }; // Static
921
 
 
 
 
922
 
923
- Carousel._jQueryInterface = function _jQueryInterface(config) {
924
- return this.each(function () {
925
- var data = $$$1(this).data(DATA_KEY);
 
926
 
927
- var _config = _extends({}, Default, $$$1(this).data());
928
 
929
- if (typeof config === 'object') {
930
- _config = _extends({}, _config, config);
931
  }
932
 
933
- var action = typeof config === 'string' ? config : _config.slide;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
934
 
935
- if (!data) {
936
- data = new Carousel(this, _config);
937
- $$$1(this).data(DATA_KEY, data);
938
  }
 
 
 
 
 
 
 
 
 
 
 
 
939
 
940
- if (typeof config === 'number') {
941
- data.to(config);
942
- } else if (typeof action === 'string') {
943
- if (typeof data[action] === 'undefined') {
944
- throw new TypeError("No method named \"" + action + "\"");
 
 
 
 
 
 
 
 
 
 
 
 
 
945
  }
 
 
 
 
 
946
 
947
- data[action]();
948
- } else if (_config.interval) {
949
- data.pause();
950
- data.cycle();
951
  }
952
- });
953
- };
954
 
955
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
956
- var selector = Util.getSelectorFromElement(this);
957
 
958
- if (!selector) {
959
- return;
960
- }
961
 
962
- var target = $$$1(selector)[0];
963
 
964
- if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
965
- return;
966
- }
967
 
968
- var config = _extends({}, $$$1(target).data(), $$$1(this).data());
969
- var slideIndex = this.getAttribute('data-slide-to');
 
970
 
971
- if (slideIndex) {
972
- config.interval = false;
973
- }
974
 
975
- Carousel._jQueryInterface.call($$$1(target), config);
 
 
976
 
977
- if (slideIndex) {
978
- $$$1(target).data(DATA_KEY).to(slideIndex);
979
- }
980
 
981
- event.preventDefault();
982
- };
 
 
 
 
 
 
 
 
 
983
 
984
- _createClass(Carousel, null, [{
985
- key: "VERSION",
986
- get: function get() {
987
- return VERSION;
988
- }
989
- }, {
990
- key: "Default",
991
- get: function get() {
992
- return Default;
993
- }
994
- }]);
995
- return Carousel;
996
- }();
997
- /**
998
- * ------------------------------------------------------------------------
999
- * Data Api implementation
1000
- * ------------------------------------------------------------------------
1001
- */
1002
 
1003
 
1004
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
1005
- $$$1(window).on(Event.LOAD_DATA_API, function () {
1006
- $$$1(Selector.DATA_RIDE).each(function () {
1007
- var $carousel = $$$1(this);
1008
 
1009
- Carousel._jQueryInterface.call($carousel, $carousel.data());
 
1010
  });
1011
- });
1012
- /**
1013
- * ------------------------------------------------------------------------
1014
- * jQuery
1015
- * ------------------------------------------------------------------------
1016
- */
1017
-
1018
- $$$1.fn[NAME] = Carousel._jQueryInterface;
1019
- $$$1.fn[NAME].Constructor = Carousel;
1020
 
1021
- $$$1.fn[NAME].noConflict = function () {
1022
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1023
- return Carousel._jQueryInterface;
1024
- };
1025
 
1026
- return Carousel;
1027
- }($);
 
 
1028
 
1029
- /**
1030
- * --------------------------------------------------------------------------
1031
- * Bootstrap (v4.0.0): collapse.js
1032
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1033
- * --------------------------------------------------------------------------
1034
- */
1035
 
1036
- var Collapse = function ($$$1) {
1037
  /**
1038
- * ------------------------------------------------------------------------
1039
- * Constants
1040
- * ------------------------------------------------------------------------
 
1041
  */
1042
- var NAME = 'collapse';
1043
- var VERSION = '4.0.0';
1044
- var DATA_KEY = 'bs.collapse';
1045
- var EVENT_KEY = "." + DATA_KEY;
1046
- var DATA_API_KEY = '.data-api';
1047
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1048
- var TRANSITION_DURATION = 600;
1049
- var Default = {
1050
- toggle: true,
1051
- parent: ''
1052
- };
1053
- var DefaultType = {
1054
- toggle: 'boolean',
1055
- parent: '(string|element)'
1056
- };
1057
- var Event = {
1058
- SHOW: "show" + EVENT_KEY,
1059
- SHOWN: "shown" + EVENT_KEY,
1060
- HIDE: "hide" + EVENT_KEY,
1061
- HIDDEN: "hidden" + EVENT_KEY,
1062
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
1063
- };
1064
- var ClassName = {
1065
- SHOW: 'show',
1066
- COLLAPSE: 'collapse',
1067
- COLLAPSING: 'collapsing',
1068
- COLLAPSED: 'collapsed'
1069
- };
1070
- var Dimension = {
1071
- WIDTH: 'width',
1072
- HEIGHT: 'height'
1073
- };
1074
- var Selector = {
1075
- ACTIVES: '.show, .collapsing',
1076
- DATA_TOGGLE: '[data-toggle="collapse"]'
1077
  /**
1078
  * ------------------------------------------------------------------------
1079
- * Class Definition
1080
  * ------------------------------------------------------------------------
1081
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1082
 
1083
- };
1084
 
1085
- var Collapse =
1086
- /*#__PURE__*/
1087
- function () {
1088
- function Collapse(element, config) {
1089
- this._isTransitioning = false;
1090
- this._element = element;
1091
- this._config = this._getConfig(config);
1092
- this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1093
- var tabToggles = $$$1(Selector.DATA_TOGGLE);
1094
 
1095
- for (var i = 0; i < tabToggles.length; i++) {
1096
- var elem = tabToggles[i];
1097
- var selector = Util.getSelectorFromElement(elem);
1098
 
1099
- if (selector !== null && $$$1(selector).filter(element).length > 0) {
1100
- this._selector = selector;
1101
 
1102
- this._triggerArray.push(elem);
 
1103
  }
1104
- }
1105
 
1106
- this._parent = this._config.parent ? this._getParent() : null;
1107
 
1108
- if (!this._config.parent) {
1109
- this._addAriaAndCollapsedClass(this._element, this._triggerArray);
1110
- }
1111
 
1112
- if (this._config.toggle) {
1113
- this.toggle();
1114
- }
1115
- } // Getters
1116
 
1117
 
1118
- var _proto = Collapse.prototype;
1119
 
1120
- // Public
1121
- _proto.toggle = function toggle() {
1122
- if ($$$1(this._element).hasClass(ClassName.SHOW)) {
1123
- this.hide();
1124
- } else {
1125
- this.show();
1126
- }
1127
- };
1128
 
1129
- _proto.show = function show() {
1130
- var _this = this;
1131
 
1132
- if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
1133
- return;
1134
- }
1135
 
1136
- var actives;
1137
- var activesData;
1138
 
1139
- if (this._parent) {
1140
- actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
1141
 
1142
- if (actives.length === 0) {
1143
- actives = null;
 
1144
  }
1145
- }
1146
 
1147
- if (actives) {
1148
- activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
1149
 
1150
- if (activesData && activesData._isTransitioning) {
1151
- return;
 
1152
  }
1153
- }
1154
 
1155
- var startEvent = $$$1.Event(Event.SHOW);
1156
- $$$1(this._element).trigger(startEvent);
1157
 
1158
- if (startEvent.isDefaultPrevented()) {
1159
- return;
1160
- }
1161
 
1162
- if (actives) {
1163
- Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
1164
 
1165
- if (!activesData) {
1166
- $$$1(actives).data(DATA_KEY, null);
 
1167
  }
1168
- }
1169
-
1170
- var dimension = this._getDimension();
1171
 
1172
- $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1173
- this._element.style[dimension] = 0;
1174
 
1175
- if (this._triggerArray.length > 0) {
1176
- $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1177
- }
1178
 
1179
- this.setTransitioning(true);
 
 
1180
 
1181
- var complete = function complete() {
1182
- $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
1183
- _this._element.style[dimension] = '';
1184
 
1185
- _this.setTransitioning(false);
 
 
1186
 
1187
- $$$1(_this._element).trigger(Event.SHOWN);
1188
- };
1189
 
1190
- if (!Util.supportsTransitionEnd()) {
1191
- complete();
1192
- return;
1193
- }
1194
 
1195
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1196
- var scrollSize = "scroll" + capitalizedDimension;
1197
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
1198
- this._element.style[dimension] = this._element[scrollSize] + "px";
1199
- };
 
1200
 
1201
- _proto.hide = function hide() {
1202
- var _this2 = this;
1203
 
1204
- if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
1205
- return;
1206
- }
1207
 
1208
- var startEvent = $$$1.Event(Event.HIDE);
1209
- $$$1(this._element).trigger(startEvent);
1210
 
1211
- if (startEvent.isDefaultPrevented()) {
1212
- return;
1213
- }
1214
 
1215
- var dimension = this._getDimension();
1216
 
1217
- this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1218
- Util.reflow(this._element);
1219
- $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1220
 
1221
- if (this._triggerArray.length > 0) {
1222
- for (var i = 0; i < this._triggerArray.length; i++) {
1223
- var trigger = this._triggerArray[i];
1224
- var selector = Util.getSelectorFromElement(trigger);
1225
 
1226
- if (selector !== null) {
1227
- var $elem = $$$1(selector);
1228
 
1229
- if (!$elem.hasClass(ClassName.SHOW)) {
1230
- $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
 
1231
  }
1232
  }
1233
  }
1234
- }
1235
-
1236
- this.setTransitioning(true);
1237
 
1238
- var complete = function complete() {
1239
- _this2.setTransitioning(false);
1240
-
1241
- $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
1242
- };
1243
 
1244
- this._element.style[dimension] = '';
 
1245
 
1246
- if (!Util.supportsTransitionEnd()) {
1247
- complete();
1248
- return;
1249
- }
1250
 
1251
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
1252
- };
 
 
1253
 
1254
- _proto.setTransitioning = function setTransitioning(isTransitioning) {
1255
- this._isTransitioning = isTransitioning;
1256
- };
1257
 
1258
- _proto.dispose = function dispose() {
1259
- $$$1.removeData(this._element, DATA_KEY);
1260
- this._config = null;
1261
- this._parent = null;
1262
- this._element = null;
1263
- this._triggerArray = null;
1264
- this._isTransitioning = null;
1265
- }; // Private
1266
 
1267
 
1268
- _proto._getConfig = function _getConfig(config) {
1269
- config = _extends({}, Default, config);
1270
- config.toggle = Boolean(config.toggle); // Coerce string values
1271
 
1272
- Util.typeCheckConfig(NAME, config, DefaultType);
1273
- return config;
1274
- };
1275
 
1276
- _proto._getDimension = function _getDimension() {
1277
- var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
1278
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1279
- };
1280
 
1281
- _proto._getParent = function _getParent() {
1282
- var _this3 = this;
1283
 
1284
- var parent = null;
1285
 
1286
- if (Util.isElement(this._config.parent)) {
1287
- parent = this._config.parent; // It's a jQuery object
1288
 
1289
- if (typeof this._config.parent.jquery !== 'undefined') {
1290
- parent = this._config.parent[0];
 
 
 
1291
  }
1292
- } else {
1293
- parent = $$$1(this._config.parent)[0];
1294
- }
1295
 
1296
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1297
- $$$1(parent).find(selector).each(function (i, element) {
1298
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1299
- });
1300
- return parent;
1301
- };
1302
 
1303
- _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1304
- if (element) {
1305
- var isOpen = $$$1(element).hasClass(ClassName.SHOW);
1306
 
1307
- if (triggerArray.length > 0) {
1308
- $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
 
1309
  }
1310
- }
1311
- }; // Static
1312
 
1313
 
1314
- Collapse._getTargetFromElement = function _getTargetFromElement(element) {
1315
- var selector = Util.getSelectorFromElement(element);
1316
- return selector ? $$$1(selector)[0] : null;
1317
- };
1318
 
1319
- Collapse._jQueryInterface = function _jQueryInterface(config) {
1320
- return this.each(function () {
1321
- var $this = $$$1(this);
1322
- var data = $this.data(DATA_KEY);
1323
 
1324
- var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
1325
 
1326
- if (!data && _config.toggle && /show|hide/.test(config)) {
1327
- _config.toggle = false;
1328
- }
1329
 
1330
- if (!data) {
1331
- data = new Collapse(this, _config);
1332
- $this.data(DATA_KEY, data);
1333
- }
 
 
 
 
 
1334
 
1335
- if (typeof config === 'string') {
1336
- if (typeof data[config] === 'undefined') {
1337
- throw new TypeError("No method named \"" + config + "\"");
1338
  }
 
 
1339
 
1340
- data[config]();
 
 
 
1341
  }
1342
- });
1343
- };
 
 
 
 
1344
 
1345
- _createClass(Collapse, null, [{
1346
- key: "VERSION",
1347
- get: function get() {
1348
- return VERSION;
1349
- }
1350
- }, {
1351
- key: "Default",
1352
- get: function get() {
1353
- return Default;
1354
- }
1355
- }]);
1356
- return Collapse;
1357
- }();
1358
- /**
1359
- * ------------------------------------------------------------------------
1360
- * Data Api implementation
1361
- * ------------------------------------------------------------------------
1362
- */
1363
 
1364
 
1365
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1366
- // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1367
- if (event.currentTarget.tagName === 'A') {
1368
- event.preventDefault();
1369
- }
1370
 
1371
- var $trigger = $$$1(this);
1372
- var selector = Util.getSelectorFromElement(this);
1373
- $$$1(selector).each(function () {
1374
- var $target = $$$1(this);
1375
- var data = $target.data(DATA_KEY);
1376
- var config = data ? 'toggle' : $trigger.data();
1377
 
1378
- Collapse._jQueryInterface.call($target, config);
 
1379
  });
1380
- });
1381
- /**
1382
- * ------------------------------------------------------------------------
1383
- * jQuery
1384
- * ------------------------------------------------------------------------
1385
- */
1386
-
1387
- $$$1.fn[NAME] = Collapse._jQueryInterface;
1388
- $$$1.fn[NAME].Constructor = Collapse;
1389
 
1390
- $$$1.fn[NAME].noConflict = function () {
1391
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1392
- return Collapse._jQueryInterface;
1393
- };
1394
 
1395
- return Collapse;
1396
- }($);
 
 
1397
 
1398
- /**
1399
- * --------------------------------------------------------------------------
1400
- * Bootstrap (v4.0.0): dropdown.js
1401
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1402
- * --------------------------------------------------------------------------
1403
- */
1404
 
1405
- var Dropdown = function ($$$1) {
1406
  /**
1407
- * ------------------------------------------------------------------------
1408
- * Constants
1409
- * ------------------------------------------------------------------------
 
1410
  */
1411
- var NAME = 'dropdown';
1412
- var VERSION = '4.0.0';
1413
- var DATA_KEY = 'bs.dropdown';
1414
- var EVENT_KEY = "." + DATA_KEY;
1415
- var DATA_API_KEY = '.data-api';
1416
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1417
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1418
-
1419
- var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
1420
-
1421
- var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
1422
-
1423
- var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
1424
-
1425
- var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
1426
-
1427
- var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
1428
-
1429
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
1430
- var Event = {
1431
- HIDE: "hide" + EVENT_KEY,
1432
- HIDDEN: "hidden" + EVENT_KEY,
1433
- SHOW: "show" + EVENT_KEY,
1434
- SHOWN: "shown" + EVENT_KEY,
1435
- CLICK: "click" + EVENT_KEY,
1436
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
1437
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
1438
- KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
1439
- };
1440
- var ClassName = {
1441
- DISABLED: 'disabled',
1442
- SHOW: 'show',
1443
- DROPUP: 'dropup',
1444
- DROPRIGHT: 'dropright',
1445
- DROPLEFT: 'dropleft',
1446
- MENURIGHT: 'dropdown-menu-right',
1447
- MENULEFT: 'dropdown-menu-left',
1448
- POSITION_STATIC: 'position-static'
1449
- };
1450
- var Selector = {
1451
- DATA_TOGGLE: '[data-toggle="dropdown"]',
1452
- FORM_CHILD: '.dropdown form',
1453
- MENU: '.dropdown-menu',
1454
- NAVBAR_NAV: '.navbar-nav',
1455
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
1456
- };
1457
- var AttachmentMap = {
1458
- TOP: 'top-start',
1459
- TOPEND: 'top-end',
1460
- BOTTOM: 'bottom-start',
1461
- BOTTOMEND: 'bottom-end',
1462
- RIGHT: 'right-start',
1463
- RIGHTEND: 'right-end',
1464
- LEFT: 'left-start',
1465
- LEFTEND: 'left-end'
1466
- };
1467
- var Default = {
1468
- offset: 0,
1469
- flip: true,
1470
- boundary: 'scrollParent'
1471
- };
1472
- var DefaultType = {
1473
- offset: '(number|string|function)',
1474
- flip: 'boolean',
1475
- boundary: '(string|element)'
1476
  /**
1477
  * ------------------------------------------------------------------------
1478
- * Class Definition
1479
  * ------------------------------------------------------------------------
1480
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
 
1482
- };
1483
-
1484
- var Dropdown =
1485
- /*#__PURE__*/
1486
- function () {
1487
- function Dropdown(element, config) {
1488
- this._element = element;
1489
- this._popper = null;
1490
- this._config = this._getConfig(config);
1491
- this._menu = this._getMenuElement();
1492
- this._inNavbar = this._detectNavbar();
1493
-
1494
- this._addEventListeners();
1495
- } // Getters
1496
 
 
 
 
 
 
 
 
 
 
1497
 
1498
- var _proto = Dropdown.prototype;
 
1499
 
1500
- // Public
1501
- _proto.toggle = function toggle() {
1502
- if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
1503
- return;
1504
- }
1505
 
1506
- var parent = Dropdown._getParentFromElement(this._element);
1507
 
1508
- var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
 
 
 
 
1509
 
1510
- Dropdown._clearMenus();
1511
 
1512
- if (isActive) {
1513
- return;
1514
- }
1515
 
1516
- var relatedTarget = {
1517
- relatedTarget: this._element
1518
- };
1519
- var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
1520
- $$$1(parent).trigger(showEvent);
1521
 
1522
- if (showEvent.isDefaultPrevented()) {
1523
- return;
1524
- } // Disable totally Popper.js for Dropdown in Navbar
1525
 
 
 
 
 
 
1526
 
1527
- if (!this._inNavbar) {
1528
- /**
1529
- * Check for Popper dependency
1530
- * Popper - https://popper.js.org
1531
- */
1532
- if (typeof Popper === 'undefined') {
1533
- throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
1534
- }
1535
 
1536
- var element = this._element; // For dropup with alignment we use the parent as popper container
1537
 
1538
- if ($$$1(parent).hasClass(ClassName.DROPUP)) {
1539
- if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
1540
- element = parent;
 
 
 
 
1541
  }
1542
- } // If boundary is not `scrollParent`, then set position to `static`
1543
- // to allow the menu to "escape" the scroll parent's boundaries
1544
- // https://github.com/twbs/bootstrap/issues/24251
1545
-
1546
 
1547
- if (this._config.boundary !== 'scrollParent') {
1548
- $$$1(parent).addClass(ClassName.POSITION_STATIC);
1549
- }
1550
 
1551
- this._popper = new Popper(element, this._menu, this._getPopperConfig());
1552
- } // If this is a touch-enabled device we add extra
1553
- // empty mouseover listeners to the body's immediate children;
1554
- // only needed because of broken event delegation on iOS
1555
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
1556
 
 
 
 
 
 
 
1557
 
1558
- if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
1559
- $$$1('body').children().on('mouseover', null, $$$1.noop);
1560
- }
1561
 
1562
- this._element.focus();
 
 
1563
 
1564
- this._element.setAttribute('aria-expanded', true);
 
 
 
 
1565
 
1566
- $$$1(this._menu).toggleClass(ClassName.SHOW);
1567
- $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
1568
- };
1569
 
1570
- _proto.dispose = function dispose() {
1571
- $$$1.removeData(this._element, DATA_KEY);
1572
- $$$1(this._element).off(EVENT_KEY);
1573
- this._element = null;
1574
- this._menu = null;
1575
 
1576
- if (this._popper !== null) {
1577
- this._popper.destroy();
1578
 
1579
- this._popper = null;
1580
- }
1581
- };
1582
 
1583
- _proto.update = function update() {
1584
- this._inNavbar = this._detectNavbar();
 
1585
 
1586
- if (this._popper !== null) {
1587
- this._popper.scheduleUpdate();
1588
- }
1589
- }; // Private
 
1590
 
 
 
1591
 
1592
- _proto._addEventListeners = function _addEventListeners() {
1593
- var _this = this;
 
1594
 
1595
- $$$1(this._element).on(Event.CLICK, function (event) {
1596
- event.preventDefault();
1597
- event.stopPropagation();
1598
 
1599
- _this.toggle();
1600
- });
1601
- };
 
1602
 
1603
- _proto._getConfig = function _getConfig(config) {
1604
- config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
1605
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
1606
- return config;
1607
- };
1608
 
1609
- _proto._getMenuElement = function _getMenuElement() {
1610
- if (!this._menu) {
1611
- var parent = Dropdown._getParentFromElement(this._element);
1612
 
1613
- this._menu = $$$1(parent).find(Selector.MENU)[0];
1614
- }
 
1615
 
1616
- return this._menu;
1617
- };
 
1618
 
1619
- _proto._getPlacement = function _getPlacement() {
1620
- var $parentDropdown = $$$1(this._element).parent();
1621
- var placement = AttachmentMap.BOTTOM; // Handle dropup
 
 
1622
 
1623
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
1624
- placement = AttachmentMap.TOP;
 
1625
 
1626
- if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
1627
- placement = AttachmentMap.TOPEND;
1628
  }
1629
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
1630
- placement = AttachmentMap.RIGHT;
1631
- } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
1632
- placement = AttachmentMap.LEFT;
1633
- } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
1634
- placement = AttachmentMap.BOTTOMEND;
1635
- }
1636
-
1637
- return placement;
1638
- };
1639
-
1640
- _proto._detectNavbar = function _detectNavbar() {
1641
- return $$$1(this._element).closest('.navbar').length > 0;
1642
- };
1643
 
1644
- _proto._getPopperConfig = function _getPopperConfig() {
1645
- var _this2 = this;
1646
 
1647
- var offsetConf = {};
 
 
1648
 
1649
- if (typeof this._config.offset === 'function') {
1650
- offsetConf.fn = function (data) {
1651
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
1652
- return data;
1653
- };
1654
- } else {
1655
- offsetConf.offset = this._config.offset;
1656
- }
1657
 
1658
- var popperConfig = {
1659
- placement: this._getPlacement(),
1660
- modifiers: {
1661
- offset: offsetConf,
1662
- flip: {
1663
- enabled: this._config.flip
1664
- },
1665
- preventOverflow: {
1666
- boundariesElement: this._config.boundary
1667
  }
 
 
 
 
 
 
1668
  }
 
 
1669
  };
1670
- return popperConfig;
1671
- }; // Static
1672
 
 
 
 
1673
 
1674
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
1675
- return this.each(function () {
1676
- var data = $$$1(this).data(DATA_KEY);
1677
 
1678
- var _config = typeof config === 'object' ? config : null;
1679
 
1680
- if (!data) {
1681
- data = new Dropdown(this, _config);
1682
- $$$1(this).data(DATA_KEY, data);
 
 
 
 
1683
  }
1684
 
1685
- if (typeof config === 'string') {
1686
- if (typeof data[config] === 'undefined') {
1687
- throw new TypeError("No method named \"" + config + "\"");
1688
- }
 
 
 
 
 
 
 
 
 
1689
 
1690
- data[config]();
 
 
 
1691
  }
1692
- });
1693
- };
1694
 
1695
- Dropdown._clearMenus = function _clearMenus(event) {
1696
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
1697
- return;
1698
- }
1699
 
1700
- var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
1701
 
1702
- for (var i = 0; i < toggles.length; i++) {
1703
- var parent = Dropdown._getParentFromElement(toggles[i]);
 
1704
 
1705
- var context = $$$1(toggles[i]).data(DATA_KEY);
1706
- var relatedTarget = {
1707
- relatedTarget: toggles[i]
1708
- };
1709
 
1710
- if (!context) {
1711
- continue;
1712
- }
 
1713
 
1714
- var dropdownMenu = context._menu;
 
 
 
1715
 
1716
- if (!$$$1(parent).hasClass(ClassName.SHOW)) {
1717
- continue;
1718
- }
 
1719
 
1720
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
1721
- continue;
 
1722
  }
1723
 
1724
- var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
1725
- $$$1(parent).trigger(hideEvent);
1726
 
1727
- if (hideEvent.isDefaultPrevented()) {
1728
- continue;
1729
- } // If this is a touch-enabled device we remove the extra
1730
- // empty mouseover listeners we added for iOS support
1731
 
 
 
 
 
1732
 
1733
- if ('ontouchstart' in document.documentElement) {
1734
- $$$1('body').children().off('mouseover', null, $$$1.noop);
1735
- }
1736
 
1737
- toggles[i].setAttribute('aria-expanded', 'false');
1738
- $$$1(dropdownMenu).removeClass(ClassName.SHOW);
1739
- $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
1740
- }
1741
- };
1742
 
1743
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
1744
- var parent;
1745
- var selector = Util.getSelectorFromElement(element);
1746
 
1747
- if (selector) {
1748
- parent = $$$1(selector)[0];
1749
- }
1750
 
1751
- return parent || element.parentNode;
1752
- }; // eslint-disable-next-line complexity
1753
 
 
 
 
 
1754
 
1755
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
1756
- // If not input/textarea:
1757
- // - And not a key in REGEXP_KEYDOWN => not a dropdown command
1758
- // If input/textarea:
1759
- // - If space key => not a dropdown command
1760
- // - If key is other than escape
1761
- // - If key is not up or down => not a dropdown command
1762
- // - If trigger inside the menu => not a dropdown command
1763
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
1764
- return;
1765
- }
1766
 
1767
- event.preventDefault();
1768
- event.stopPropagation();
 
1769
 
1770
- if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
1771
- return;
1772
- }
 
 
 
 
 
 
 
 
 
 
1773
 
1774
- var parent = Dropdown._getParentFromElement(this);
 
1775
 
1776
- var isActive = $$$1(parent).hasClass(ClassName.SHOW);
1777
 
1778
- if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
1779
- if (event.which === ESCAPE_KEYCODE) {
1780
- var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
1781
- $$$1(toggle).trigger('focus');
 
 
 
 
 
 
1782
  }
1783
 
1784
- $$$1(this).trigger('click');
1785
- return;
1786
- }
1787
 
1788
- var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
 
 
1789
 
1790
- if (items.length === 0) {
1791
- return;
1792
- }
1793
 
1794
- var index = items.indexOf(event.target);
1795
 
1796
- if (event.which === ARROW_UP_KEYCODE && index > 0) {
1797
- // Up
1798
- index--;
1799
- }
 
1800
 
1801
- if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
1802
- // Down
1803
- index++;
1804
- }
1805
 
1806
- if (index < 0) {
1807
- index = 0;
1808
- }
1809
 
1810
- items[index].focus();
1811
- };
 
1812
 
1813
- _createClass(Dropdown, null, [{
1814
- key: "VERSION",
1815
- get: function get() {
1816
- return VERSION;
1817
- }
1818
- }, {
1819
- key: "Default",
1820
- get: function get() {
1821
- return Default;
1822
- }
1823
- }, {
1824
- key: "DefaultType",
1825
- get: function get() {
1826
- return DefaultType;
1827
- }
1828
- }]);
1829
- return Dropdown;
1830
- }();
1831
- /**
1832
- * ------------------------------------------------------------------------
1833
- * Data Api implementation
1834
- * ------------------------------------------------------------------------
1835
- */
1836
 
 
 
 
 
1837
 
1838
- $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1839
- event.preventDefault();
1840
- event.stopPropagation();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1841
 
1842
- Dropdown._jQueryInterface.call($$$1(this), 'toggle');
1843
- }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
1844
- e.stopPropagation();
1845
- });
1846
- /**
1847
- * ------------------------------------------------------------------------
1848
- * jQuery
1849
- * ------------------------------------------------------------------------
1850
- */
1851
 
1852
- $$$1.fn[NAME] = Dropdown._jQueryInterface;
1853
- $$$1.fn[NAME].Constructor = Dropdown;
 
 
 
 
 
 
 
 
 
 
 
1854
 
1855
- $$$1.fn[NAME].noConflict = function () {
1856
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1857
- return Dropdown._jQueryInterface;
1858
- };
1859
 
1860
- return Dropdown;
1861
- }($, Popper);
 
 
1862
 
1863
- /**
1864
- * --------------------------------------------------------------------------
1865
- * Bootstrap (v4.0.0): modal.js
1866
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1867
- * --------------------------------------------------------------------------
1868
- */
1869
 
1870
- var Modal = function ($$$1) {
1871
  /**
1872
- * ------------------------------------------------------------------------
1873
- * Constants
1874
- * ------------------------------------------------------------------------
 
1875
  */
1876
- var NAME = 'modal';
1877
- var VERSION = '4.0.0';
1878
- var DATA_KEY = 'bs.modal';
1879
- var EVENT_KEY = "." + DATA_KEY;
1880
- var DATA_API_KEY = '.data-api';
1881
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1882
- var TRANSITION_DURATION = 300;
1883
- var BACKDROP_TRANSITION_DURATION = 150;
1884
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1885
-
1886
- var Default = {
1887
- backdrop: true,
1888
- keyboard: true,
1889
- focus: true,
1890
- show: true
1891
- };
1892
- var DefaultType = {
1893
- backdrop: '(boolean|string)',
1894
- keyboard: 'boolean',
1895
- focus: 'boolean',
1896
- show: 'boolean'
1897
- };
1898
- var Event = {
1899
- HIDE: "hide" + EVENT_KEY,
1900
- HIDDEN: "hidden" + EVENT_KEY,
1901
- SHOW: "show" + EVENT_KEY,
1902
- SHOWN: "shown" + EVENT_KEY,
1903
- FOCUSIN: "focusin" + EVENT_KEY,
1904
- RESIZE: "resize" + EVENT_KEY,
1905
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
1906
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
1907
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
1908
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
1909
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
1910
- };
1911
- var ClassName = {
1912
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
1913
- BACKDROP: 'modal-backdrop',
1914
- OPEN: 'modal-open',
1915
- FADE: 'fade',
1916
- SHOW: 'show'
1917
- };
1918
- var Selector = {
1919
- DIALOG: '.modal-dialog',
1920
- DATA_TOGGLE: '[data-toggle="modal"]',
1921
- DATA_DISMISS: '[data-dismiss="modal"]',
1922
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
1923
- STICKY_CONTENT: '.sticky-top',
1924
- NAVBAR_TOGGLER: '.navbar-toggler'
1925
  /**
1926
  * ------------------------------------------------------------------------
1927
- * Class Definition
1928
  * ------------------------------------------------------------------------
1929
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1930
 
1931
- };
1932
-
1933
- var Modal =
1934
- /*#__PURE__*/
1935
- function () {
1936
- function Modal(element, config) {
1937
- this._config = this._getConfig(config);
1938
- this._element = element;
1939
- this._dialog = $$$1(element).find(Selector.DIALOG)[0];
1940
- this._backdrop = null;
1941
- this._isShown = false;
1942
- this._isBodyOverflowing = false;
1943
- this._ignoreBackdropClick = false;
1944
- this._originalBodyPadding = 0;
1945
- this._scrollbarWidth = 0;
1946
- } // Getters
1947
-
1948
-
1949
- var _proto = Modal.prototype;
1950
-
1951
- // Public
1952
- _proto.toggle = function toggle(relatedTarget) {
1953
- return this._isShown ? this.hide() : this.show(relatedTarget);
1954
  };
1955
 
1956
- _proto.show = function show(relatedTarget) {
1957
- var _this = this;
 
 
 
 
 
 
 
 
 
 
 
1958
 
1959
- if (this._isTransitioning || this._isShown) {
1960
- return;
1961
- }
1962
 
1963
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
1964
- this._isTransitioning = true;
1965
- }
1966
 
1967
- var showEvent = $$$1.Event(Event.SHOW, {
1968
- relatedTarget: relatedTarget
1969
- });
1970
- $$$1(this._element).trigger(showEvent);
1971
 
1972
- if (this._isShown || showEvent.isDefaultPrevented()) {
1973
- return;
1974
- }
 
 
 
 
 
 
 
 
 
 
 
 
1975
 
1976
- this._isShown = true;
 
 
1977
 
1978
- this._checkScrollbar();
1979
 
1980
- this._setScrollbar();
1981
 
1982
- this._adjustDialog();
1983
 
1984
- $$$1(document.body).addClass(ClassName.OPEN);
1985
 
1986
- this._setEscapeEvent();
1987
 
1988
- this._setResizeEvent();
1989
 
1990
- $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
1991
- return _this.hide(event);
1992
- });
1993
- $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
1994
- $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
1995
- if ($$$1(event.target).is(_this._element)) {
1996
- _this._ignoreBackdropClick = true;
1997
- }
 
 
 
1998
  });
1999
- });
2000
 
2001
- this._showBackdrop(function () {
2002
- return _this._showElement(relatedTarget);
2003
- });
2004
- };
2005
 
2006
- _proto.hide = function hide(event) {
2007
- var _this2 = this;
2008
 
2009
- if (event) {
2010
- event.preventDefault();
2011
- }
2012
 
2013
- if (this._isTransitioning || !this._isShown) {
2014
- return;
2015
- }
2016
 
2017
- var hideEvent = $$$1.Event(Event.HIDE);
2018
- $$$1(this._element).trigger(hideEvent);
2019
 
2020
- if (!this._isShown || hideEvent.isDefaultPrevented()) {
2021
- return;
2022
- }
2023
 
2024
- this._isShown = false;
2025
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
2026
 
2027
- if (transition) {
2028
- this._isTransitioning = true;
2029
- }
2030
 
2031
- this._setEscapeEvent();
2032
 
2033
- this._setResizeEvent();
2034
 
2035
- $$$1(document).off(Event.FOCUSIN);
2036
- $$$1(this._element).removeClass(ClassName.SHOW);
2037
- $$$1(this._element).off(Event.CLICK_DISMISS);
2038
- $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
2039
 
2040
- if (transition) {
2041
- $$$1(this._element).one(Util.TRANSITION_END, function (event) {
2042
- return _this2._hideModal(event);
2043
- }).emulateTransitionEnd(TRANSITION_DURATION);
2044
- } else {
2045
- this._hideModal();
2046
- }
2047
- };
 
2048
 
2049
- _proto.dispose = function dispose() {
2050
- $$$1.removeData(this._element, DATA_KEY);
2051
- $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
2052
- this._config = null;
2053
- this._element = null;
2054
- this._dialog = null;
2055
- this._backdrop = null;
2056
- this._isShown = null;
2057
- this._isBodyOverflowing = null;
2058
- this._ignoreBackdropClick = null;
2059
- this._scrollbarWidth = null;
2060
- };
2061
 
2062
- _proto.handleUpdate = function handleUpdate() {
2063
- this._adjustDialog();
2064
- }; // Private
2065
 
2066
 
2067
- _proto._getConfig = function _getConfig(config) {
2068
- config = _extends({}, Default, config);
2069
- Util.typeCheckConfig(NAME, config, DefaultType);
2070
- return config;
2071
- };
1
  /*!
2
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
3
  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
  (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
8
+ typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
9
+ (factory((global.bootstrap = {}),global.jQuery,global.Popper));
10
  }(this, (function (exports,$,Popper) { 'use strict';
11
 
12
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
+ Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
14
 
15
+ function _defineProperties(target, props) {
16
+ for (var i = 0; i < props.length; i++) {
17
+ var descriptor = props[i];
18
+ descriptor.enumerable = descriptor.enumerable || false;
19
+ descriptor.configurable = true;
20
+ if ("value" in descriptor) descriptor.writable = true;
21
+ Object.defineProperty(target, descriptor.key, descriptor);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  }
24
 
25
+ function _createClass(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
 
 
 
 
 
 
 
 
29
  }
30
 
31
+ function _defineProperty(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
  }
42
 
43
+ return obj;
 
 
44
  }
45
 
46
+ function _objectSpread(target) {
47
+ for (var i = 1; i < arguments.length; i++) {
48
+ var source = arguments[i] != null ? arguments[i] : {};
49
+ var ownKeys = Object.keys(source);
50
 
51
+ if (typeof Object.getOwnPropertySymbols === 'function') {
52
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
+ }));
 
 
 
55
  }
 
 
 
 
 
 
 
56
 
57
+ ownKeys.forEach(function (key) {
58
+ _defineProperty(target, key, source[key]);
59
+ });
60
  }
61
+
62
+ return target;
63
  }
64
 
65
+ function _inheritsLoose(subClass, superClass) {
66
+ subClass.prototype = Object.create(superClass.prototype);
67
+ subClass.prototype.constructor = subClass;
68
+ subClass.__proto__ = superClass;
 
69
  }
70
+
71
  /**
72
  * --------------------------------------------------------------------------
73
+ * Bootstrap (v4.1.0): util.js
74
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
75
  * --------------------------------------------------------------------------
76
  */
77
 
78
+ var Util = function ($$$1) {
79
+ /**
80
+ * ------------------------------------------------------------------------
81
+ * Private TransitionEnd Helpers
82
+ * ------------------------------------------------------------------------
83
+ */
84
+ var TRANSITION_END = 'transitionend';
85
+ var MAX_UID = 1000000;
86
+ var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
87
+
88
+ function toType(obj) {
89
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
90
+ }
91
 
92
+ function getSpecialTransitionEndEvent() {
93
+ return {
94
+ bindType: TRANSITION_END,
95
+ delegateType: TRANSITION_END,
96
+ handle: function handle(event) {
97
+ if ($$$1(event.target).is(this)) {
98
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
99
+ }
100
 
101
+ return undefined; // eslint-disable-line no-undefined
102
+ }
103
+ };
104
+ }
105
 
106
+ function transitionEndEmulator(duration) {
107
+ var _this = this;
 
108
 
109
+ var called = false;
110
+ $$$1(this).one(Util.TRANSITION_END, function () {
111
+ called = true;
112
+ });
113
+ setTimeout(function () {
114
+ if (!called) {
115
+ Util.triggerTransitionEnd(_this);
116
+ }
117
+ }, duration);
118
+ return this;
119
+ }
120
 
121
+ function setTransitionEndSupport() {
122
+ $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
123
+ $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
124
+ }
125
+ /**
126
+ * --------------------------------------------------------------------------
127
+ * Public Util Api
128
+ * --------------------------------------------------------------------------
129
+ */
130
 
131
+
132
+ var Util = {
133
+ TRANSITION_END: 'bsTransitionEnd',
134
+ getUID: function getUID(prefix) {
135
+ do {
136
+ // eslint-disable-next-line no-bitwise
137
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
138
+ } while (document.getElementById(prefix));
139
+
140
+ return prefix;
141
+ },
142
+ getSelectorFromElement: function getSelectorFromElement(element) {
143
+ var selector = element.getAttribute('data-target');
144
+
145
+ if (!selector || selector === '#') {
146
+ selector = element.getAttribute('href') || '';
147
+ }
148
+
149
+ try {
150
+ var $selector = $$$1(document).find(selector);
151
+ return $selector.length > 0 ? selector : null;
152
+ } catch (err) {
153
+ return null;
154
+ }
155
+ },
156
+ getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
157
+ if (!element) {
158
+ return 0;
159
+ } // Get transition-duration of the element
160
+
161
+
162
+ var transitionDuration = $$$1(element).css('transition-duration');
163
+ var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
164
+
165
+ if (!floatTransitionDuration) {
166
+ return 0;
167
+ } // If multiple durations are defined, take the first
168
+
169
+
170
+ transitionDuration = transitionDuration.split(',')[0];
171
+ return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
172
+ },
173
+ reflow: function reflow(element) {
174
+ return element.offsetHeight;
175
+ },
176
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
177
+ $$$1(element).trigger(TRANSITION_END);
178
+ },
179
+ // TODO: Remove in v5
180
+ supportsTransitionEnd: function supportsTransitionEnd() {
181
+ return Boolean(TRANSITION_END);
182
+ },
183
+ isElement: function isElement(obj) {
184
+ return (obj[0] || obj).nodeType;
185
+ },
186
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
187
+ for (var property in configTypes) {
188
+ if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
189
+ var expectedTypes = configTypes[property];
190
+ var value = config[property];
191
+ var valueType = value && Util.isElement(value) ? 'element' : toType(value);
192
+
193
+ if (!new RegExp(expectedTypes).test(valueType)) {
194
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
195
+ }
196
  }
197
  }
198
  }
199
+ };
200
+ setTransitionEndSupport();
201
+ return Util;
202
+ }($);
203
+
 
 
 
 
 
 
 
 
 
204
  /**
205
+ * --------------------------------------------------------------------------
206
+ * Bootstrap (v4.1.0): alert.js
207
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
208
+ * --------------------------------------------------------------------------
209
  */
210
+
211
+ var Alert = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  /**
213
  * ------------------------------------------------------------------------
214
+ * Constants
215
  * ------------------------------------------------------------------------
216
  */
217
+ var NAME = 'alert';
218
+ var VERSION = '4.1.0';
219
+ var DATA_KEY = 'bs.alert';
220
+ var EVENT_KEY = "." + DATA_KEY;
221
+ var DATA_API_KEY = '.data-api';
222
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
223
+ var Selector = {
224
+ DISMISS: '[data-dismiss="alert"]'
225
+ };
226
+ var Event = {
227
+ CLOSE: "close" + EVENT_KEY,
228
+ CLOSED: "closed" + EVENT_KEY,
229
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
230
+ };
231
+ var ClassName = {
232
+ ALERT: 'alert',
233
+ FADE: 'fade',
234
+ SHOW: 'show'
235
+ /**
236
+ * ------------------------------------------------------------------------
237
+ * Class Definition
238
+ * ------------------------------------------------------------------------
239
+ */
240
 
241
+ };
242
 
243
+ var Alert =
244
+ /*#__PURE__*/
245
+ function () {
246
+ function Alert(element) {
247
+ this._element = element;
248
+ } // Getters
249
 
250
 
251
+ var _proto = Alert.prototype;
252
 
253
+ // Public
254
+ _proto.close = function close(element) {
255
+ element = element || this._element;
256
 
257
+ var rootElement = this._getRootElement(element);
258
 
259
+ var customEvent = this._triggerCloseEvent(rootElement);
260
 
261
+ if (customEvent.isDefaultPrevented()) {
262
+ return;
263
+ }
264
 
265
+ this._removeElement(rootElement);
266
+ };
267
 
268
+ _proto.dispose = function dispose() {
269
+ $$$1.removeData(this._element, DATA_KEY);
270
+ this._element = null;
271
+ }; // Private
272
 
273
 
274
+ _proto._getRootElement = function _getRootElement(element) {
275
+ var selector = Util.getSelectorFromElement(element);
276
+ var parent = false;
277
 
278
+ if (selector) {
279
+ parent = $$$1(selector)[0];
280
+ }
281
 
282
+ if (!parent) {
283
+ parent = $$$1(element).closest("." + ClassName.ALERT)[0];
284
+ }
285
 
286
+ return parent;
287
+ };
288
 
289
+ _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
290
+ var closeEvent = $$$1.Event(Event.CLOSE);
291
+ $$$1(element).trigger(closeEvent);
292
+ return closeEvent;
293
+ };
294
 
295
+ _proto._removeElement = function _removeElement(element) {
296
+ var _this = this;
297
 
298
+ $$$1(element).removeClass(ClassName.SHOW);
299
 
300
+ if (!$$$1(element).hasClass(ClassName.FADE)) {
301
+ this._destroyElement(element);
302
 
303
+ return;
304
+ }
305
 
306
+ var transitionDuration = Util.getTransitionDurationFromElement(element);
307
+ $$$1(element).one(Util.TRANSITION_END, function (event) {
308
+ return _this._destroyElement(element, event);
309
+ }).emulateTransitionEnd(transitionDuration);
310
+ };
311
 
312
+ _proto._destroyElement = function _destroyElement(element) {
313
+ $$$1(element).detach().trigger(Event.CLOSED).remove();
314
+ }; // Static
315
 
316
 
317
+ Alert._jQueryInterface = function _jQueryInterface(config) {
318
+ return this.each(function () {
319
+ var $element = $$$1(this);
320
+ var data = $element.data(DATA_KEY);
321
 
322
+ if (!data) {
323
+ data = new Alert(this);
324
+ $element.data(DATA_KEY, data);
325
+ }
326
 
327
+ if (config === 'close') {
328
+ data[config](this);
329
+ }
330
+ });
331
+ };
332
 
333
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
334
+ return function (event) {
335
+ if (event) {
336
+ event.preventDefault();
337
+ }
338
 
339
+ alertInstance.close(this);
340
+ };
341
  };
 
342
 
343
+ _createClass(Alert, null, [{
344
+ key: "VERSION",
345
+ get: function get() {
346
+ return VERSION;
347
+ }
348
+ }]);
 
 
 
 
 
 
 
349
 
350
+ return Alert;
351
+ }();
352
+ /**
353
+ * ------------------------------------------------------------------------
354
+ * Data Api implementation
355
+ * ------------------------------------------------------------------------
356
+ */
357
 
 
 
 
 
 
 
358
 
359
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
360
+ /**
361
+ * ------------------------------------------------------------------------
362
+ * jQuery
363
+ * ------------------------------------------------------------------------
364
+ */
365
 
366
+ $$$1.fn[NAME] = Alert._jQueryInterface;
367
+ $$$1.fn[NAME].Constructor = Alert;
 
 
368
 
369
+ $$$1.fn[NAME].noConflict = function () {
370
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
371
+ return Alert._jQueryInterface;
372
+ };
373
 
374
+ return Alert;
375
+ }($);
 
 
 
 
376
 
 
377
  /**
378
+ * --------------------------------------------------------------------------
379
+ * Bootstrap (v4.1.0): button.js
380
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
381
+ * --------------------------------------------------------------------------
382
  */
383
+
384
+ var Button = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  /**
386
  * ------------------------------------------------------------------------
387
+ * Constants
388
  * ------------------------------------------------------------------------
389
  */
390
+ var NAME = 'button';
391
+ var VERSION = '4.1.0';
392
+ var DATA_KEY = 'bs.button';
393
+ var EVENT_KEY = "." + DATA_KEY;
394
+ var DATA_API_KEY = '.data-api';
395
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
396
+ var ClassName = {
397
+ ACTIVE: 'active',
398
+ BUTTON: 'btn',
399
+ FOCUS: 'focus'
400
+ };
401
+ var Selector = {
402
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
403
+ DATA_TOGGLE: '[data-toggle="buttons"]',
404
+ INPUT: 'input',
405
+ ACTIVE: '.active',
406
+ BUTTON: '.btn'
407
+ };
408
+ var Event = {
409
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
410
+ FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
411
+ /**
412
+ * ------------------------------------------------------------------------
413
+ * Class Definition
414
+ * ------------------------------------------------------------------------
415
+ */
416
 
417
+ };
418
 
419
+ var Button =
420
+ /*#__PURE__*/
421
+ function () {
422
+ function Button(element) {
423
+ this._element = element;
424
+ } // Getters
425
 
426
 
427
+ var _proto = Button.prototype;
428
 
429
+ // Public
430
+ _proto.toggle = function toggle() {
431
+ var triggerChangeEvent = true;
432
+ var addAriaPressed = true;
433
+ var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
434
 
435
+ if (rootElement) {
436
+ var input = $$$1(this._element).find(Selector.INPUT)[0];
437
 
438
+ if (input) {
439
+ if (input.type === 'radio') {
440
+ if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
441
+ triggerChangeEvent = false;
442
+ } else {
443
+ var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
444
 
445
+ if (activeElement) {
446
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
447
+ }
448
  }
449
  }
 
450
 
451
+ if (triggerChangeEvent) {
452
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
453
+ return;
454
+ }
455
+
456
+ input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
457
+ $$$1(input).trigger('change');
458
  }
459
 
460
+ input.focus();
461
+ addAriaPressed = false;
462
  }
463
+ }
464
 
465
+ if (addAriaPressed) {
466
+ this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
467
  }
 
468
 
469
+ if (triggerChangeEvent) {
470
+ $$$1(this._element).toggleClass(ClassName.ACTIVE);
471
+ }
472
+ };
473
 
474
+ _proto.dispose = function dispose() {
475
+ $$$1.removeData(this._element, DATA_KEY);
476
+ this._element = null;
477
+ }; // Static
478
 
 
 
 
 
479
 
480
+ Button._jQueryInterface = function _jQueryInterface(config) {
481
+ return this.each(function () {
482
+ var data = $$$1(this).data(DATA_KEY);
483
 
484
+ if (!data) {
485
+ data = new Button(this);
486
+ $$$1(this).data(DATA_KEY, data);
487
+ }
488
 
489
+ if (config === 'toggle') {
490
+ data[config]();
491
+ }
492
+ });
493
+ };
494
 
495
+ _createClass(Button, null, [{
496
+ key: "VERSION",
497
+ get: function get() {
498
+ return VERSION;
499
  }
500
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
501
 
502
+ return Button;
503
+ }();
504
+ /**
505
+ * ------------------------------------------------------------------------
506
+ * Data Api implementation
507
+ * ------------------------------------------------------------------------
508
+ */
509
 
 
 
 
510
 
511
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
512
+ event.preventDefault();
513
+ var button = event.target;
514
 
515
+ if (!$$$1(button).hasClass(ClassName.BUTTON)) {
516
+ button = $$$1(button).closest(Selector.BUTTON);
517
+ }
 
 
 
 
 
 
 
518
 
519
+ Button._jQueryInterface.call($$$1(button), 'toggle');
520
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
521
+ var button = $$$1(event.target).closest(Selector.BUTTON)[0];
522
+ $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
523
+ });
524
+ /**
525
+ * ------------------------------------------------------------------------
526
+ * jQuery
527
+ * ------------------------------------------------------------------------
528
+ */
529
 
530
+ $$$1.fn[NAME] = Button._jQueryInterface;
531
+ $$$1.fn[NAME].Constructor = Button;
 
 
532
 
533
+ $$$1.fn[NAME].noConflict = function () {
534
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
535
+ return Button._jQueryInterface;
536
+ };
537
 
538
+ return Button;
539
+ }($);
 
 
 
 
540
 
 
541
  /**
542
+ * --------------------------------------------------------------------------
543
+ * Bootstrap (v4.1.0): carousel.js
544
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
545
+ * --------------------------------------------------------------------------
546
  */
547
+
548
+ var Carousel = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
549
  /**
550
  * ------------------------------------------------------------------------
551
+ * Constants
552
  * ------------------------------------------------------------------------
553
  */
554
+ var NAME = 'carousel';
555
+ var VERSION = '4.1.0';
556
+ var DATA_KEY = 'bs.carousel';
557
+ var EVENT_KEY = "." + DATA_KEY;
558
+ var DATA_API_KEY = '.data-api';
559
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
560
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
561
+
562
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
563
+
564
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
565
+
566
+ var Default = {
567
+ interval: 5000,
568
+ keyboard: true,
569
+ slide: false,
570
+ pause: 'hover',
571
+ wrap: true
572
+ };
573
+ var DefaultType = {
574
+ interval: '(number|boolean)',
575
+ keyboard: 'boolean',
576
+ slide: '(boolean|string)',
577
+ pause: '(string|boolean)',
578
+ wrap: 'boolean'
579
+ };
580
+ var Direction = {
581
+ NEXT: 'next',
582
+ PREV: 'prev',
583
+ LEFT: 'left',
584
+ RIGHT: 'right'
585
+ };
586
+ var Event = {
587
+ SLIDE: "slide" + EVENT_KEY,
588
+ SLID: "slid" + EVENT_KEY,
589
+ KEYDOWN: "keydown" + EVENT_KEY,
590
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
591
+ MOUSELEAVE: "mouseleave" + EVENT_KEY,
592
+ TOUCHEND: "touchend" + EVENT_KEY,
593
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
594
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
595
+ };
596
+ var ClassName = {
597
+ CAROUSEL: 'carousel',
598
+ ACTIVE: 'active',
599
+ SLIDE: 'slide',
600
+ RIGHT: 'carousel-item-right',
601
+ LEFT: 'carousel-item-left',
602
+ NEXT: 'carousel-item-next',
603
+ PREV: 'carousel-item-prev',
604
+ ITEM: 'carousel-item'
605
+ };
606
+ var Selector = {
607
+ ACTIVE: '.active',
608
+ ACTIVE_ITEM: '.active.carousel-item',
609
+ ITEM: '.carousel-item',
610
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
611
+ INDICATORS: '.carousel-indicators',
612
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
613
+ DATA_RIDE: '[data-ride="carousel"]'
614
+ /**
615
+ * ------------------------------------------------------------------------
616
+ * Class Definition
617
+ * ------------------------------------------------------------------------
618
+ */
619
 
620
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
 
622
+ var Carousel =
623
+ /*#__PURE__*/
624
+ function () {
625
+ function Carousel(element, config) {
626
+ this._items = null;
627
+ this._interval = null;
628
+ this._activeElement = null;
629
+ this._isPaused = false;
630
+ this._isSliding = false;
631
+ this.touchTimeout = null;
632
+ this._config = this._getConfig(config);
633
+ this._element = $$$1(element)[0];
634
+ this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
635
 
636
+ this._addEventListeners();
637
+ } // Getters
638
 
 
 
 
 
 
 
639
 
640
+ var _proto = Carousel.prototype;
 
 
 
 
 
 
641
 
642
+ // Public
643
+ _proto.next = function next() {
644
+ if (!this._isSliding) {
645
+ this._slide(Direction.NEXT);
646
+ }
647
+ };
648
 
649
+ _proto.nextWhenVisible = function nextWhenVisible() {
650
+ // Don't call next when the page isn't visible
651
+ // or the carousel or its parent isn't visible
652
+ if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
653
+ this.next();
654
+ }
655
+ };
656
 
657
+ _proto.prev = function prev() {
658
+ if (!this._isSliding) {
659
+ this._slide(Direction.PREV);
660
+ }
661
+ };
662
 
663
+ _proto.pause = function pause(event) {
664
+ if (!event) {
665
+ this._isPaused = true;
666
+ }
667
 
668
+ if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
669
+ Util.triggerTransitionEnd(this._element);
670
+ this.cycle(true);
671
+ }
672
 
 
673
  clearInterval(this._interval);
674
  this._interval = null;
675
+ };
676
 
677
+ _proto.cycle = function cycle(event) {
678
+ if (!event) {
679
+ this._isPaused = false;
680
+ }
681
 
682
+ if (this._interval) {
683
+ clearInterval(this._interval);
684
+ this._interval = null;
685
+ }
686
+
687
+ if (this._config.interval && !this._isPaused) {
688
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
689
+ }
690
+ };
691
 
692
+ _proto.to = function to(index) {
693
+ var _this = this;
694
 
695
+ this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
696
 
697
+ var activeIndex = this._getItemIndex(this._activeElement);
 
 
698
 
699
+ if (index > this._items.length - 1 || index < 0) {
700
+ return;
701
+ }
 
 
 
702
 
703
+ if (this._isSliding) {
704
+ $$$1(this._element).one(Event.SLID, function () {
705
+ return _this.to(index);
706
+ });
707
+ return;
708
+ }
709
 
710
+ if (activeIndex === index) {
711
+ this.pause();
712
+ this.cycle();
713
+ return;
714
+ }
715
 
716
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
 
717
 
718
+ this._slide(direction, this._items[index]);
719
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
720
 
721
+ _proto.dispose = function dispose() {
722
+ $$$1(this._element).off(EVENT_KEY);
723
+ $$$1.removeData(this._element, DATA_KEY);
724
+ this._items = null;
725
+ this._config = null;
726
+ this._element = null;
727
+ this._interval = null;
728
+ this._isPaused = null;
729
+ this._isSliding = null;
730
+ this._activeElement = null;
731
+ this._indicatorsElement = null;
732
+ }; // Private
733
 
 
 
 
 
 
734
 
735
+ _proto._getConfig = function _getConfig(config) {
736
+ config = _objectSpread({}, Default, config);
737
+ Util.typeCheckConfig(NAME, config, DefaultType);
738
+ return config;
739
+ };
 
740
 
741
+ _proto._addEventListeners = function _addEventListeners() {
742
+ var _this2 = this;
 
 
 
 
 
 
 
 
 
 
 
 
743
 
744
+ if (this._config.keyboard) {
745
+ $$$1(this._element).on(Event.KEYDOWN, function (event) {
746
+ return _this2._keydown(event);
747
  });
748
  }
 
 
749
 
750
+ if (this._config.pause === 'hover') {
751
+ $$$1(this._element).on(Event.MOUSEENTER, function (event) {
752
+ return _this2.pause(event);
753
+ }).on(Event.MOUSELEAVE, function (event) {
754
+ return _this2.cycle(event);
755
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
756
 
757
+ if ('ontouchstart' in document.documentElement) {
758
+ // If it's a touch-enabled device, mouseenter/leave are fired as
759
+ // part of the mouse compatibility events on first tap - the carousel
760
+ // would stop cycling until user tapped out of it;
761
+ // here, we listen for touchend, explicitly pause the carousel
762
+ // (as if it's the second time we tap on it, mouseenter compat event
763
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
764
+ // events to fire) we explicitly restart cycling
765
+ $$$1(this._element).on(Event.TOUCHEND, function () {
766
+ _this2.pause();
767
+
768
+ if (_this2.touchTimeout) {
769
+ clearTimeout(_this2.touchTimeout);
770
+ }
771
 
772
+ _this2.touchTimeout = setTimeout(function (event) {
773
+ return _this2.cycle(event);
774
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
775
+ });
776
+ }
777
+ }
778
+ };
779
 
780
+ _proto._keydown = function _keydown(event) {
781
+ if (/input|textarea/i.test(event.target.tagName)) {
782
+ return;
783
+ }
784
 
785
+ switch (event.which) {
786
+ case ARROW_LEFT_KEYCODE:
787
+ event.preventDefault();
788
+ this.prev();
789
+ break;
790
 
791
+ case ARROW_RIGHT_KEYCODE:
792
+ event.preventDefault();
793
+ this.next();
794
+ break;
795
 
796
+ default:
797
+ }
798
+ };
799
 
800
+ _proto._getItemIndex = function _getItemIndex(element) {
801
+ this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
802
+ return this._items.indexOf(element);
803
+ };
804
 
805
+ _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
806
+ var isNextDirection = direction === Direction.NEXT;
807
+ var isPrevDirection = direction === Direction.PREV;
 
 
 
 
 
 
808
 
809
+ var activeIndex = this._getItemIndex(activeElement);
 
 
810
 
811
+ var lastItemIndex = this._items.length - 1;
812
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
813
 
814
+ if (isGoingToWrap && !this._config.wrap) {
815
+ return activeElement;
816
  }
 
 
817
 
818
+ var delta = direction === Direction.PREV ? -1 : 1;
819
+ var itemIndex = (activeIndex + delta) % this._items.length;
820
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
821
+ };
822
 
823
+ _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
824
+ var targetIndex = this._getItemIndex(relatedTarget);
825
 
826
+ var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
827
 
828
+ var slideEvent = $$$1.Event(Event.SLIDE, {
829
+ relatedTarget: relatedTarget,
830
+ direction: eventDirectionName,
831
+ from: fromIndex,
832
+ to: targetIndex
833
+ });
834
+ $$$1(this._element).trigger(slideEvent);
835
+ return slideEvent;
836
+ };
837
 
838
+ _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
839
+ if (this._indicatorsElement) {
840
+ $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
841
 
842
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
 
 
 
843
 
844
+ if (nextIndicator) {
845
+ $$$1(nextIndicator).addClass(ClassName.ACTIVE);
846
+ }
847
+ }
848
+ };
 
 
 
 
 
 
 
 
 
849
 
850
+ _proto._slide = function _slide(direction, element) {
851
+ var _this3 = this;
852
 
853
+ var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
 
 
854
 
855
+ var activeElementIndex = this._getItemIndex(activeElement);
 
 
 
856
 
857
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
858
 
859
+ var nextElementIndex = this._getItemIndex(nextElement);
 
 
860
 
861
+ var isCycling = Boolean(this._interval);
862
+ var directionalClassName;
863
+ var orderClassName;
864
+ var eventDirectionName;
865
 
866
+ if (direction === Direction.NEXT) {
867
+ directionalClassName = ClassName.LEFT;
868
+ orderClassName = ClassName.NEXT;
869
+ eventDirectionName = Direction.LEFT;
870
+ } else {
871
+ directionalClassName = ClassName.RIGHT;
872
+ orderClassName = ClassName.PREV;
873
+ eventDirectionName = Direction.RIGHT;
874
+ }
875
 
876
+ if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
877
+ this._isSliding = false;
878
+ return;
879
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
880
 
881
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
 
 
 
882
 
883
+ if (slideEvent.isDefaultPrevented()) {
884
+ return;
885
+ }
886
 
887
+ if (!activeElement || !nextElement) {
888
+ // Some weirdness is happening, so we bail
889
+ return;
890
+ }
891
 
892
+ this._isSliding = true;
893
 
894
+ if (isCycling) {
895
+ this.pause();
896
  }
897
 
898
+ this._setActiveIndicatorElement(nextElement);
899
+
900
+ var slidEvent = $$$1.Event(Event.SLID, {
901
+ relatedTarget: nextElement,
902
+ direction: eventDirectionName,
903
+ from: activeElementIndex,
904
+ to: nextElementIndex
905
+ });
906
+
907
+ if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
908
+ $$$1(nextElement).addClass(orderClassName);
909
+ Util.reflow(nextElement);
910
+ $$$1(activeElement).addClass(directionalClassName);
911
+ $$$1(nextElement).addClass(directionalClassName);
912
+ var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
913
+ $$$1(activeElement).one(Util.TRANSITION_END, function () {
914
+ $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
915
+ $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
916
+ _this3._isSliding = false;
917
+ setTimeout(function () {
918
+ return $$$1(_this3._element).trigger(slidEvent);
919
+ }, 0);
920
+ }).emulateTransitionEnd(transitionDuration);
921
+ } else {
922
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
923
+ $$$1(nextElement).addClass(ClassName.ACTIVE);
924
+ this._isSliding = false;
925
+ $$$1(this._element).trigger(slidEvent);
926
+ }
927
 
928
+ if (isCycling) {
929
+ this.cycle();
 
930
  }
931
+ }; // Static
932
+
933
+
934
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
935
+ return this.each(function () {
936
+ var data = $$$1(this).data(DATA_KEY);
937
+
938
+ var _config = _objectSpread({}, Default, $$$1(this).data());
939
+
940
+ if (typeof config === 'object') {
941
+ _config = _objectSpread({}, _config, config);
942
+ }
943
 
944
+ var action = typeof config === 'string' ? config : _config.slide;
945
+
946
+ if (!data) {
947
+ data = new Carousel(this, _config);
948
+ $$$1(this).data(DATA_KEY, data);
949
+ }
950
+
951
+ if (typeof config === 'number') {
952
+ data.to(config);
953
+ } else if (typeof action === 'string') {
954
+ if (typeof data[action] === 'undefined') {
955
+ throw new TypeError("No method named \"" + action + "\"");
956
+ }
957
+
958
+ data[action]();
959
+ } else if (_config.interval) {
960
+ data.pause();
961
+ data.cycle();
962
  }
963
+ });
964
+ };
965
+
966
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
967
+ var selector = Util.getSelectorFromElement(this);
968
 
969
+ if (!selector) {
970
+ return;
 
 
971
  }
 
 
972
 
973
+ var target = $$$1(selector)[0];
 
974
 
975
+ if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
976
+ return;
977
+ }
978
 
979
+ var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
980
 
981
+ var slideIndex = this.getAttribute('data-slide-to');
 
 
982
 
983
+ if (slideIndex) {
984
+ config.interval = false;
985
+ }
986
 
987
+ Carousel._jQueryInterface.call($$$1(target), config);
 
 
988
 
989
+ if (slideIndex) {
990
+ $$$1(target).data(DATA_KEY).to(slideIndex);
991
+ }
992
 
993
+ event.preventDefault();
994
+ };
 
995
 
996
+ _createClass(Carousel, null, [{
997
+ key: "VERSION",
998
+ get: function get() {
999
+ return VERSION;
1000
+ }
1001
+ }, {
1002
+ key: "Default",
1003
+ get: function get() {
1004
+ return Default;
1005
+ }
1006
+ }]);
1007
 
1008
+ return Carousel;
1009
+ }();
1010
+ /**
1011
+ * ------------------------------------------------------------------------
1012
+ * Data Api implementation
1013
+ * ------------------------------------------------------------------------
1014
+ */
 
 
 
 
 
 
 
 
 
 
 
1015
 
1016
 
1017
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
1018
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
1019
+ $$$1(Selector.DATA_RIDE).each(function () {
1020
+ var $carousel = $$$1(this);
1021
 
1022
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
1023
+ });
1024
  });
1025
+ /**
1026
+ * ------------------------------------------------------------------------
1027
+ * jQuery
1028
+ * ------------------------------------------------------------------------
1029
+ */
 
 
 
 
1030
 
1031
+ $$$1.fn[NAME] = Carousel._jQueryInterface;
1032
+ $$$1.fn[NAME].Constructor = Carousel;
 
 
1033
 
1034
+ $$$1.fn[NAME].noConflict = function () {
1035
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1036
+ return Carousel._jQueryInterface;
1037
+ };
1038
 
1039
+ return Carousel;
1040
+ }($);
 
 
 
 
1041
 
 
1042
  /**
1043
+ * --------------------------------------------------------------------------
1044
+ * Bootstrap (v4.1.0): collapse.js
1045
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1046
+ * --------------------------------------------------------------------------
1047
  */
1048
+
1049
+ var Collapse = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1050
  /**
1051
  * ------------------------------------------------------------------------
1052
+ * Constants
1053
  * ------------------------------------------------------------------------
1054
  */
1055
+ var NAME = 'collapse';
1056
+ var VERSION = '4.1.0';
1057
+ var DATA_KEY = 'bs.collapse';
1058
+ var EVENT_KEY = "." + DATA_KEY;
1059
+ var DATA_API_KEY = '.data-api';
1060
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1061
+ var Default = {
1062
+ toggle: true,
1063
+ parent: ''
1064
+ };
1065
+ var DefaultType = {
1066
+ toggle: 'boolean',
1067
+ parent: '(string|element)'
1068
+ };
1069
+ var Event = {
1070
+ SHOW: "show" + EVENT_KEY,
1071
+ SHOWN: "shown" + EVENT_KEY,
1072
+ HIDE: "hide" + EVENT_KEY,
1073
+ HIDDEN: "hidden" + EVENT_KEY,
1074
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
1075
+ };
1076
+ var ClassName = {
1077
+ SHOW: 'show',
1078
+ COLLAPSE: 'collapse',
1079
+ COLLAPSING: 'collapsing',
1080
+ COLLAPSED: 'collapsed'
1081
+ };
1082
+ var Dimension = {
1083
+ WIDTH: 'width',
1084
+ HEIGHT: 'height'
1085
+ };
1086
+ var Selector = {
1087
+ ACTIVES: '.show, .collapsing',
1088
+ DATA_TOGGLE: '[data-toggle="collapse"]'
1089
+ /**
1090
+ * ------------------------------------------------------------------------
1091
+ * Class Definition
1092
+ * ------------------------------------------------------------------------
1093
+ */
1094
 
1095
+ };
1096
 
1097
+ var Collapse =
1098
+ /*#__PURE__*/
1099
+ function () {
1100
+ function Collapse(element, config) {
1101
+ this._isTransitioning = false;
1102
+ this._element = element;
1103
+ this._config = this._getConfig(config);
1104
+ this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1105
+ var tabToggles = $$$1(Selector.DATA_TOGGLE);
1106
 
1107
+ for (var i = 0; i < tabToggles.length; i++) {
1108
+ var elem = tabToggles[i];
1109
+ var selector = Util.getSelectorFromElement(elem);
1110
 
1111
+ if (selector !== null && $$$1(selector).filter(element).length > 0) {
1112
+ this._selector = selector;
1113
 
1114
+ this._triggerArray.push(elem);
1115
+ }
1116
  }
 
1117
 
1118
+ this._parent = this._config.parent ? this._getParent() : null;
1119
 
1120
+ if (!this._config.parent) {
1121
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
1122
+ }
1123
 
1124
+ if (this._config.toggle) {
1125
+ this.toggle();
1126
+ }
1127
+ } // Getters
1128
 
1129
 
1130
+ var _proto = Collapse.prototype;
1131
 
1132
+ // Public
1133
+ _proto.toggle = function toggle() {
1134
+ if ($$$1(this._element).hasClass(ClassName.SHOW)) {
1135
+ this.hide();
1136
+ } else {
1137
+ this.show();
1138
+ }
1139
+ };
1140
 
1141
+ _proto.show = function show() {
1142
+ var _this = this;
1143
 
1144
+ if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
1145
+ return;
1146
+ }
1147
 
1148
+ var actives;
1149
+ var activesData;
1150
 
1151
+ if (this._parent) {
1152
+ actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
1153
 
1154
+ if (actives.length === 0) {
1155
+ actives = null;
1156
+ }
1157
  }
 
1158
 
1159
+ if (actives) {
1160
+ activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
1161
 
1162
+ if (activesData && activesData._isTransitioning) {
1163
+ return;
1164
+ }
1165
  }
 
1166
 
1167
+ var startEvent = $$$1.Event(Event.SHOW);
1168
+ $$$1(this._element).trigger(startEvent);
1169
 
1170
+ if (startEvent.isDefaultPrevented()) {
1171
+ return;
1172
+ }
1173
 
1174
+ if (actives) {
1175
+ Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
1176
 
1177
+ if (!activesData) {
1178
+ $$$1(actives).data(DATA_KEY, null);
1179
+ }
1180
  }
 
 
 
1181
 
1182
+ var dimension = this._getDimension();
 
1183
 
1184
+ $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
1185
+ this._element.style[dimension] = 0;
 
1186
 
1187
+ if (this._triggerArray.length > 0) {
1188
+ $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
1189
+ }
1190
 
1191
+ this.setTransitioning(true);
 
 
1192
 
1193
+ var complete = function complete() {
1194
+ $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
1195
+ _this._element.style[dimension] = '';
1196
 
1197
+ _this.setTransitioning(false);
 
1198
 
1199
+ $$$1(_this._element).trigger(Event.SHOWN);
1200
+ };
 
 
1201
 
1202
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1203
+ var scrollSize = "scroll" + capitalizedDimension;
1204
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1205
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1206
+ this._element.style[dimension] = this._element[scrollSize] + "px";
1207
+ };
1208
 
1209
+ _proto.hide = function hide() {
1210
+ var _this2 = this;
1211
 
1212
+ if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
1213
+ return;
1214
+ }
1215
 
1216
+ var startEvent = $$$1.Event(Event.HIDE);
1217
+ $$$1(this._element).trigger(startEvent);
1218
 
1219
+ if (startEvent.isDefaultPrevented()) {
1220
+ return;
1221
+ }
1222
 
1223
+ var dimension = this._getDimension();
1224
 
1225
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1226
+ Util.reflow(this._element);
1227
+ $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
1228
 
1229
+ if (this._triggerArray.length > 0) {
1230
+ for (var i = 0; i < this._triggerArray.length; i++) {
1231
+ var trigger = this._triggerArray[i];
1232
+ var selector = Util.getSelectorFromElement(trigger);
1233
 
1234
+ if (selector !== null) {
1235
+ var $elem = $$$1(selector);
1236
 
1237
+ if (!$elem.hasClass(ClassName.SHOW)) {
1238
+ $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
1239
+ }
1240
  }
1241
  }
1242
  }
 
 
 
1243
 
1244
+ this.setTransitioning(true);
 
 
 
 
1245
 
1246
+ var complete = function complete() {
1247
+ _this2.setTransitioning(false);
1248
 
1249
+ $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
1250
+ };
 
 
1251
 
1252
+ this._element.style[dimension] = '';
1253
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1254
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1255
+ };
1256
 
1257
+ _proto.setTransitioning = function setTransitioning(isTransitioning) {
1258
+ this._isTransitioning = isTransitioning;
1259
+ };
1260
 
1261
+ _proto.dispose = function dispose() {
1262
+ $$$1.removeData(this._element, DATA_KEY);
1263
+ this._config = null;
1264
+ this._parent = null;
1265
+ this._element = null;
1266
+ this._triggerArray = null;
1267
+ this._isTransitioning = null;
1268
+ }; // Private
1269
 
1270
 
1271
+ _proto._getConfig = function _getConfig(config) {
1272
+ config = _objectSpread({}, Default, config);
1273
+ config.toggle = Boolean(config.toggle); // Coerce string values
1274
 
1275
+ Util.typeCheckConfig(NAME, config, DefaultType);
1276
+ return config;
1277
+ };
1278
 
1279
+ _proto._getDimension = function _getDimension() {
1280
+ var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
1281
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1282
+ };
1283
 
1284
+ _proto._getParent = function _getParent() {
1285
+ var _this3 = this;
1286
 
1287
+ var parent = null;
1288
 
1289
+ if (Util.isElement(this._config.parent)) {
1290
+ parent = this._config.parent; // It's a jQuery object
1291
 
1292
+ if (typeof this._config.parent.jquery !== 'undefined') {
1293
+ parent = this._config.parent[0];
1294
+ }
1295
+ } else {
1296
+ parent = $$$1(this._config.parent)[0];
1297
  }
 
 
 
1298
 
1299
+ var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1300
+ $$$1(parent).find(selector).each(function (i, element) {
1301
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1302
+ });
1303
+ return parent;
1304
+ };
1305
 
1306
+ _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1307
+ if (element) {
1308
+ var isOpen = $$$1(element).hasClass(ClassName.SHOW);
1309
 
1310
+ if (triggerArray.length > 0) {
1311
+ $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1312
+ }
1313
  }
1314
+ }; // Static
 
1315
 
1316
 
1317
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
1318
+ var selector = Util.getSelectorFromElement(element);
1319
+ return selector ? $$$1(selector)[0] : null;
1320
+ };
1321
 
1322
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
1323
+ return this.each(function () {
1324
+ var $this = $$$1(this);
1325
+ var data = $this.data(DATA_KEY);
1326
 
1327
+ var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
1328
 
1329
+ if (!data && _config.toggle && /show|hide/.test(config)) {
1330
+ _config.toggle = false;
1331
+ }
1332
 
1333
+ if (!data) {
1334
+ data = new Collapse(this, _config);
1335
+ $this.data(DATA_KEY, data);
1336
+ }
1337
+
1338
+ if (typeof config === 'string') {
1339
+ if (typeof data[config] === 'undefined') {
1340
+ throw new TypeError("No method named \"" + config + "\"");
1341
+ }
1342
 
1343
+ data[config]();
 
 
1344
  }
1345
+ });
1346
+ };
1347
 
1348
+ _createClass(Collapse, null, [{
1349
+ key: "VERSION",
1350
+ get: function get() {
1351
+ return VERSION;
1352
  }
1353
+ }, {
1354
+ key: "Default",
1355
+ get: function get() {
1356
+ return Default;
1357
+ }
1358
+ }]);
1359
 
1360
+ return Collapse;
1361
+ }();
1362
+ /**
1363
+ * ------------------------------------------------------------------------
1364
+ * Data Api implementation
1365
+ * ------------------------------------------------------------------------
1366
+ */
 
 
 
 
 
 
 
 
 
 
 
1367
 
1368
 
1369
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1370
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1371
+ if (event.currentTarget.tagName === 'A') {
1372
+ event.preventDefault();
1373
+ }
1374
 
1375
+ var $trigger = $$$1(this);
1376
+ var selector = Util.getSelectorFromElement(this);
1377
+ $$$1(selector).each(function () {
1378
+ var $target = $$$1(this);
1379
+ var data = $target.data(DATA_KEY);
1380
+ var config = data ? 'toggle' : $trigger.data();
1381
 
1382
+ Collapse._jQueryInterface.call($target, config);
1383
+ });
1384
  });
1385
+ /**
1386
+ * ------------------------------------------------------------------------
1387
+ * jQuery
1388
+ * ------------------------------------------------------------------------
1389
+ */
 
 
 
 
1390
 
1391
+ $$$1.fn[NAME] = Collapse._jQueryInterface;
1392
+ $$$1.fn[NAME].Constructor = Collapse;
 
 
1393
 
1394
+ $$$1.fn[NAME].noConflict = function () {
1395
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1396
+ return Collapse._jQueryInterface;
1397
+ };
1398
 
1399
+ return Collapse;
1400
+ }($);
 
 
 
 
1401
 
 
1402
  /**
1403
+ * --------------------------------------------------------------------------
1404
+ * Bootstrap (v4.1.0): dropdown.js
1405
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1406
+ * --------------------------------------------------------------------------
1407
  */
1408
+
1409
+ var Dropdown = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1410
  /**
1411
  * ------------------------------------------------------------------------
1412
+ * Constants
1413
  * ------------------------------------------------------------------------
1414
  */
1415
+ var NAME = 'dropdown';
1416
+ var VERSION = '4.1.0';
1417
+ var DATA_KEY = 'bs.dropdown';
1418
+ var EVENT_KEY = "." + DATA_KEY;
1419
+ var DATA_API_KEY = '.data-api';
1420
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1421
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1422
+
1423
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
1424
+
1425
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
1426
+
1427
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
1428
+
1429
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
1430
+
1431
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
1432
+
1433
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
1434
+ var Event = {
1435
+ HIDE: "hide" + EVENT_KEY,
1436
+ HIDDEN: "hidden" + EVENT_KEY,
1437
+ SHOW: "show" + EVENT_KEY,
1438
+ SHOWN: "shown" + EVENT_KEY,
1439
+ CLICK: "click" + EVENT_KEY,
1440
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
1441
+ KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
1442
+ KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
1443
+ };
1444
+ var ClassName = {
1445
+ DISABLED: 'disabled',
1446
+ SHOW: 'show',
1447
+ DROPUP: 'dropup',
1448
+ DROPRIGHT: 'dropright',
1449
+ DROPLEFT: 'dropleft',
1450
+ MENURIGHT: 'dropdown-menu-right',
1451
+ MENULEFT: 'dropdown-menu-left',
1452
+ POSITION_STATIC: 'position-static'
1453
+ };
1454
+ var Selector = {
1455
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
1456
+ FORM_CHILD: '.dropdown form',
1457
+ MENU: '.dropdown-menu',
1458
+ NAVBAR_NAV: '.navbar-nav',
1459
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
1460
+ };
1461
+ var AttachmentMap = {
1462
+ TOP: 'top-start',
1463
+ TOPEND: 'top-end',
1464
+ BOTTOM: 'bottom-start',
1465
+ BOTTOMEND: 'bottom-end',
1466
+ RIGHT: 'right-start',
1467
+ RIGHTEND: 'right-end',
1468
+ LEFT: 'left-start',
1469
+ LEFTEND: 'left-end'
1470
+ };
1471
+ var Default = {
1472
+ offset: 0,
1473
+ flip: true,
1474
+ boundary: 'scrollParent',
1475
+ reference: 'toggle',
1476
+ display: 'dynamic'
1477
+ };
1478
+ var DefaultType = {
1479
+ offset: '(number|string|function)',
1480
+ flip: 'boolean',
1481
+ boundary: '(string|element)',
1482
+ reference: '(string|element)',
1483
+ display: 'string'
1484
+ /**
1485
+ * ------------------------------------------------------------------------
1486
+ * Class Definition
1487
+ * ------------------------------------------------------------------------
1488
+ */
1489
 
1490
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
1491
 
1492
+ var Dropdown =
1493
+ /*#__PURE__*/
1494
+ function () {
1495
+ function Dropdown(element, config) {
1496
+ this._element = element;
1497
+ this._popper = null;
1498
+ this._config = this._getConfig(config);
1499
+ this._menu = this._getMenuElement();
1500
+ this._inNavbar = this._detectNavbar();
1501
 
1502
+ this._addEventListeners();
1503
+ } // Getters
1504
 
 
 
 
 
 
1505
 
1506
+ var _proto = Dropdown.prototype;
1507
 
1508
+ // Public
1509
+ _proto.toggle = function toggle() {
1510
+ if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
1511
+ return;
1512
+ }
1513
 
1514
+ var parent = Dropdown._getParentFromElement(this._element);
1515
 
1516
+ var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
 
 
1517
 
1518
+ Dropdown._clearMenus();
 
 
 
 
1519
 
1520
+ if (isActive) {
1521
+ return;
1522
+ }
1523
 
1524
+ var relatedTarget = {
1525
+ relatedTarget: this._element
1526
+ };
1527
+ var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
1528
+ $$$1(parent).trigger(showEvent);
1529
 
1530
+ if (showEvent.isDefaultPrevented()) {
1531
+ return;
1532
+ } // Disable totally Popper.js for Dropdown in Navbar
 
 
 
 
 
1533
 
 
1534
 
1535
+ if (!this._inNavbar) {
1536
+ /**
1537
+ * Check for Popper dependency
1538
+ * Popper - https://popper.js.org
1539
+ */
1540
+ if (typeof Popper === 'undefined') {
1541
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
1542
  }
 
 
 
 
1543
 
1544
+ var referenceElement = this._element;
 
 
1545
 
1546
+ if (this._config.reference === 'parent') {
1547
+ referenceElement = parent;
1548
+ } else if (Util.isElement(this._config.reference)) {
1549
+ referenceElement = this._config.reference; // Check if it's jQuery element
 
1550
 
1551
+ if (typeof this._config.reference.jquery !== 'undefined') {
1552
+ referenceElement = this._config.reference[0];
1553
+ }
1554
+ } // If boundary is not `scrollParent`, then set position to `static`
1555
+ // to allow the menu to "escape" the scroll parent's boundaries
1556
+ // https://github.com/twbs/bootstrap/issues/24251
1557
 
 
 
 
1558
 
1559
+ if (this._config.boundary !== 'scrollParent') {
1560
+ $$$1(parent).addClass(ClassName.POSITION_STATIC);
1561
+ }
1562
 
1563
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
1564
+ } // If this is a touch-enabled device we add extra
1565
+ // empty mouseover listeners to the body's immediate children;
1566
+ // only needed because of broken event delegation on iOS
1567
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
1568
 
 
 
 
1569
 
1570
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
1571
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
1572
+ }
 
 
1573
 
1574
+ this._element.focus();
 
1575
 
1576
+ this._element.setAttribute('aria-expanded', true);
 
 
1577
 
1578
+ $$$1(this._menu).toggleClass(ClassName.SHOW);
1579
+ $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
1580
+ };
1581
 
1582
+ _proto.dispose = function dispose() {
1583
+ $$$1.removeData(this._element, DATA_KEY);
1584
+ $$$1(this._element).off(EVENT_KEY);
1585
+ this._element = null;
1586
+ this._menu = null;
1587
 
1588
+ if (this._popper !== null) {
1589
+ this._popper.destroy();
1590
 
1591
+ this._popper = null;
1592
+ }
1593
+ };
1594
 
1595
+ _proto.update = function update() {
1596
+ this._inNavbar = this._detectNavbar();
 
1597
 
1598
+ if (this._popper !== null) {
1599
+ this._popper.scheduleUpdate();
1600
+ }
1601
+ }; // Private
1602
 
 
 
 
 
 
1603
 
1604
+ _proto._addEventListeners = function _addEventListeners() {
1605
+ var _this = this;
 
1606
 
1607
+ $$$1(this._element).on(Event.CLICK, function (event) {
1608
+ event.preventDefault();
1609
+ event.stopPropagation();
1610
 
1611
+ _this.toggle();
1612
+ });
1613
+ };
1614
 
1615
+ _proto._getConfig = function _getConfig(config) {
1616
+ config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
1617
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
1618
+ return config;
1619
+ };
1620
 
1621
+ _proto._getMenuElement = function _getMenuElement() {
1622
+ if (!this._menu) {
1623
+ var parent = Dropdown._getParentFromElement(this._element);
1624
 
1625
+ this._menu = $$$1(parent).find(Selector.MENU)[0];
 
1626
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1627
 
1628
+ return this._menu;
1629
+ };
1630
 
1631
+ _proto._getPlacement = function _getPlacement() {
1632
+ var $parentDropdown = $$$1(this._element).parent();
1633
+ var placement = AttachmentMap.BOTTOM; // Handle dropup
1634
 
1635
+ if ($parentDropdown.hasClass(ClassName.DROPUP)) {
1636
+ placement = AttachmentMap.TOP;
 
 
 
 
 
 
1637
 
1638
+ if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
1639
+ placement = AttachmentMap.TOPEND;
 
 
 
 
 
 
 
1640
  }
1641
+ } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
1642
+ placement = AttachmentMap.RIGHT;
1643
+ } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
1644
+ placement = AttachmentMap.LEFT;
1645
+ } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
1646
+ placement = AttachmentMap.BOTTOMEND;
1647
  }
1648
+
1649
+ return placement;
1650
  };
 
 
1651
 
1652
+ _proto._detectNavbar = function _detectNavbar() {
1653
+ return $$$1(this._element).closest('.navbar').length > 0;
1654
+ };
1655
 
1656
+ _proto._getPopperConfig = function _getPopperConfig() {
1657
+ var _this2 = this;
 
1658
 
1659
+ var offsetConf = {};
1660
 
1661
+ if (typeof this._config.offset === 'function') {
1662
+ offsetConf.fn = function (data) {
1663
+ data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
1664
+ return data;
1665
+ };
1666
+ } else {
1667
+ offsetConf.offset = this._config.offset;
1668
  }
1669
 
1670
+ var popperConfig = {
1671
+ placement: this._getPlacement(),
1672
+ modifiers: {
1673
+ offset: offsetConf,
1674
+ flip: {
1675
+ enabled: this._config.flip
1676
+ },
1677
+ preventOverflow: {
1678
+ boundariesElement: this._config.boundary
1679
+ }
1680
+ } // Disable Popper.js if we have a static display
1681
+
1682
+ };
1683
 
1684
+ if (this._config.display === 'static') {
1685
+ popperConfig.modifiers.applyStyle = {
1686
+ enabled: false
1687
+ };
1688
  }
 
 
1689
 
1690
+ return popperConfig;
1691
+ }; // Static
 
 
1692
 
 
1693
 
1694
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
1695
+ return this.each(function () {
1696
+ var data = $$$1(this).data(DATA_KEY);
1697
 
1698
+ var _config = typeof config === 'object' ? config : null;
 
 
 
1699
 
1700
+ if (!data) {
1701
+ data = new Dropdown(this, _config);
1702
+ $$$1(this).data(DATA_KEY, data);
1703
+ }
1704
 
1705
+ if (typeof config === 'string') {
1706
+ if (typeof data[config] === 'undefined') {
1707
+ throw new TypeError("No method named \"" + config + "\"");
1708
+ }
1709
 
1710
+ data[config]();
1711
+ }
1712
+ });
1713
+ };
1714
 
1715
+ Dropdown._clearMenus = function _clearMenus(event) {
1716
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
1717
+ return;
1718
  }
1719
 
1720
+ var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
 
1721
 
1722
+ for (var i = 0; i < toggles.length; i++) {
1723
+ var parent = Dropdown._getParentFromElement(toggles[i]);
 
 
1724
 
1725
+ var context = $$$1(toggles[i]).data(DATA_KEY);
1726
+ var relatedTarget = {
1727
+ relatedTarget: toggles[i]
1728
+ };
1729
 
1730
+ if (!context) {
1731
+ continue;
1732
+ }
1733
 
1734
+ var dropdownMenu = context._menu;
 
 
 
 
1735
 
1736
+ if (!$$$1(parent).hasClass(ClassName.SHOW)) {
1737
+ continue;
1738
+ }
1739
 
1740
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
1741
+ continue;
1742
+ }
1743
 
1744
+ var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
1745
+ $$$1(parent).trigger(hideEvent);
1746
 
1747
+ if (hideEvent.isDefaultPrevented()) {
1748
+ continue;
1749
+ } // If this is a touch-enabled device we remove the extra
1750
+ // empty mouseover listeners we added for iOS support
1751
 
 
 
 
 
 
 
 
 
 
 
 
1752
 
1753
+ if ('ontouchstart' in document.documentElement) {
1754
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
1755
+ }
1756
 
1757
+ toggles[i].setAttribute('aria-expanded', 'false');
1758
+ $$$1(dropdownMenu).removeClass(ClassName.SHOW);
1759
+ $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
1760
+ }
1761
+ };
1762
+
1763
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
1764
+ var parent;
1765
+ var selector = Util.getSelectorFromElement(element);
1766
+
1767
+ if (selector) {
1768
+ parent = $$$1(selector)[0];
1769
+ }
1770
 
1771
+ return parent || element.parentNode;
1772
+ }; // eslint-disable-next-line complexity
1773
 
 
1774
 
1775
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
1776
+ // If not input/textarea:
1777
+ // - And not a key in REGEXP_KEYDOWN => not a dropdown command
1778
+ // If input/textarea:
1779
+ // - If space key => not a dropdown command
1780
+ // - If key is other than escape
1781
+ // - If key is not up or down => not a dropdown command
1782
+ // - If trigger inside the menu => not a dropdown command
1783
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
1784
+ return;
1785
  }
1786
 
1787
+ event.preventDefault();
1788
+ event.stopPropagation();
 
1789
 
1790
+ if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
1791
+ return;
1792
+ }
1793
 
1794
+ var parent = Dropdown._getParentFromElement(this);
 
 
1795
 
1796
+ var isActive = $$$1(parent).hasClass(ClassName.SHOW);
1797
 
1798
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
1799
+ if (event.which === ESCAPE_KEYCODE) {
1800
+ var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
1801
+ $$$1(toggle).trigger('focus');
1802
+ }
1803
 
1804
+ $$$1(this).trigger('click');
1805
+ return;
1806
+ }
 
1807
 
1808
+ var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
 
 
1809
 
1810
+ if (items.length === 0) {
1811
+ return;
1812
+ }
1813
 
1814
+ var index = items.indexOf(event.target);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1815
 
1816
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
1817
+ // Up
1818
+ index--;
1819
+ }
1820
 
1821
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
1822
+ // Down
1823
+ index++;
1824
+ }
1825
+
1826
+ if (index < 0) {
1827
+ index = 0;
1828
+ }
1829
+
1830
+ items[index].focus();
1831
+ };
1832
+
1833
+ _createClass(Dropdown, null, [{
1834
+ key: "VERSION",
1835
+ get: function get() {
1836
+ return VERSION;
1837
+ }
1838
+ }, {
1839
+ key: "Default",
1840
+ get: function get() {
1841
+ return Default;
1842
+ }
1843
+ }, {
1844
+ key: "DefaultType",
1845
+ get: function get() {
1846
+ return DefaultType;
1847
+ }
1848
+ }]);
1849
+
1850
+ return Dropdown;
1851
+ }();
1852
+ /**
1853
+ * ------------------------------------------------------------------------
1854
+ * Data Api implementation
1855
+ * ------------------------------------------------------------------------
1856
+ */
1857
 
 
 
 
 
 
 
 
 
 
1858
 
1859
+ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
1860
+ event.preventDefault();
1861
+ event.stopPropagation();
1862
+
1863
+ Dropdown._jQueryInterface.call($$$1(this), 'toggle');
1864
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
1865
+ e.stopPropagation();
1866
+ });
1867
+ /**
1868
+ * ------------------------------------------------------------------------
1869
+ * jQuery
1870
+ * ------------------------------------------------------------------------
1871
+ */
1872
 
1873
+ $$$1.fn[NAME] = Dropdown._jQueryInterface;
1874
+ $$$1.fn[NAME].Constructor = Dropdown;
 
 
1875
 
1876
+ $$$1.fn[NAME].noConflict = function () {
1877
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
1878
+ return Dropdown._jQueryInterface;
1879
+ };
1880
 
1881
+ return Dropdown;
1882
+ }($, Popper);
 
 
 
 
1883
 
 
1884
  /**
1885
+ * --------------------------------------------------------------------------
1886
+ * Bootstrap (v4.1.0): modal.js
1887
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1888
+ * --------------------------------------------------------------------------
1889
  */
1890
+
1891
+ var Modal = function ($$$1) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1892
  /**
1893
  * ------------------------------------------------------------------------
1894
+ * Constants
1895
  * ------------------------------------------------------------------------
1896
  */
1897
+ var NAME = 'modal';
1898
+ var VERSION = '4.1.0';
1899
+ var DATA_KEY = 'bs.modal';
1900
+ var EVENT_KEY = "." + DATA_KEY;
1901
+ var DATA_API_KEY = '.data-api';
1902
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
1903
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1904
+
1905
+ var Default = {
1906
+ backdrop: true,
1907
+ keyboard: true,
1908
+ focus: true,
1909
+ show: true
1910
+ };
1911
+ var DefaultType = {
1912
+ backdrop: '(boolean|string)',
1913
+ keyboard: 'boolean',
1914
+ focus: 'boolean',
1915
+ show: 'boolean'
1916
+ };
1917
+ var Event = {
1918
+ HIDE: "hide" + EVENT_KEY,
1919
+ HIDDEN: "hidden" + EVENT_KEY,
1920
+ SHOW: "show" + EVENT_KEY,
1921
+ SHOWN: "shown" + EVENT_KEY,
1922
+ FOCUSIN: "focusin" + EVENT_KEY,
1923
+ RESIZE: "resize" + EVENT_KEY,
1924
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
1925
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
1926
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
1927
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
1928
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
1929
+ };
1930
+ var ClassName = {
1931
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
1932
+ BACKDROP: 'modal-backdrop',
1933
+ OPEN: 'modal-open',
1934
+ FADE: 'fade',
1935
+ SHOW: 'show'
1936
+ };
1937
+ var Selector = {
1938
+ DIALOG: '.modal-dialog',
1939
+ DATA_TOGGLE: '[data-toggle="modal"]',
1940
+ DATA_DISMISS: '[data-dismiss="modal"]',
1941
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
1942
+ STICKY_CONTENT: '.sticky-top',
1943
+ NAVBAR_TOGGLER: '.navbar-toggler'
1944
+ /**
1945
+ * ------------------------------------------------------------------------
1946
+ * Class Definition
1947
+ * ------------------------------------------------------------------------
1948
+ */
1949
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1950
  };
1951
 
1952
+ var Modal =
1953
+ /*#__PURE__*/
1954
+ function () {
1955
+ function Modal(element, config) {
1956
+ this._config = this._getConfig(config);
1957
+ this._element = element;
1958
+ this._dialog = $$$1(element).find(Selector.DIALOG)[0];
1959
+ this._backdrop = null;
1960
+ this._isShown = false;
1961
+ this._isBodyOverflowing = false;
1962
+ this._ignoreBackdropClick = false;
1963
+ this._scrollbarWidth = 0;
1964
+ } // Getters
1965
 
 
 
 
1966
 
1967
+ var _proto = Modal.prototype;
 
 
1968
 
1969
+ // Public
1970
+ _proto.toggle = function toggle(relatedTarget) {
1971
+ return this._isShown ? this.hide() : this.show(relatedTarget);
1972
+ };
1973
 
1974
+ _proto.show = function show(relatedTarget) {
1975
+ var _this = this;
1976
+
1977
+ if (this._isTransitioning || this._isShown) {
1978
+ return;
1979
+ }
1980
+
1981
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
1982
+ this._isTransitioning = true;
1983
+ }
1984
+
1985
+ var showEvent = $$$1.Event(Event.SHOW, {
1986
+ relatedTarget: relatedTarget
1987
+ });
1988
+ $$$1(this._element).trigger(showEvent);
1989
 
1990
+ if (this._isShown || showEvent.isDefaultPrevented()) {
1991
+ return;
1992
+ }
1993
 
1994
+ this._isShown = true;
1995
 
1996
+ this._checkScrollbar();
1997
 
1998
+ this._setScrollbar();
1999
 
2000
+ this._adjustDialog();
2001
 
2002
+ $$$1(document.body).addClass(ClassName.OPEN);
2003
 
2004
+ this._setEscapeEvent();
2005
 
2006
+ this._setResizeEvent();
2007
+
2008
+ $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
2009
+ return _this.hide(event);
2010
+ });
2011
+ $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
2012
+ $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
2013
+ if ($$$1(event.target).is(_this._element)) {
2014
+ _this._ignoreBackdropClick = true;
2015
+ }
2016
+ });
2017
  });
 
2018
 
2019
+ this._showBackdrop(function () {
2020
+ return _this._showElement(relatedTarget);
2021
+ });
2022
+ };
2023
 
2024
+ _proto.hide = function hide(event) {
2025
+ var _this2 = this;
2026
 
2027
+ if (event) {
2028
+ event.preventDefault();
2029
+ }
2030
 
2031
+ if (this._isTransitioning || !this._isShown) {
2032
+ return;
2033
+ }
2034
 
2035
+ var hideEvent = $$$1.Event(Event.HIDE);
2036
+ $$$1(this._element).trigger(hideEvent);
2037
 
2038
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
2039
+ return;
2040
+ }
2041
 
2042
+ this._isShown = false;
2043
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
2044
 
2045
+ if (transition) {
2046
+ this._isTransitioning = true;
2047
+ }
2048
 
2049
+ this._setEscapeEvent();
2050
 
2051
+ this._setResizeEvent();
2052
 
2053
+ $$$1(document).off(Event.FOCUSIN);
2054
+ $$$1(this._element).removeClass(ClassName.SHOW);
2055
+ $$$1(this._element).off(Event.CLICK_DISMISS);
2056
+ $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
2057
 
2058
+ if (transition) {
2059
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
2060
+ $$$1(this._element).one(Util.TRANSITION_END, function (event) {
2061
+ return _this2._hideModal(event);
2062
+ }).emulateTransitionEnd(transitionDuration);
2063
+ } else {
2064
+ this._hideModal();
2065
+ }
2066
+ };
2067
 
2068
+ _proto.dispose = function dispose() {
2069
+ $$$1.removeData(this._element, DATA_KEY);
2070
+ $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
2071
+ this._config = null;
2072
+ this._element = null;
2073
+ this._dialog = null;
2074
+ this._backdrop = null;
2075
+ this._isShown = null;
2076
+ this._isBodyOverflowing = null;
2077
+ this._ignoreBackdropClick = null;
2078
+ this._scrollbarWidth = null;
2079
+ };
2080
 
2081
+ _proto.handleUpdate = function handleUpdate() {
2082
+ this._adjustDialog();
2083
+ }; // Private
2084
 
2085
 
2086
+ _proto._getConfig = function _getConfig(config) {
2087
+ config = _objectSpread({}, Default, config);
2088
+ Util.typeCheckConfig(NAME, config, DefaultType);
2089
+ return config;